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

0 投票
2 回答
333 浏览

r - Quantstrat faber_rebal.R 演示错误

我一直在 quantstrat 中进行演示。我在运行 faber_rebal.r 时遇到问题。它失败并出现以下错误:

这是 sessionInfo() 的输出:

当调用私有函数 ruleProc 时,函数 applyStrategy.rebalancing 会出现问题。

我在带有 R 3.0.1 的 Ubuntu 12.04 机器上也遇到了同样的错误。

任何帮助使其工作将不胜感激。

谢谢查尔斯

0 投票
1 回答
200 浏览

r - R 记事本:任何仓位开仓前的 Posn 都会产生错误

我正在尝试使用吸墨纸对交易策略进行回测。经过长时间的搜索,我发现只有在没有交易发生且没有开仓的情况下才会出现错误。在打开任何交易之前,Posn 在 RStudio 的工作区中列为 numeric(0)。之后,它始终为 0 或位置。我的错误在哪里,或者我可以在第一个 if 子句 if(Posn!=0) 中添加什么?因为这 if 会生成带有以下消息的错误:

然后我尝试了这两个输入并得到了这些结果:

这是我的完整代码:

0 投票
1 回答
2731 浏览

r - R:Guy Yollin 的 Quantstrat 示例。指标有必要吗?这些金融工具中存储了什么?

嗨,我正在处理这段代码(这有效且可重现)

由于我想在更复杂的策略上使用它,我有几个问题:

  1. 指标有必要吗?

  2. 与 1 相关:这些 Strategy 对象等实际存储了什么?首先,他直接在 SPY 表中创建列 SMA10m。据我了解,他随后构建了与 SPY 表中已经创建的指标基本相同的指标,以使信号正常工作?所以代码

    参数=列表(列=c(“关闭”,“SMA10”)

访问收盘(显然也存储了?)作为 SMA10,这是我的指标,对吗?如果不需要,有没有办法省略指标?或者指示器只是 SPY 表中的另一列,因为他使用 columns 命令访问它?

0 投票
3 回答
1208 浏览

r - R:Quantstrat 如何为投资组合中的完整股权进行交易?

我还在玩 Guy Yollins quantstrat 的例子。在本例中,当 SPY 穿过其 10 日均线时,他买入 1000 股。由于我们定义了初始权益,是否可以始终购买整个投资组合的数量而不仅仅是 900 股?'all' 对输入不起作用,只是出口..

0 投票
1 回答
270 浏览

r - 最大持仓周期 quantstrat

这是我关于stackoverflow的第一个问题,所以请怜悯我。

我正在使用 Rquantmodquantstrat包来回测交易策略。
不幸的是,我无法弄清楚如何为一个职位实施最长期限。我什么位置,空头或多头,持续时间不超过 5 天。

谢谢

0 投票
1 回答
517 浏览

get - 自定义函数中的 Quantstrat 分析

帮助,为什么这种简单的方法不起作用?

我正在尝试围绕其中一个 quantstrat 演示(bbands)创建一个函数,并将股票代码作为参数传递。我想我正在尝试围绕一段工作代码创建一个函数,并用通过该函数传递的参数替换一个硬编码常量。首先看哪里,这是不同类或环境的问题吗?

下面的可重现代码:

返回的错误是:

建议非常感谢!

0 投票
2 回答
855 浏览

sql - 使用 quantmod 在 R 中自定义新的交易策略

我想为 R 中的股票代码创建一个新的自定义 TA 指标。但我不知道如何将我的 SQL 条件策略转换为 R 自定义函数并将其添加到 R 中的 ChartSeries。

该问题列在以下代码中作为解释。

问题:如何重写下面的代码以使其在 R 中作为函数可用?

0 投票
1 回答
571 浏览

r - R:使用带有吸墨纸的foreach,投资组合已经存在错误

我正在使用吸墨纸包来运行回测,并使用 foreach 来加快速度。我遇到了一个错误,即即使它们应该在函数开始时被删除,blotter 也会找到具有相同名称的投资组合。这是重现错误的示例代码

这是错误

我了解投资组合和帐户对象存储在 .blotter 环境中,但是

  1. foreach 不会在新的 R 会话中生成每个工人,这样就不会有冲突吗?
  2. 为什么没有try(rm("account.Snazzy","portfolio.Snazzy",pos=.blotter),silent=TRUE)工作?
  3. 我怎样才能让 foreach 在这里使用吸墨纸?

如果重要的话,我使用的是 R 3.0.2,在 Windows 上运行 RStudio。我在标签中包含了 quantstrat,因为它们通常一起使用,因此有经验的 quantstrat 用户可能会知道修复方法。谢谢

0 投票
1 回答
813 浏览

r - R Quantstrat 包 add.signal 函数参数(gt、lt、gte、eq 等...)

我有一个简单的问题,但是任何人都可以指出在线文档的方向,该文档解释了“gt,lt,lte,gte”关系参数在包中的add.signal函数中的含义吗?quantstrat

我似乎无法在任何地方找到这些代码。

任何见解或帮助将不胜感激。

0 投票
0 回答
620 浏览

r - quantstrat 包中的简单日内信号处理代码

我是 R 和 的新手quantstrat,因此感谢您的耐心等待。

我注意到网络上的许多 quantstrat 演示/示例文件都提供了使用 TA 规则的很好的示例。

我的问题/TL;DR

如何在不使用任何 TA 的情况下使用开盘价和随后的日内数据在 quantstrat 中构建简单的日内阈值交叉规则?

数据结构

假设该工具是带有股票代码的股票XYZ

XYZ 存储为xts日内 (1 分钟) OHLC 数据的对象。IE:

其中,通过,to.daily()看起来像这样:

我正在尝试构建的贸易

我想测试的(作为一个简单的起点)是:

  1. 当 XYZ在某一天从开盘价上涨超过n 个基点并以收盘价退出时,做空 XYZ 的盈利能力。
  2. 当某天下跌超过n 个基点时买入 XYZ 的盈利能力——同样,在收盘时退出。

示例问题

  1. 2014-05-30以上数据中,开盘价为147.36.
  2. 如果 XYZ 比其开盘价高 > 50 bps,我想做空(即147.34*1.005 = 148.08.148.08现在是我的“上涨”阈值)。
  3. 相反,如果 XYZ 从其开始打印(即147.34*.995 = 146.60)下降 < -50 bps,我想做多。146.60现在是我的“下降”阈值)。
  4. 在这两种情况下,退出都是当天的收盘价。
  5. 理想情况下,我的代码将评估每分钟柱的收盘价是否 <> 信号阈值价格(源自开盘价),然后他们blotter相应地输入交易。
  6. 对让我开始的任何答案感到高兴,但特别是如果您可以展示一些处理订单大小的玩具示例(即,一旦超过阈值,它可能会在预期的回归发生之前将该动作延长一段时间 - 不知道如何获得quantstrat 来处理)

抱歉,如果这太简单了。我已经尝试过使用不同的示例和演示,但似乎不能完全正确,并且希望获得有关如何正确设置此查询的任何帮助