问题标签 [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 - 设置投资组合分析框约束时出错
让我们看看我是否可以在您的帮助下解决这个问题。PortfolioAnalytics
用于优化投资组合的 R 包似乎有一个错误。很可能是我,但可以肯定的是,我想看看是否有其他人遇到同样的问题并可能找到解决方案。
在为每个资产的最小和最大分配添加约束时,我收到以下错误:
这是所述错误的代码:
10 是正确的资产数量,当我使用以下代码时,代码运行良好:
此外,我通过以下链接使用发布者请求的确切语法:publishers doc
有没有人见过这个问题?
以下是用于投资组合优化的完整代码:
r - 计算策略的平均回报
场景(使用 quantstrat、blotter 和投资组合分析)
- 我有 10k 初始股权
- 我有一个策略,我想回测超过 3000 个符号宇宙(股票)
- 假设该策略是一个简单的 MA 交叉
- 每次我获得买入交叉时,我都会购买价值 10k 的股票并在卖出交叉时平仓
- 出于回测目的,该策略可以在没有任何投资组合限制的情况下进行交易,因此我可能在任何时间点持有 100 多个头寸,因此不应考虑初始权益。
我想知道这个策略在所有交易中的平均回报。
实际上,如果我只有 10k,我一次只能进行一笔交易,但我想从统计上知道平均回报是多少。
然后,我想将此与股票指数基准进行比较。
- 我是 SUM 还是 MEAN 每个符号的返回流
- 是投资组合的回报吗,这是否考虑了初始权益?- 我不希望回报是初始权益的百分比或考虑交易品种的交易方式。
r - R PorftolioAnalytics 中的 optimize.portfolio 仅产生 NA
我正在尝试使用以下代码优化 edhec 数据,但仅将 NA 作为优化权重
opt_maxret 的输出是
任何数据都会发生同样的情况,并且只有在我尝试设置时才会发生type="risk"
,optimize.portfolio
即尝试根据与之相关的风险来优化投资组合。
r - 无法在 PortfolioAnalytics 中使用 SharpeRatio 来优化投资组合
我尝试使用 SharpeRatio 的目标函数来优化我的投资组合,但出现以下错误:
我已经搜索过,似乎问题与权重有关,但我找不到解决方法。
下一个代码复制了错误:
已请求,sessionInfo()
r - PortfolioAnalytics::SortinoRatio 为正,而年化回报为负。这怎么可能发生?
PortfolioAnalytics 包中的 SortinoRatio() 函数的结果给出了一个负的年化回报,但一个正的 Sortino 比率。Sortino 比率中的分子是年化收益率 - MAR(设置为零),分母始终为正。因此,否定超过肯定应该是否定的。那么,Sortino 比率如何在年化回报为负的情况下为正(因为下行偏差始终为正)?这是一个错误,还是我在这里误解了一些非常基本的东西?这是一个简化的代码来演示:
r - 如何使用 getSymbols 使用多个代码和不同日期下载多个收盘价?
我有一个包含 2 列的 csv 文件:“日期”和“代码”。每个日期代表在我的个人投资组合中购买“Ticker”的日期。例如,SHOP 是我在 2016-24-03 购买的股票代码。
我想使用 getSymbols 来查找我购买的所有股票的收盘价。这样做之后,我想将这些价格与它们各自的日期和代码添加到数据框中。最终目标是比较股票代码的回报与 SPY 的回报。
我的问题是我无法弄清楚如何使用 getSymbols,因为每个代码的开始日期显然不同。
r - R 包“性能分析”优化器中的最大资产数量
这只是关于我可以在 r 性能分析优化器函数中使用的最大股票数量的一般问题。
我的代码可以很好地优化任何多达 110 个资产的东西,但任何超过这个值的东西都会产生错误。我找不到任何有关实际资产数量限制的文档。任何帮助表示赞赏。
除上述内容外,我还在下面添加了可重现的代码示例:
r - 通过使用 R 中的 PortfolioAnalytics 包最大化夏普比率来解决最佳权重
我正在运行这个演示并对以下代码有疑问:
当我运行演示时,我发现它只在数据被切割时才有效R <- edhec[, 1:8]
。如果我想使用R <- edhec[, 1:13]
,最佳权重是 NA ,我会收到以下警告:
在 optimize(f = sharpe_obj_fun, R = R, constraints = constraints, ... :
NA/Inf 替换为最大正值
这个问题的原因是什么?
r - R 中的 PortfolioAnalytics - optimize.portfolio() 结果为 NaN 的年化回报
我正在学习如何PortfolioAnalytics
在 R 中使用包来重新平衡每个季度的投资组合。我使用 package 收集了美国和中国 19 只大盘股的数据qmao
,然后计算了季度回报率。一切正常,直到我调用该函数optimize.portfolio.rebalancing()
。它不断给我以下错误消息,NaN
结果是Annualized Portfolio Rebalancing Return
:
VaR计算产生不可靠的结果(风险超过100%):1:1.12020244277128 ES计算产生不可靠的结果(风险超过100%):1:1.14791543855955 VaR计算产生不可靠的结果(风险超过100%):1: 1.13372707060527 ES 计算为列产生不可靠的结果(风险超过 100%):1:1.14960946412769
复制的完整代码
我的问题:
(1) 在我看来,我们也不知道哪些给定的约束和目标会导致可行的解决方案(例如,我们可以有10
约束、2
简单的目标(最小化风险,并在给定一定风险水平的情况下最大化回报) ,然后结果是NaN
分配给19
上述股票的权重)。那么我们如何确定添加哪个约束以使其可行呢?
(2)如果我想每季度绘制一次有效边界,我该怎么做?我尝试这样做,meanSigma.ef = create.EfficientFrontier(R=pfMthRets, portfolio=portf.dn, type="mean-StdDev", n.portfolios = 25)
但我不断收到错误消息“seq.default 中的错误(来自 = minret,to = maxret,length.out = n.portfolios):'from' 不能是 NA、NaN 或无限。”