问题标签 [quantstrat]
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 - Quantstrat faber_rebal.R 演示错误
我一直在 quantstrat 中进行演示。我在运行 faber_rebal.r 时遇到问题。它失败并出现以下错误:
这是 sessionInfo() 的输出:
当调用私有函数 ruleProc 时,函数 applyStrategy.rebalancing 会出现问题。
我在带有 R 3.0.1 的 Ubuntu 12.04 机器上也遇到了同样的错误。
任何帮助使其工作将不胜感激。
谢谢查尔斯
r - R 记事本:任何仓位开仓前的 Posn 都会产生错误
我正在尝试使用吸墨纸对交易策略进行回测。经过长时间的搜索,我发现只有在没有交易发生且没有开仓的情况下才会出现错误。在打开任何交易之前,Posn 在 RStudio 的工作区中列为 numeric(0)。之后,它始终为 0 或位置。我的错误在哪里,或者我可以在第一个 if 子句 if(Posn!=0) 中添加什么?因为这 if 会生成带有以下消息的错误:
然后我尝试了这两个输入并得到了这些结果:
这是我的完整代码:
r - R:Guy Yollin 的 Quantstrat 示例。指标有必要吗?这些金融工具中存储了什么?
嗨,我正在处理这段代码(这有效且可重现)
由于我想在更复杂的策略上使用它,我有几个问题:
指标有必要吗?
与 1 相关:这些 Strategy 对象等实际存储了什么?首先,他直接在 SPY 表中创建列 SMA10m。据我了解,他随后构建了与 SPY 表中已经创建的指标基本相同的指标,以使信号正常工作?所以代码
参数=列表(列=c(“关闭”,“SMA10”)
访问收盘(显然也存储了?)作为 SMA10,这是我的指标,对吗?如果不需要,有没有办法省略指标?或者指示器只是 SPY 表中的另一列,因为他使用 columns 命令访问它?
r - R:Quantstrat 如何为投资组合中的完整股权进行交易?
我还在玩 Guy Yollins quantstrat 的例子。在本例中,当 SPY 穿过其 10 日均线时,他买入 1000 股。由于我们定义了初始权益,是否可以始终购买整个投资组合的数量而不仅仅是 900 股?'all' 对输入不起作用,只是出口..
r - 最大持仓周期 quantstrat
这是我关于stackoverflow的第一个问题,所以请怜悯我。
我正在使用 Rquantmod
和quantstrat
包来回测交易策略。
不幸的是,我无法弄清楚如何为一个职位实施最长期限。我什么位置,空头或多头,持续时间不超过 5 天。
谢谢
get - 自定义函数中的 Quantstrat 分析
帮助,为什么这种简单的方法不起作用?
我正在尝试围绕其中一个 quantstrat 演示(bbands)创建一个函数,并将股票代码作为参数传递。我想我正在尝试围绕一段工作代码创建一个函数,并用通过该函数传递的参数替换一个硬编码常量。首先看哪里,这是不同类或环境的问题吗?
下面的可重现代码:
返回的错误是:
建议非常感谢!
sql - 使用 quantmod 在 R 中自定义新的交易策略
我想为 R 中的股票代码创建一个新的自定义 TA 指标。但我不知道如何将我的 SQL 条件策略转换为 R 自定义函数并将其添加到 R 中的 ChartSeries。
该问题列在以下代码中作为解释。
问题:如何重写下面的代码以使其在 R 中作为函数可用?
r - R:使用带有吸墨纸的foreach,投资组合已经存在错误
我正在使用吸墨纸包来运行回测,并使用 foreach 来加快速度。我遇到了一个错误,即即使它们应该在函数开始时被删除,blotter 也会找到具有相同名称的投资组合。这是重现错误的示例代码
这是错误
我了解投资组合和帐户对象存储在 .blotter 环境中,但是
- foreach 不会在新的 R 会话中生成每个工人,这样就不会有冲突吗?
- 为什么没有
try(rm("account.Snazzy","portfolio.Snazzy",pos=.blotter),silent=TRUE)
工作? - 我怎样才能让 foreach 在这里使用吸墨纸?
如果重要的话,我使用的是 R 3.0.2,在 Windows 上运行 RStudio。我在标签中包含了 quantstrat,因为它们通常一起使用,因此有经验的 quantstrat 用户可能会知道修复方法。谢谢
r - R Quantstrat 包 add.signal 函数参数(gt、lt、gte、eq 等...)
我有一个简单的问题,但是任何人都可以指出在线文档的方向,该文档解释了“gt,lt,lte,gte”关系参数在包中的add.signal
函数中的含义吗?quantstrat
我似乎无法在任何地方找到这些代码。
任何见解或帮助将不胜感激。
r - quantstrat 包中的简单日内信号处理代码
我是 R 和 的新手quantstrat
,因此感谢您的耐心等待。
我注意到网络上的许多 quantstrat 演示/示例文件都提供了使用 TA 规则的很好的示例。
我的问题/TL;DR
如何在不使用任何 TA 的情况下使用开盘价和随后的日内数据在 quantstrat 中构建简单的日内阈值交叉规则?
数据结构
假设该工具是带有股票代码的股票XYZ
XYZ 存储为xts
日内 (1 分钟) OHLC 数据的对象。IE:
其中,通过,to.daily()
看起来像这样:
我正在尝试构建的贸易
我想测试的(作为一个简单的起点)是:
- 当 XYZ在某一天从开盘价上涨超过n 个基点并以收盘价退出时,做空 XYZ 的盈利能力。
- 当某天下跌超过n 个基点时买入 XYZ 的盈利能力——同样,在收盘时退出。
示例问题
- 在
2014-05-30
以上数据中,开盘价为147.36
. - 如果 XYZ 比其开盘价高 > 50 bps,我想做空(即
147.34*1.005 = 148.08
.148.08
现在是我的“上涨”阈值)。 - 相反,如果 XYZ 从其开始打印(即
147.34*.995 = 146.60
)下降 < -50 bps,我想做多。146.60
现在是我的“下降”阈值)。 - 在这两种情况下,退出都是当天的收盘价。
- 理想情况下,我的代码将评估每分钟柱的收盘价是否 <> 信号阈值价格(源自开盘价),然后他们
blotter
相应地输入交易。 - 对让我开始的任何答案感到高兴,但特别是如果您可以展示一些处理订单大小的玩具示例(即,一旦超过阈值,它可能会在预期的回归发生之前将该动作延长一段时间 - 不知道如何获得quantstrat 来处理)
抱歉,如果这太简单了。我已经尝试过使用不同的示例和演示,但似乎不能完全正确,并且希望获得有关如何正确设置此查询的任何帮助