Analiza 4-składnikowego portfela inwestycyjnego

Wstęp

Projekt przedstawia analizę 4-składnikowego portfela inwestycyjnego, składającego się z 3 inwestycji alternatywnych oraz jednej tradycyjnej. W jego skład wchodzą akcje spółki LPP SA, Bitcoin, REIT oraz złoto. Celem jest analiza efektywności portfela w zależności od udziału poszczególnych inwestycji, tak aby znaleźć najkorzystniejsze proporcje w zależności od preferencji inwestora. Analizowany okres obejmuje czas od 1 czerwca do 31 grudnia 2023r. Dane historyczne użyte w analizie zostały pobrane ze strony stooq.pl.

Opis inwestycji

Tradycyjne

  • Akcje spółki LPP SA - Firma odzieżowa LPP SA znajduje się w zestawieniu WIG 30. W jej skład wchodzi 5 marek, których produkty kupić można w 39 krajach. W roku 22/23 wypracowała 1,1mld zł zysku. Na rynku istnieje od roku 1991. LPP jest notowane na GPW od 2001r., a już w 2014r. pierwszy raz znalazło się w zestawieniu WIG 20.

Alternatywne

  • Bitcoin - cyfrowa waluta oparta na technologii blockchain, której najbardziej rozpoznawalną formą jest skrót BTC. Bitcoin jest zdecentralizowaną walutą, co oznacza, że nie jest kontrolowany przez żadną instytucję, rząd ani bank centralny. Kryptowaluta doświadczyła znacznego wzrostu wartości od swojego powstania w 2009 roku. Obecnie jej wartość to ponad 160 tys. Zł (na dzień 24.01. godz. 18:00).
  • Cousins Properties Incorporated (REIT (Real Estate Investment Trust)) - podmiot, który generuje dochód poprzez tworzenie i posiadanie nieruchomości. Inwestując w REIT, inwestorzy pośrednio inwestują w nieruchomości będące własnością spółki. REIT-y nie posiadają nieruchomości w celu ich odsprzedaży. REIT posiada lub wynajmuje nieruchomości, a tym samym wypłaca inwestorom dochód z czynszu. Nazywa się to dochodem opartym na dywidendach.
  • XAU/USD (Złoto) - metal szlachetny, który od wieków pełni rolę zarówno jako surowiec przemysłowy, jak i aktywo inwestycyjne. Złoto często uważane jest za bezpieczną przystań w trudnych czasach gospodarczych. Inwestorzy często szukają złota jako formy zabezpieczenia przed inflacją, niestabilnością walutową i niepewnością rynkową. Dodanie złota do portfela może pomóc zrównoważyć ryzyko inwestycyjne związane z innymi aktywami, takimi jak akcje czy obligacje.

Pobieranie i przygotowanie danych

sciezka <- "/Users/czare/Desktop/IAprojekt/IEdane.csv"
ror <- read.csv(sciezka, sep = ";", dec = ",")
portfolio4 <- ror[c(1,2,3,4)]

BTC <- portfolio4$BTC
REIT <- portfolio4$REIT
LPP <- portfolio4$LPP
ZLOTO <- portfolio4$ZLOTO

sciezka2 <- "/Users/czare/Desktop/IAprojekt/weights4inv.txt"
weights4 <- read.table(sciezka2, dec = ",", header = TRUE, quote = "\"", stringsAsFactors = FALSE)

w1 <- as.numeric(weights4$W1)
w2 <- as.numeric(weights4$W2)
w3 <- as.numeric(weights4$W3)
w4 <- as.numeric(weights4$W4)

Statystyki opisowe

opisowe <- as.data.frame(summary(portfolio4))
opisowe <- data.frame(stat = c("MIN", "1 kwantyl", "Moda", "Średnia", "3 kwantyl", "MAX"), BTC = c("-0.097000", "-0.007000", "0.000000", "0.002108", "0.011000", "0.076000"), REIT = c("-0.065000", "-0.006000", "0.000000", "0.001014", "0.006000", "0.097000"), LPP = c("-0.055000", "-0.006000", "0.000000", "0.001371", "0.008000", "0.074000"), ZŁOTO = c("-0.0200000", "-0.0020000", "0.000000", "0.0002207", "0.0020000", "0.0310000"))

