问题标签 [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.

0 投票
1 回答
538 浏览

r - 设置投资组合分析框约束时出错

让我们看看我是否可以在您的帮助下解决这个问题。PortfolioAnalytics用于优化投资组合的 R 包似乎有一个错误。很可能是我,但可以肯定的是,我想看看是否有其他人遇到同样的问题并可能找到解决方案。

在为每个资产的最小和最大分配添加约束时,我收到以下错误:

这是所述错误的代码:

10 是正确的资产数量,当我使用以下代码时,代码运行良好:

此外,我通过以下链接使用发布者请求的确切语法:publishers doc

有没有人见过这个问题?

以下是用于投资组合优化的完整代码:

0 投票
1 回答
413 浏览

r - 计算策略的平均回报

场景(使用 quantstrat、blotter 和投资组合分析)

  • 我有 10k 初始股权
  • 我有一个策略,我想回测超过 3000 个符号宇宙(股票)
  • 假设该策略是一个简单的 MA 交叉
  • 每次我获得买入交叉时,我都会购买价值 10k 的股票并在卖出交叉时平仓
  • 出于回测目的,该策略可以在没有任何投资组合限制的情况下进行交易,因此我可能在任何时间点持有 100 多个头寸,因此不应考虑初始权益。

我想知道这个策略在所有交易中的平均回报。

实际上,如果我只有 10k,我一次只能进行一笔交易,但我想从统计上知道平均回报是多少。

然后,我想将此与股票指数基准进行比较。

  • 我是 SUM 还是 MEAN 每个符号的返回流
  • 是投资组合的回报吗,这是否考虑了初始权益?- 我不希望回报是初始权益的百分比或考虑交易品种的交易方式。
0 投票
1 回答
406 浏览

r - R PorftolioAnalytics 中的 optimize.portfolio 仅产生 NA

我正在尝试使用以下代码优化 edhec 数据,但仅将 NA 作为优化权重

opt_maxret 的输出是

任何数据都会发生同样的情况,并且只有在我尝试设置时才会发生type="risk"optimize.portfolio即尝试根据与之相关的风险来优化投资组合。

0 投票
1 回答
1314 浏览

r - 无法在 PortfolioAnalytics 中使用 SharpeRatio 来优化投资组合

我尝试使用 SharpeRatio 的目标函数来优化我的投资组合,但出现以下错误:

我已经搜索过,似乎问题与权重有关,但我找不到解决方法。

下一个代码复制了错误:

已请求,sessionInfo()

0 投票
1 回答
49 浏览

r - PortfolioAnalytics 包中的 chart.Scatter() 已损坏

在 R Studio(v1.0.143、Win7、R-3.4.4、Performance Analytics 1.5.2、quantmod 0.4-12)中运行下面的简短 R 代码会返回以下图表:

在此处输入图像描述

看起来它出了点严重问题。如果这是可重现的,有人可以看看吗?我已经升级到最新版本的 R。

0 投票
1 回答
148 浏览

r - PortfolioAnalytics::SortinoRatio 为正,而年化回报为负。这怎么可能发生?

PortfolioAnalytics 包中的 SortinoRatio() 函数的结果给出了一个负的年化回报,但一个正的 Sortino 比率。Sortino 比率中的分子是年化收益率 - MAR(设置为零),分母始终为正。因此,否定超过肯定应该是否定的。那么,Sortino 比率如何在年化回报为负的情况下为正(因为下行偏差始终为正)?这是一个错误,还是我在这里误解了一些非常基本的东西?这是一个简化的代码来演示:

0 投票
1 回答
573 浏览

r - 如何使用 getSymbols 使用多个代码和不同日期下载多个收盘价?

我有一个包含 2 列的 csv 文件:“日期”和“代码”。每个日期代表在我的个人投资组合中购买“Ticker”的日期。例如,SHOP 是我在 2016-24-03 购买的股票代码。

我想使用 getSymbols 来查找我购买的所有股票的收盘价。这样做之后,我想将这些价格与它们各自的日期和代码添加到数据框中。最终目标是比较股票代码的回报与 SPY 的回报。

我的问题是我无法弄清楚如何使用 getSymbols,因为每个代码的开始日期显然不同。

0 投票
1 回答
489 浏览

r - R 包“性能分析”优化器中的最大资产数量

这只是关于我可以在 r 性能分析优化器函数中使用的最大股票数量的一般问题。

我的代码可以很好地优化任何多达 110 个资产的东西,但任何超过这个值的东西都会产生错误。我找不到任何有关实际资产数量限制的文档。任何帮助表示赞赏。

除上述内容外,我还在下面添加了可重现的代码示例:

0 投票
0 回答
635 浏览

r - 通过使用 R 中的 PortfolioAnalytics 包最大化夏普比率来解决最佳权重

我正在运行这个演示并对以下代码有疑问:

当我运行演示时,我发现它只在数据被切割时才有效R <- edhec[, 1:8]。如果我想使用R <- edhec[, 1:13],最佳权重是 NA ,我会收到以下警告:

在 optimize(f = sharpe_obj_fun, R = R, constraints = constraints, ... :
NA/Inf 替换为最大正值

这个问题的原因是什么?

0 投票
0 回答
545 浏览

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 或无限。”