Ich muss die Grundstatistik eines Aktienportfolios berechnen: annualisierte Rendite, annualisierte Volatilität ...
Hier ist ein Auszug der Aktienkurse:
> head(df)
Date .SXQR .SXTR .SXNR .SXMR .SXAR .SX3R .SX6R .SXFR .SXOR .SXDR
1 2000-01-03 364.94 223.93 489.04 586.38 306.56 246.81 385.36 403.82 283.78 455.39
2 2000-01-04 345.04 218.90 474.05 566.15 301.13 239.24 374.64 390.41 275.93 434.92
3 2000-01-05 338.22 215.88 464.20 542.29 298.22 239.55 373.26 383.48 272.54 430.05
4 2000-01-06 343.13 218.18 470.82 529.33 300.69 249.75 377.26 383.48 272.47 434.15
5 2000-01-07 349.46 220.10 478.87 531.65 306.50 255.17 381.19 390.23 273.76 447.02
6 2000-01-10 356.20 223.01 484.07 581.82 310.84 252.75 387.74 393.75 278.76 453.80
.SX4R .SXRR .SXER .SXKR .SX7R .SX8R .SXIR .SXPR
1 427.43 498.08 457.57 1016.39 489.65 1070.72 466.36 368.62
2 414.10 476.17 435.72 971.51 471.23 1015.13 450.38 365.89
3 406.33 466.19 436.23 924.57 464.75 949.91 446.67 363.78
4 417.91 464.59 438.26 887.88 461.62 935.48 448.10 370.22
5 428.54 474.40 445.40 918.33 465.41 970.17 456.69 376.62
6 431.81 473.14 440.15 944.22 467.89 1002.93 460.26 373.81
Die Datei ist [hier][1].
Ich habe die Portfolio-Gewichte mit:
w = optimalPortfolio(Sigma = Sigma,control = list(type = 'erc', constraint = 'lo'))
Und die jährliche Rendite der Aktien:
yearly_return <- df %>%
group_by(gr = floor_date(Date, unit = "year")) %>%
summarize_at(vars(-Date, -gr), percent_change2) %>%
ungroup()
# Wir generieren die xts und geben die Spalte mit der Zeitinfo # ISSUE an: Es gibt nas
yearly_return <- xts(yearly_return[,-1], order.by=yearly_return$gr)
So ** Wie berechnet man die jährlichen Renditen eines Portfolios mit den angegebenen Koeffizienten?
Ich habe es versucht:
yearly_return_erc <- yearly_return*w
Error in `*.default`(yearly_return, w) : non-conformable arrays
[1]:
https://docs.google.com/spreadsheets/d/1MExW-r0NNGAlMxlQh_tjOscpm6xBiMsfMKRPQykJgr8/edit?usp=sharing