kable(opisowe,format = "html", caption = "Statystyki opisowe" ) %>%
  kable_styling("striped", "hover", "condensed", full_width = F, position = "left")
Statystyki opisowe
stat BTC REIT LPP ZŁOTO
MIN -0.097000 -0.065000 -0.055000 -0.0200000
1 kwantyl -0.007000 -0.006000 -0.006000 -0.0020000
Moda 0.000000 0.000000 0.000000 0.000000
Średnia 0.002108 0.001014 0.001371 0.0002207
3 kwantyl 0.011000 0.006000 0.008000 0.0020000
MAX 0.076000 0.097000 0.074000 0.0310000

Statystyki opisowe pokazują, że najwyższą średnią stopą zwrotu charakteryzowała się inwestycja w Bitcoin (0.21%). Najniższa wartość wystąpiła również w Bitcoinie, a było to -9,7%.

Mimo, że najwyższa stopa zwrotu pojawiła się w REIT (9,7%), to 75% tych wartości wynosi 0.6% lub mniej.

We wszystkich inwestycjach najczęściej występowała zerowa stopa zwrotu.

Konstruowanie portfela

Obliczanie SD

s1 <- sd(BTC)
s2 <- sd(REIT)
s3 <- sd(LPP)
s4 <- sd(ZLOTO)

Obliczanie korelacji

cor12 <- cor(BTC, REIT)
cor13 <- cor(BTC, LPP)
cor14 <- cor(BTC, ZLOTO)
cor23 <- cor(REIT, LPP)
cor24 <- cor(REIT, ZLOTO)
cor34 <- cor(LPP, ZLOTO)
korelacje <- cor(portfolio4)

kable(korelacje,format = "html", caption = "Korelacje" ) %>%
  kable_styling("striped", "hover", "condensed", full_width = F, position = "left")
Korelacje
BTC REIT LPP ZLOTO
BTC 1.0000000 0.1074059 -0.0571067 -0.0203853
REIT 0.1074059 1.0000000 0.2638401 0.2044104
LPP -0.0571067 0.2638401 1.0000000 0.1476853
ZLOTO -0.0203853 0.2044104 0.1476853 1.0000000

Pomiędzy składnikami skonstruowanego portfela zachodzą ujemne lub słabe dodatnie korelacje (0.0 - 0.3). Oznacza to, że dobrane inwestycje pozwalają na zbudowanie portfela, który będzie minimalizował ryzyko, zachowując wysoką stopę zwrotu.

Obliczanie IP

iportfolio <- mean(BTC)* w1 + mean(REIT)* w2 + mean(LPP)* w3 + mean(ZLOTO)* w4

Obliczanie ryzyka

sdp <- (w1^2 * s1^2 + w2^2 * s2^2 + w3^2 * s3^2 + w4^2 * s4^2 + 2* s1*s2*w1*w2*cor12 
+ 2* s1*s3*w1*w3*cor13 + 2* s1*s4*w1*w4*cor14 + 2* s2*s3*w2*w3*cor23 + 2* s2*s4*w2*w4*cor24 + 2* s3*s4*w3*w4*cor34)^0.5

Obliczanie efektywności

rf <- 0.0
sharp <- (iportfolio-rf)/sdp

Wyniki

data <- as.data.frame(cbind(w1, w2, w3, w4, iportfolio, sdp, sharp))

Portfel o minimalnym ryzyku

min.risk <- subset(data, data$sdp== min(data$sdp))

mi.r <- data.frame(num = c("BTC","REIT", "LPP", "ZŁOTO") ,w = c(min.risk$w1, min.risk$w2, min.risk$w3, min.risk$w4))

