问题标签 [r-portfolioanalytics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 计算 R 中收益的滚动回撤
XTS 被称为“x”,具有七种货币的每日回报。
我已经使用 PerformanceAnalytics 函数 Drawdowns 来计算和绘制累积下降,这很好。但是,我也想要滚动 60 天的回撤,并尝试了 rollapply 和 apply.rolling 但没有运气。
任何人都可以推荐一个解决方案吗?
rollapply(x, width = 60, FUN = Drawdowns)
数组中的错误(ans, c(len.a%/%d2, d.ans), if (!is.null(names(dn.ans)) || : 'dimnames' [1] 的长度不等于数组程度
apply.rolling(x, width = 60, FUN = SharpeRatio)
rbind(calcs, calc) 中的错误:矩阵的列数必须匹配(参见参数 2)
r - r 中的 optiSolve 包
我试图在 5 个约束条件下最大化投资组合回报:
1.- 一定程度的投资组合风险
2.- 与上面相同,但符号相反(我需要风险正好是那个数字)
3.- 权重之和必须为 1
4.-所有权重必须大于或等于cero
5.- 所有权重最多只能为 1
我正在使用 optiSolve 包,因为我没有找到任何其他允许我编写此问题的包(或者至少我了解如何使用它)。
我这里有三个大问题,第一个是生成的权重向量总和大于 1,第二个问题是我不能在二次约束中声明t(w) %*% varcov_matrix %*% w == 0因为它只允许“<=”,最后我不知道如何设置约束以仅获得正面权重
有人知道如何用前面提到的所有约束来解决这个最大化问题,或者告诉我我做错了什么?我真的很感激,因为结果似乎没有考虑到约束。谢谢!
r - 优化 R(投资组合)中的权重
我在 R 中尝试了几个包,但我真的迷失了应该使用哪个包。我只需要大方向的帮助,我可以自己找到确切的代码。
我正在 R 中尝试投资组合优化。我需要计算权重向量,其中向量中的每个权重代表该股票的百分比。
给定权重,我计算总回报、方差和夏普比率(回报和方差的函数)。
可能存在一些限制,例如总权重应等于 1 (100%),并且可能还有其他一些限制,具体取决于具体情况。
我试图让我的代码变得灵活,以便我可以针对不同的目标进行优化(尽管一次一个)。例如,我可能希望一个模拟中的最小方差或另一个模拟中的最大回报,甚至最大。在其他方面锐化配给。
这在带有求解器包的 excel 中非常简单。一旦我输入了公式,无论我为目标函数选择哪个单元格,它都会根据它计算权重,然后根据这些权重计算其他参数。(例如,如果我基于最小方差进行优化,那么它会计算最小方差的权重,然后根据这些权重计算回报和锐化)。
我想知道如何在 R 中处理它?我在阅读几个 R 包或函数(Lpsolve、Optim、constrOptim、portfoiloAnalytics 等)的文档时迷失了方向,但找不到起点。我的具体问题是
- 对于这种分析,哪个是正确的 R 包?
- 我是否需要为每个可能的目标定义单独的函数,例如方差、返回和锐化并优化这些函数?这有点棘手,因为夏普取决于方差和回报。所以如果我想优化Sharpe函数,那么我需要将它嵌套在variance和return函数中吗?
我只需要一些关于如何开始的想法,我可以试一试。如果我至少得到正确的包和正确的例子来使用,那就太好了。我在网上搜索了很多,但我真的迷路了。
r - R中调用函数的动态解决方案
我正在尝试在 R 中实现“动态”解决方案。首先,我确实为 4 种不同的策略运行了投资组合优化:MV、CVaR、熵池和幼稚。
作为下一步,我想计算一些性能测量值,例如 HHI。
我现在的问题是:我怎样才能简化我的代码?如前所述,我得到了 4 种不同的策略,我检索了 4 个具有相应优化权重的不同数据帧。当然有一个解决方案可以简化这一点。
第一部分即通过
第二部分“comp_HHI”是一个函数,我将相应的权重数据帧交给它。
另一个例子:
使用前面介绍的代码,我计算了各个投资组合(comp_perf --> 函数)的性能,其中包含再平衡频率和用于计算最终财富的起始基金。我想动态实现代码 - 简单地说:最好是单行代码。
如上一行所述,我将动态应用带有 * 符号的代码。换言之,即在不同投资组合类型上具有循环的符号。
我的最后一个问题是关于以下代码:
还有一种方法可以动态实现它吗?
提前谢谢。
r - 有没有一种简单的方法可以用 R 绘制有效边界
我有一个风险回报图和数据框(dfRiskReturn 在下面的 dput 中)。我不想使用雅虎财经下载股票,我已经以另一种方式获得了风险回报数据框。我只想知道现在我有了数据框,如何获得有效前沿。
这是一个旧视频,但它几乎是我想要的。也许我想检查与有效前沿(如果可能的话)的相关性(dput 中的簇列)。只选择彼此不相关的股票或寻找最佳有效边界的东西,我不知道。 https://www.youtube.com/watch?v=zkXIByRwJ-g
我正在阅读 youtube 评论,他们推荐了 fPortfolio 包,但我不知道它是如何工作的。
我还看到最近一个人正在用 python 做这件事,但我想要它在 R 中: https ://www.youtube.com/watch?v=Isutk-wqJfE
输入(dfRiskReturn):
编辑:
我得到了这个问题的答案,但我不知道最佳点的坐标是什么,或者如何获得它。[它在 0.5 左右具有相关性]: https ://quant.stackexchange.com/questions/15178/calculating-the-efficient-frontier-from-expected-returns-and-sd/41182#41182
r - 显示“ROI 中的错误:L_constraint.........”时的错误是什么?
我正在尝试学习投资组合优化。但是,我无法克服这个错误。有人可以告诉我解决这个问题的方法吗?
这是我的代码:
#计算我们投资组合中所有股票的回报
#现在,我们股票组合的加权回报
#现在,开始优化投资组合。为了做到这一点,我们现在将开始向我们的投资组合添加约束和#specifications
#初始化我们的投资组合对象
#现在,传递一些约束
#约束 1
#约束 2
#type "box" 询问为每只股票分配多少资金
#现在,为投资组合添加目标
#现在,我们将不得不使用求解器来基本求解这些权重 #注意,您可以使用不同的求解器。在这种情况下,我们将使用“ROI”,
我在代码的最后一部分遇到了问题。它显示了这个错误:
r - 朴素的投资组合选择规则
我有一个 xts 文件,其中包含 17 个行业投资组合的月度回报。数据如下所示:
我的目标是使用简单的投资组合选择规则进行回测。我不想持有等权重的投资组合,而是想根据以下天真的规则来分配权重:
- 将权重 2/N 分配给具有高于中值历史回报的每项资产
- 如果低于历史回报中值,则分配权重 0
代替等权向量:
这个权重向量非常适合获得投资组合回报。为此,我使用了此功能:
我坚持将加权函数合并到标准回测脚本(tidyquant、PerformanceAnalytics、quantmod)中。在大多数情况下,只能解决优化问题,而不是简单的幼稚规则。
有人知道如何使用简单的投资组合选择规则进行这样的回测吗?
谢谢你的帮助!
r - R中的递归优化()函数会导致错误
我正在尝试使用optim()
R 中的函数来最小化矩阵运算的值。在这种情况下,我试图最小化一组股票的波动性,这些股票的个人回报彼此共变。被最小化的目标函数是calculate_portfolio_variance
。
当我手动调用目标函数时,它会按预期返回一个值:
但是,当我使用该optim()
函数时,它会返回错误:
我不确定原因,但可能与optim()
递归使用allocations
变量的方式有关。我能做些什么来解决这个问题?
编辑:FWIW,其他优化策略有效(差分进化,模拟退火),但我更喜欢使用梯度下降,因为它要快得多
r - 如何使用 R 中的“rusquant”包从investing.com 中抓取信息
我之前发布了一个类似的问题[问题现在已关闭,我将其删除]。从那我开始了解'rusquant'包。我感谢在这里向我介绍包裹“rusquant”的人。我在几次尝试从investing.com 抓取股票数据时尝试了以下代码,但均未成功
现在,getSymbolList 函数起作用了。但是,当我尝试抓取特定股票并遵循https://github.com/arbuzovv/rusquant中的方法时,出现错误。如下:
然后我尝试了 getSymbols.Investing 功能。但我收到以下错误:
请帮帮我。我是编码新手。如果这里发生了什么愚蠢的事情,我深表歉意。提前致谢。
optimization - 解决具有两个约束的投资组合优化
我编写了一个代码来最小化我拥有的总金额,但是我也希望能够为股票分配权重并使它们的份额为整数。
我怎么能那样做?