问题标签 [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.
r - 回测 R 交易的未平仓头寸计数器
开始回测一些交易数据,特别是一个非常基本的均值回归想法,我无法理解如何处理这个概念。
一旦 DifFromFv(与公允价值的偏差)达到 -10 并且随后随着 DifFromFv 扩展 -3 的倍数(-13,-16,- 19等)而每次DifFromFv从上次更改的'posy'恢复+5时'posy'减少1?简而言之,一旦 DifFromFv 达到 10 点并平均每 3 点,我就买入,同时将每个单独的平均值取出以获取 5 点的利润。
例如:
应该注意的是,每个剪辑的止盈始终设置为 -5、-8、-11 等。增量,无论在哪里填充平均值,如 avg #2 的目标利润为 -11.00 而不是 -11.60。这既是为了减少现实填充与数据填充中的误差幅度,而且我很确定应该使这个概念的方法更容易思考。
提前致谢!
statistics - 访问前向测试统计数据
我正在使用该TesterStatistics()
函数(从该OnDeinit()
函数调用)来导出各种策略测试统计值:
这可行,但似乎仅限于简单的回测。
如何导出回测和前测结果?
前向测试的结果显示在单独的选项卡“前向”上。远期周期的开始日期在图表上由一条垂直线标记:
我可以通过编程方式访问这些信息吗?
r - Quantstrat:应用信号错误消息
我想使用 quantstrat 检查策略。该策略将使用自定义指标作为信号。
在初始设置、信号和规则定义之后,我调用了返回以下错误的函数“applySignals”(“信号”部分的最后一行):
我的合并数据(带有时间序列和指标的“xts”)看起来像:[编辑]添加一些“观察到”数据以重现代码
按照下面的代码:
r - 为什么模拟股票收益在 R 中的 pbo(回测过拟合的概率)包中的“pbo”小插图中重新缩放并重新居中?
这是小插图中的相关代码,稍作改动以使其适合此处的页面,并使其易于复制。省略了可视化代码。评论来自小插图作者。
(完整的小插图:https ://cran.r-project.org/web/packages/pbo/vignettes/pbo.html )
这是我很好奇的部分:
为什么要在 for 循环中转换数据,这种重新缩放和重新居中是否需要用真实的回报来完成?或者这只是作者为了让他的模拟回报看起来更像真实的东西而做的事情?
谷歌搜索和通过 stackoverflow 搜索发现了一些关于将波动率缩放到时间的平方根的文章和帖子,但这看起来与我所看到的不太一样。通常它们涉及将一些短期(即每日)波动性度量乘以时间的根,但这并不完全是这样。此外,该包的文档不包括这块重新缩放和重新居中代码。文档:https ://cran.r-project.org/web/packages/pbo/pbo.pdf
所以:
为什么以这种方式转换数据/这种转换的结果是什么?
是否只需要这个模拟数据,还是我需要
类似地转换实际回报?
r - 比较前一天的高点和低点
我正在尝试制作和指标以在我的 quantstrat 回测中使用,但似乎无法弄清楚如何编写它。基本上,我想将 2 天前的高点和低点与 3 天前的 H&L 进行比较。如果第 2 天的 H&L 低于第 3 天,我会将其设为买入信号,否则我会将其设为空头信号。之后,我想制作另一个指标来做同样的事情,但将它提前一个时期,所以昨天的 H&L 低于 2 天前的 H&L,依此类推。
最初我使用的是 donichan 通道,但意识到这不会起作用,因为它会保持相同的值,直到其中一个值创出新高或新低。
我知道这是一个如此简单的问题,我想多了。
python - 为什么 backtrader 在回测时不显示时间?
我正在尝试使用 Backtrader 对策略进行回测,并且在打印每次迭代的日期和时间时遇到问题(时间停留在 23:59:59)。
这是我的数据集的第一行:
控制台上打印的内容:
最后我如何加载我的数据:
有人已经有这个问题了吗?
python - 对逻辑跨行的 for 循环进行矢量化
下表显示了在 中生成信号row 2
然后在 中生成相反信号的策略示例row 5
。
我想优化live
列的计算。
有没有办法在Pandas或Numpy中对这个问题进行矢量化以提高性能,生成与下面的 for 循环示例相同的结果?
r - 回测包R从对象中提取返回
我想根据存储在名为“结果”的 5 维数组中的手册从回测包中提取返回值)
这是回测包:
https://cran.r-project.org/web/packages/backtest/backtest.pdf
一个简单的示例如下所示:
当您运行摘要命令时,它将打印出每个十分位数的返回系列。我想将它们提取到可以用于进一步分析的数据框中。
有人知道,我如何访问返回系列或提取它?
variables - Pine Script 如何在价格高于水平而不是在收盘后触发策略
下面的脚本将触发策略的开盘部分,收盘后的柱。如何更改变量“关闭”,以便在 SMA 14 和 28 交叉的确切点而不是之后的柱线处测试策略?或者那不可能