ggplot(mi.r, aes(x = "", y = w, fill = num)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar(theta = "y") +
  theme_minimal() +
  scale_fill_brewer(palette = "Set3") + labs(fill = "Składniki portfela") + ggtitle("Portfel o minimalnym ryzyku")

W portfelu o minimalnym ryzyku Bitcoin stanowi 8% udziału inwestycji, REIT 1%, a akcje spółki LPP 5%. Zdecydowanie przeważa w tym przypadku udział złota, który wynosi aż 86%.

Portfel o maksymalnej efektywności

max.effectivness <- subset(data, data$sharp== max(data$sharp))

mx.e <- data.frame(num = c("BTC","REIT", "LPP", "ZŁOTO") ,w = c(max.effectivness$w1, max.effectivness$w2, max.effectivness$w3, max.effectivness$w4))

ggplot(mx.e, aes(x = "", y = w, fill = num)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar(theta = "y") +
  theme_minimal() +
  scale_fill_brewer(palette = "Set3") + labs(fill = "Składniki portfela") + ggtitle("Portfel o maksymalnej efektywności")

Portfel o maksymalnej efektywności charakteryzuje się zdecydowanie równiejszym udziałem wybranych inwestycji. Największy udział posiada w nim Bitcoin- 38%, następnie złoto- 30%, akcje LPP 25%, natomiast REIT jedynie 5%.

Portfele 1-elepmentowe oraz podsumowująca tabela

max.ip <- subset(data, data$iportfolio==max(data$iportfolio))
max.w1 <- subset(data, data$w1==1)
max.w2 <- subset(data, data$w2==1)
max.w3 <- subset(data, data$w3==1)
max.w4 <- subset(data, data$w4==1)

des <- c("Portfel o minimalnym ryzyku", "Portfel o maksymalnej efektywności", "Portfel z najwyższą stopą zwrotu", "Najwyższy udział BTC", "Najwyższy udział REIT", "Najwyższy udział LPP", "Najwyższy udział złota")

results <- cbind(rbind(min.risk, max.effectivness, max.ip, max.w1, max.w2, max.w3, max.w4), des)

kable(results,format = "html", caption = "Interesujące kombinacje portfela" ) %>%
  kable_styling("striped", "hover", "condensed", full_width = F, position = "left")
Interesujące kombinacje portfela
w1 w2 w3 w4 iportfolio sdp sharp des
138317 0.08 0.01 0.05 0.86 0.0004371 0.0056902 0.0768145 Portfel o minimalnym ryzyku
43235 0.38 0.07 0.25 0.30 0.0012809 0.0097145 0.1318584 Portfel o maksymalnej efektywności
1 1.00 0.00 0.00 0.00 0.0021080 0.0204095 0.1032841 Portfel z najwyższą stopą zwrotu
11 1.00 0.00 0.00 0.00 0.0021080 0.0204095 0.1032841 Najwyższy udział BTC
171701 0.00 1.00 0.00 0.00 0.0010141 0.0191633 0.0529181 Najwyższy udział REIT
176751 0.00 0.00 1.00 0.00 0.0013709 0.0198734 0.0689813 Najwyższy udział LPP
176851 0.00 0.00 0.00 1.00 0.0002207 0.0060550 0.0364420 Najwyższy udział złota

Zbiór możliwości inwestycyjnych

Wykres pokazyjący zbiór możliwości inwestycyjnych obrazuje wszystkie możliwe zestawienia analizowanego 4-składnikowego portfela, ze względu na stopę zwrotu i ryzyko. Wyszczególnione i zaznaczone są na nim najbardziej charakterystyczne portfele, takie jak portfel o minimalnym ryzyku, portfel o maksymalnej efektywności oraz jednoelementowe portfele.

plot(sdp, iportfolio, type= "p", col = "grey")

title(main="Zbiór możliwości inwestycyjnych")
points(min.risk$sdp, min.risk$iportfolio, pch=19, col="green")
points(max.effectivness$sdp, max.effectivness$iportfolio, pch=19, col="blue")
points(max.w1$sdp, max.w1$iportfolio, pch=19, col="black")
points(max.w2$sdp, max.w2$iportfolio, pch=19, col="black")
points(max.w3$sdp, max.w3$iportfolio, pch=19, col="black")
points(max.w4$sdp, max.w4$iportfolio, pch=19, col="black")


legend(legend = c("Zbiór możliwości inwestycyjnych", "Portfel o minimalnym ryzyku", "Portfel o maksymalnej efektywności", 
                  "Jednoelementowe portfele"), 
      pch = c(19, 19, 19, 19, 19, 4), 
       col = c("red", "green", "blue", "black"), 
       "topleft", bty = "n", cex = 0.7) 

Granica efektywna w teorii portfela, zgodnie z modelem Markowitza, jest odcinkiem krzywej, reprezentującej zbiór portfeli, dla których nie istnieje inny portfel, który miałby lepsze parametry ryzyka i zwrotu. Oznacza to, że są to portfele, które oferują maksymalny zwrot przy danym poziomie ryzyka lub minimalne ryzyko przy danym poziomie zwrotu. Portfele, które nie znajdują się na granicy efektywnej, są uznawane za zdominowane. W praktyce inwestorzy dążą do budowy portfela na granicy efektywnej, aby osiągnąć optymalną kombinację ryzyka i zwrotu dla swoich preferencji inwestycyjnych.

plot(sdp, iportfolio, type = "p", col = "grey", main = "Zbiór możliwości inwestycyjnych", xlim = c(-0.003, max(sdp)), ylim = c(0, max(iportfolio)))

points(min.risk$sdp, min.risk$iportfolio, pch = 19, col = "green")
points(max.effectivness$sdp, max.effectivness$iportfolio, pch = 19, col = "blue")
points(max.w1$sdp, max.w1$iportfolio, pch = 19, col = "black")
points(max.w2$sdp, max.w2$iportfolio, pch = 19, col = "black")
points(max.w3$sdp, max.w3$iportfolio, pch = 19, col = "black")
points(max.w4$sdp, max.w4$iportfolio, pch = 19, col = "black")

abline(a = 0, b = (max.effectivness$iportfolio - 0) / (max.effectivness$sdp - 0), col = "red", lty = 2)  # CML
text(0, max.effectivness$iportfolio, "CML", pos = 2, col = "red")  # Etykieta CML

abline(a = 0, b = (min.risk$iportfolio - 0) / (min.risk$sdp - 0), col = "green", lty = 2)  # MR
text(0, min.risk$iportfolio, "MR", pos = 2, col = "green")  # Etykieta MR

legend("topleft", 
       legend = c("Zbiór możliwości inwestycyjnych", "Portfel o minimalnym ryzyku", "Portfel o maksymalnej efektywności", "Jednoelementowe portfele"), 
       pch = c(19, 19, 19, 19), 
       col = c("green", "blue", "black", "black"), 
       bty = "n", cex = 0.7)

Podsumowanie

Celem projektu było utworzenei i analiza portfela inwestycyjnego dla wybranych inwestycji. Jedną z inwestycji miały być akcje polskiego przedsiębiorstwa wchodzącego w skład indeksu WIG30. Pozostałe 3 miały należeć do zbioru iwnestycji alternatywnych. Zatem ostatecznie portfel 4-elementowy składał się z akcji LPP, Reit-u Cousine Properties, kryptowaluty BTC oraz kursu Złota. Za pomocą programu R wyliczyliśmy dane, które posłużyły do dalszej analizy oraz utworzenia optymalnych portfeli. Dla portfela charakteryzującego się maksymalną efektywnością stopa zwrotu wyniosła 0,13%, przy ryyzku 0,97%. Efektywnośc mierzona współczynnikiem Sharpa wyniosła 13,19%. Wiekszość kapitału powinna zostać ulokowana w Bitcoina i udział powinien wynosić 38%. Pozostały kapitał powinien zostać rozłożony w 30% w złoto, 25% w akcje LPP oraz najmniejszą cześć powinno stanowić REIT - 7%. Natomaist w portfelu o najmniejszym ryzyku zdecydownaie dominującyą inwestycją w 86% powinno zostać złoto.

Źródła:

  1. Dane:
  1. https://stooq.pl/q/d/?s=btc.v
  2. https://stooq.pl/q/d/?s=lpp
  3. https://stooq.pl/q/d/?s=cuz.us
  4. https://stooq.pl/q/d/?s=xauusd&c=0&d1=20230601&d2=20230605
  1. Materiały z wykładów i laboratoriów z przedmiotu Inwestycje alternatywne – dr inż. Marin Potrykus