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

0 投票
1 回答
1881 浏览

pine-script - PineScript:在高于当天最高点的特定时间买入

我正在编写一个回测策略,以在每天高于当天最高点的特定时间买入。

我写了一个 pinescript 策略。见下文。我把它限制在今年八月。这适用于 5m 海图。

我怀疑“stop = high”会导致问题,因为到目前为止高点还没有被定义为当天的高点。

我需要对脚本进行哪些更改才能实现此目的?

0 投票
1 回答
3705 浏览

pine-script - 在交易视图中回测以 Pine Script 编写的策略时,“无数据”错误的原因是什么?

我在 Pine Script 中编写了一个策略,以便在 Trading View 上对其进行回测。它似乎编译没有错误,但在回测时显示“无数据”。我无法弄清楚我的代码有什么问题,我会向您展示。该策略由两个指标组成:支撑和阻力和令人敬畏的振荡器。第一个指标是从另一个脚本复制的,它可以工作(绘图),第二个指标是一个简单的真棒振荡器,显然它可以工作(绘图)。

我添加了一些功能来获得入场信号,这要归功于令人敬畏的振荡器,以及多亏了支撑和阻力位的止盈和止损水平。

问题是,即使脚本没有可识别的错误,它也不会下任何命令。

我尝试播放另一个策略脚本以查看它是否是交易视图问题,但确实另一个公共策略有效。

我唯一修改的是whenif(condition). 没有变化,策略测试器部分仍然出现“无数据”错误。

搜索互联网结果没有答案。

这是我的策略代码。第一个(最长的)部分被复制并且效果很好(支撑和阻力)。在第二部分中,我添加了一个 Awesome Oscillator、函数和代码来执行该策略。

我预计至少会下一些订单,但在回测时没有人出现。我的代码有什么问题?

0 投票
1 回答
105 浏览

r - 如何为样本外回测构建循环函数?

R 中的许多统计库提供了拟合模型的可能性,然后使用优化结果来预测未来一些时期的值。但是,许多人无法对样本外的结果进行回测。

因此,我想构建一个允许我(向前走的方法)的 R 函数:

  1. 使用移动窗口定义训练集(每个循环时间,删除最旧的观察并添加最新的)
  2. 运行优化器从而校准模型
  3. 使用校准后的模型生成 n 步提前预测
  4. 将新预测存储在样本外预测值的向量中(连同预测日期)
  5. 循环 1-4

我尝试了以下方法(x 是样本外集的长度,n 是训练集的固定长度):

但是,矩阵 forc 仅包含循环的第一个和最后一个结果。

任何人都可以在这里发现错误吗?

0 投票
0 回答
173 浏览

r - r中的quantstrat回测

我正在尝试在 R 中使用 quantstrat 来回测简单移动平均线、RSI 策略,但出现错误:

问题似乎是我的订单数量加上现有头寸大于最大头寸。我如何控制我的仓位限制来消除这个错误?

下面是代码。

您的帮助将不胜感激,因为这对我来说是一个非常重要的项目。谢谢

0 投票
1 回答
742 浏览

pine-script - 为什么我的策略没有显示任何数据?

我正在用 pine 脚本编写一个简单的策略,用于在 TradingView 中进行回测。逻辑很简单。如果今天的收盘价低于 52 周低点,则购买价值 10000 卢比的股票。我的代码如下所示:

当针对 NSE:ITC 股票运行时,这不会产生任何数据。我不确定为什么,也没有调试器可用于逐行查看行为。我试图绘制weekly_lc并且效果很好。

更新 1:我将我的整个脚本放在这里,并带有退出条件。

策略测试器屏幕如下所示:

在此处输入图像描述

0 投票
1 回答
688 浏览

python-3.x - 如何为我的回测员实施美元追踪止损?

现在,我的回测器测试了一个策略,即在 0.025% 处获利并在 0.048% 处止损。我正在尝试实施它,仅在超过 27 美元后才激活上方的止盈。努力构建代码,非常感谢帮助,请参阅下面的代码

0 投票
0 回答
171 浏览

python - bt - Python 的灵活回测 - 如何获得每个给定日期的总投资组合价值/结果?

我最近开始使用 bt 进行回测,在查看文档https://pmorissette.github.io/bt/bt.html后,似乎没有办法在每个日期获得总投资组合价值,即使它可以通过调用该.plot()方法很容易地绘制出来。

我可能忽略了我的部分,因为我对此很陌生。如果有人能指出我正确的方向,那就太好了。

0 投票
1 回答
1200 浏览

arima - 回测:哪个更好?滑动窗口还是扩展窗口?

我知道有两种方法可以做回测,滑动窗口和扩展窗口。

在实践中,哪种方法更好?每种方法的优缺点是什么?

在我看来,我猜如果时间序列模式与当前事件更相关,那么滑动方法会更好。

滑动窗口如下图

在此处输入图像描述

展开窗口如下图

在此处输入图像描述

来源:https ://www.kaggle.com/cworsnup/backtesting-cross-validation-for-timeseries/notebook

0 投票
1 回答
627 浏览

pine-script - 'x'天后平仓

我在 pinescript 上有这个基本策略,它根据 2 个移动平均线的交叉进入一个位置。我要做的是:当交叉出现时,进入多头/空头(天气是牛市或熊市交叉),在 3 根蜡烛后退出位置。我已经尝试过使用“barssince”功能,但我不太擅长编码。这是我的策略:

0 投票
1 回答
530 浏览

algorithmic-trading - 如何在 Amibroker 回测期间获得交易的利润百分比

我正在使用 Amibroker v6.3

我想找出在回测期间进行的交易的利润百分比,然后相应地调整卖出标准。当利润低于 10% 时,我想使用这个函数 sell_below10()。当利润>10% 时,使用函数 sell_abv10()。

如何在回测期间检测交易的利润百分比,以便我可以相应地使用正确的卖出功能?

谢谢你。