问题标签 [back-testing]
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.
low-latency - 使用 MQL4 反转数组
使用MetaTrader Terminal(MQL4
),我尝试有一个反向数组,我将(前置)项目附加到。
因此,在每个刻度上,myArray[0]
成为“最新”值,之前的值转移到myArray[1]
,依此类推。
但它听起来更难。
我试过这样->
c++ - 如何将 MQL4 代码转换为 C++/Delphi DLL(复盘大师 API)?
我需要创建一个
从MQL4 API
(类 C 语言)
到Forex Tester API
(C++/Delphi DLL
)的自动代码转换器。
有建议可以在 和 的帮助下ANTLR
完成MMVP
。但是,我不知道如何在上述技术的帮助下完成。
谁能告诉我的问题如何解决?
如果您不知道如何使用ANTLR
或MMVP
然后请建议其他技术完成我的任务。
这是一个简单MQL4
程序的示例。
用 C++ API 编写的同一程序的示例。
r - 在 R 中运行 applyStrategy
您好,我正在研究配对交易策略。目前,我正在对在某些假设下找到的任何配对进行回测。为此,我在 R 中使用了“quantstrat”包。我发现很难理解 applyStrategy 函数中到底发生了什么,特别是在我经历了以下情况之后:
我为两对运行了一个演示代码:
其余代码可在此处获得(https://r-forge.r-project.org/scm/viewvc.php/pkg/quantstrat/demo/pair_trade.R?view=markup&root=blotter)
运行“策略”后,我计算累积回报并获得总计 -0.05818081。
现在,如果我接下来要做的是再次运行代码的最后一部分:
然后我得到 -0.9044952 作为累积回报。我知道如果我想再次获得 -0.05818081 回报,那么我需要重新启动投资组合。但是,我正在寻找的是帮助了解跑步的效果
是本评论中解释的两倍。帮助将不胜感激!
csv - 如何将我自己的数据输入 PyAlgoTrade?
但是我不想使用来自yahoo!finance的数据,我想使用自己的但不知道如何解析,CSV
格式为:
我想做类似的事情:
然后yahoofinance.build_feed(instruments, 2008, 2009, ".")
用我的替换CSV
我试过了:
但它会引发属性错误。任何想法如何做到这一点?
r - 按列值计算动态股票收益
我尝试在 R 中测试一种策略,即在牛市吞没信号后以第 x 根柱线购买。如您所见,Bull Eng 之后的栏数是最后一栏。
现在我想根据 testrange.High 列中的第 x 个 Bar 计算动态回报,其中 x 的值由最后一列的值指示。
例如,我想锚定第 1 根柱的开盘价,即 200.000,然后比较第 3 列 ( 200.19
200.17
199.49
199.55
199.73
200.04
) 的最高价,如最后一列所示,从 1 到 6 根柱运行到锚点 (200.000)获取 6 根柱线的回报,然后在下一个位置重新开始,即 19:44:00 进行相同的过程(新锚点 199.97 并从高点运行 7 根柱线进行回报计算)并返回所有回报作为带有条数的列表或向量。
任何帮助是极大的赞赏。提前致谢。
python - 使用数据进行回测
在我收到大量数据的假设场景中,并且通常在收到时按时间顺序排列,有没有办法向前或向后“播放”数据,从而按需重新创建新信息流?我知道,从简单的意义上说,我总是可以有一个脚本(无论输出什么都不重要),它以一个 for 循环开始,该循环接受任意数量的事件或观察并做某事,然后接受更多观察,更新以前的内容输出一个新的结果,依此类推。有没有比简单的 for 循环更可扩展的方法?
基本上,每当我研究这个主题时,我都会很快发现自己进入了高频交易的主题领域,特别是通过对历史数据进行回测的算法效率。虽然我的问题是在更广泛的意义上这样做,我们的观察不需要是股票/期权/未来价格点,但必须适用相同的原则。有没有人有这样的经验,了解如何将这样一个平台构建在一个更可扩展的级别上,而不仅仅是一个带有逻辑的 for 循环?另一个例子是健康数据/声明,随着时间的推移,随着越来越多的声明出现,人们可以前后看到发生了什么。
r - R抛物线SAR和前瞻偏差
我正在使用由 Joshua Ulrich 实现的伟大包中R
的函数来测试这一点。我不确定这是否是抛物线 SAR 的标准行为。如果是的话,我需要一些帮助来实施“未来盲人”SAR。SAR()
TTR
为了简单起见,我将使用短向量和整数值而不是实时序列数据。
我只会在最后一个区间更改一个值,现在的Low - High
范围是 5 - 7,而不是 5 - 6。
我们得到:
抛物线 SAR 的所有历史都被大幅修改是预期的行为吗?如果第 1 行到第 4 行的 SAR 值被第 5 行的不同未来值修改,则会将前瞻偏差引入之前的行。
如果这是抛物线 SAR 的标准行为并且我需要它进行回测,我将不得不为每一行重新计算它,始终掩盖所有未来的数据(行)。
期望的结果是每一行都有抛物线 SAR 值,因为我可以在特定的时间目睹它,而不知道未来。
编辑2016-06-18
user3666197的简化代码示例:
r - 如何在 R 中回测配对交易策略
我正在尝试了解配对交易策略,并且我正在使用这个伪代码来编写我的 R 程序。
我目前正在使用Systematic Investor Toolbox (SIT)
技术分析进行回测,但我不知道如何使用 SIT 进行回测配对交易策略。
当前的问题是如何在 SIT 中模拟交易对的买卖。如果 SIT 无法进行配对交易策略回测,那么我应该如何执行配对交易策略,尤其是进入和退出。我应该使用什么逻辑?
编辑
PerformanceAnalytics
经过一段时间的搜索,我知道我们可以使用;从头开始制作回测器。但在回测之前,我们必须创建信号和返回值。下面是一个示例代码
在上面的代码中,创建信号很容易,但是对于交易对,我应该使用什么逻辑来创建信号并返回该信号?
python - 事件驱动回测引擎速度
我目前正在用 Python 开发一个事件驱动的回测引擎。我想知道高速回测引擎应该有多快,尤其是在 Python 中。现在,我可以重播一年的 1 分钟柱数据大约 10 小时。现在的速度可以接受吗?
我知道 Github 上有一些开源回测引擎,比如 Pipline。我真的不知道它是否是事件驱动的,因为我之前没有玩过它。
任何人都知道一个高质量的事件驱动的回测引擎应该有多快?非常感谢你的帮助。
r - R:运行并行回测
我需要并行运行冗长且计算密集的回测。我的回测平均需要运行 8 个小时,我需要运行 30 个。它们都使用不同的输入调用相同的函数。到目前为止,我能找到的是下面使用 foreach 包的代码。
我的第一个问题更笼统,我想知道上面的包是否是解决我的问题的最佳方法。
我的第二个问题与额外计算能力的使用有关,因为我只能在我的本地机器上并行运行 8 个回测,网上有很多选择,并且希望就最适合 R 的方式提出建议。
感谢您的帮助和时间,