0

我有一个风险回报图和数据框(dfRiskReturn 在下面的 dput 中)。我不想使用雅虎财经下载股票,我已经以另一种方式获得了风险回报数据框。我只想知道现在我有了数据框,如何获得有效前沿。

这是一个旧视频,但它几乎是我想要的。也许我想检查与有效前沿(如果可能的话)的相关性(dput 中的簇列)。只选择彼此不相关的股票或寻找最佳有效边界的东西,我不知道。 https://www.youtube.com/watch?v=zkXIByRwJ-g

我正在阅读 youtube 评论,他们推荐了 fPortfolio 包,但我不知道它是如何工作的。

我还看到最近一个人正在用 python 做这件事,但我想要它在 R 中: https ://www.youtube.com/watch?v=Isutk-wqJfE


输入(dfRiskReturn):

structure(list(Return = c(12, -2, -4.5), Volatility = c(25, 12, 
34), cluster = structure(c(1L, 2L, 2L), .Label = c("1", "2"), class = "factor"), 
    X5 = c("FALSE", "FALSE", "FALSE")), row.names = c("ACWI", 
"TLT", "GLD"), class = "data.frame")

编辑:

我得到了这个问题的答案,但我不知道最佳点的坐标是什么,或者如何获得它。[它在 0.5 左右具有相关性]: https ://quant.stackexchange.com/questions/15178/calculating-the-efficient-frontier-from-expected-returns-and-sd/41182#41182

4

1 回答 1

1

这是一个例子。我使用 PerformanceAnalytics 的 edhec-data 来计算与 fPortfolio 的切线投资组合。

library(fPortfolio)
library(PerformanceAnalytics)

data("edhec")

rets <- edhec

# compute the tangency portfolio
tp <- tangencyPortfolio(as.timeSeries(edhec))

frontier <- portfolioFrontier(as.timeSeries(edhec))
plot(frontier) # select 1 and 3

# get tangency point
> tp@portfolio@portfolio[["targetReturn"]][["mean"]]
[1] 0.004483096
> tp@portfolio@portfolio[["targetRisk"]][["Sigma"]]
[1] 0.006325268

在此处输入图像描述

于 2020-12-28T23:42:43.250 回答