问题标签 [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 回答
628 浏览

r - 头寸规模

我目前设置了回测,以便它将投资我当前股权的 25%。这导致的问题是,当我的资本开始增长时,该策略开始进行大量交易。

我如何指定它确实投资 Equiuty*0.25 但最多只能达到 1000 份合约的限制?

以下是我的代码的相关部分。

感谢您的任何帮助。这让我沮丧了几个星期。

这就是我目前的规则,但我收到一条错误消息,提示“未找到单元尺寸”

在尝试更改之前我的原始规则(当它有效但占据大量职位时)

0 投票
1 回答
241 浏览

f# - F# 数据提要抽象

我正在尝试学习 F#,并想创建一个平台来测试交易策略。通常,每次更新书中的刻度时,代理 API 都会广播 C# 事件。侦听 C# 事件并对这些事件做出反应的正确功能方式是什么?是否有一种既定的方法可以从分派滴答声的方式中抽象出实现,从而能够使用相同的代码在线(从事件)和离线(从数据库和/或文件)测试?

对已建立的技术和功能设计有任何参考吗?

提前致谢

0 投票
2 回答
501 浏览

r - 回测 r 中移动平均线规则的股票收益

鉴于 10 个月移动平均线规则,我正在尝试回测股票收益。规则是,如果价格高于第 10 百万个平均线 - 买入,如果低于第 10 万个平均线 - 保持价值不变。

我知道如何在 excel 中很容易地做到这一点,但我在 R 中遇到了麻烦。

以下是我在 R 中的方法:

对于 1 的动作,返回确实得到正确计算,但是当动作不是 1 时,我发现 SPY$Hit 仅滞后 1 时间,然后默认为 100 值,而我希望它保留上一个动作的值== 1 次。

这个公式在 MS Excel 中效果很好并且很容易实现,但似乎 R 中的问题是我不能保持上一个 Action == 1 的值不变,我该怎么做才能看到如何那么这个简单的交易策略会奏效吗?

如果我能进一步澄清这一点,请告诉我,谢谢。

0 投票
1 回答
116 浏览

python - 如何在 Z-Score 回测中填充制度?

我目前正在尝试实施单个资产回测,其中当 zscore 低于某个阈值时生成买入信号,并在高于阈值时卖出。

此外,我计算了滚动 zscore、阈值和累积回报。

对我来说,问题是创建一个 Regime 值,该值将指示我们是多头(1)、空头(-1)还是中性(0),以便稍后创建策略返回值。我试图通过创建入口和出口点来做到这一点,但从这里开始就卡住了。任何帮助将不胜感激!

0 投票
1 回答
253 浏览

r - 使用 CSV 文件在 quastrat 中回测 SMA 交叉

我之前使用getSymbols()过回测策略,但文档不清楚如何使用 CSV。我正在尝试在一些日内数据上测试 SMA 交叉。在网上搜索后,我确实发现你必须给 quantstrat 一个 xts 对象才能使用,这样我就完成了:

初始变量:

添加 SMA 指标:

根据上述指标添加信号:

如下应用它们:

根据信号添加规则:

下一部分是当代码进入某种循环并且永远不会被执行时,不提供任何调试信息,在 jupyter notebook 中,它被表示为In[*]:. 数据集并不庞大,大约有 8 万行。

编辑:很抱歉,因为我忘记将代码的最后一部分包含在原始问题中。帮助赞赏!

0 投票
2 回答
2615 浏览

python-3.x - 如何在 zipline 中手动提供基准

我想创建一个可重现的示例,其中手动提供交易系列和基准。这将使接近滑索的人们的生活变得异常轻松。事实上,鉴于最近关闭了 Yahoo!Finance API,即使是 zipline 的介绍性示例也不再适用,因为在尝试从 Yahoo 后台导入 ^GSPC 基准时将返回 HTTP 错误。因此,现在官方教程中没有一个代码片段适用于 AFAIK。

回报:HTTPError: HTTP Error 404: Not Found

问题:如何使用 AAPL 作为交易资产和 SPY 作为基准来制定策略? 约束:必须手动提供 AAPL 和 SPY,如示例中所示。

0 投票
1 回答
466 浏览

r - 从彭博获取股票代码和公司名称 [r]

我已经HistIndexTickers("SPX", startdate="19980101", freq="MONTHLY")在 RbbgExtension 包中获取了 S&P500 的股票代码

如何使用相应的股票代码获取公司名称?(一些公司被收购或股票被摘牌等,但我仍然想拥有公司名称,因为我正在回测)

提前致谢!

0 投票
1 回答
725 浏览

r - 将 Weibull 分布拟合到删失数据

我想通过在 R 中使用给定的审查向量应用以下数据来估计 Weibull 分布的最大似然参数:

数据= 9 2 11 49 7 5 3 36 30 6 62 5 3 29 29 1 13 1 24 11 9 4 7 15 11 15 1 1 1 1 1 2 6 12 28 14 14 57 17 4 2 3 6 21 6 16 19 28 18 19 9 59 12 3 27 8 26 19 47 68 17 15 25 25 6 54 1 2 11 4 1 36 2 5 5 3 38 3 1 10 69 1 8 3 17 21 19 11 1 6 1 1 18 2 51 6 1 11 13 3 19 16 18 28 10 26 32 6 25 1 44

cens= 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

如果有人能帮助我,我将不胜感激。

0 投票
1 回答
516 浏览

r - 用于阈值水平优化的回测 R 包

有人知道可用于回测以优化阈值水平而不是参数输入的 R 包吗?

例如,当 ADX(14) > 30 时,只想与趋势信号进行交易。允许使用参数阈值 (30) 而不是参数阈值 (30)quantstrat来优化参数输入 (14 )。apply.paramset

如果这样的包不存在,也许有人可能会提供指向要查看哪些包以开始破解此类任务的指针?

0 投票
2 回答
892 浏览

python - Zipline 错误:AttributeError:“NoneType”对象没有属性“索引”

我想自动化我的手动交易策略。然而,一开始,我试图重现 Zipline 购买苹果股票的简单例子。我努力运行算法run_algorithm()。当我试图运行“双移动平均线交叉”时,出现了完全相同的错误。我也尝试了 IPython 和终端,但仍然出现该错误。我在这个论坛中也找不到与此相关的任何内容。我将非常感谢任何提示。谢谢你。

我在 macOS 和 Zipline 版本 1.1.1 上使用 Python 3.6。

那是代码:

这就是追溯:

回溯(最后一次调用):文件“/Users/SOL/Desktop/Python/backtest.py”,第 13 行,在 zl.run_algorithm(start=2015-1-1, end=2017-1-1, initialize=初始化,capital_base=10000)文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/utils/run_algo.py”,第360行,在run_algorithm environ=environ,文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/utils/run_algo.py”,第 132 行,在 _run env = TradingEnvironment(asset_db_path=connstr, environ=environ)文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/finance/trading.py”,第 99 行,在 init self.bm_symbol,文件“/Library/Frameworks/ Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/data/loader.py",第 173 行,在 load_market_data 环境中,文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/data/loader.py”,第 287 行,在 ensure_treasury_data 如果没有 has_data_for_dates(数据,第一个日期,最后一个日期):文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/zipline/data/loader.py”,第 87 行,在 has_data_for_dates dts = series_or_df。 index AttributeError:“NoneType”对象没有属性“index”6/site-packages/zipline/data/loader.py",第 87 行,在 has_data_for_dates dts = series_or_df.index AttributeError: 'NoneType' 对象没有属性 'index'6/site-packages/zipline/data/loader.py",第 87 行,在 has_data_for_dates dts = series_or_df.index AttributeError: 'NoneType' 对象没有属性 'index'