问题标签 [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 - 头寸规模
我目前设置了回测,以便它将投资我当前股权的 25%。这导致的问题是,当我的资本开始增长时,该策略开始进行大量交易。
我如何指定它确实投资 Equiuty*0.25 但最多只能达到 1000 份合约的限制?
以下是我的代码的相关部分。
感谢您的任何帮助。这让我沮丧了几个星期。
这就是我目前的规则,但我收到一条错误消息,提示“未找到单元尺寸”
在尝试更改之前我的原始规则(当它有效但占据大量职位时)
f# - F# 数据提要抽象
我正在尝试学习 F#,并想创建一个平台来测试交易策略。通常,每次更新书中的刻度时,代理 API 都会广播 C# 事件。侦听 C# 事件并对这些事件做出反应的正确功能方式是什么?是否有一种既定的方法可以从分派滴答声的方式中抽象出实现,从而能够使用相同的代码在线(从事件)和离线(从数据库和/或文件)测试?
对已建立的技术和功能设计有任何参考吗?
提前致谢
r - 回测 r 中移动平均线规则的股票收益
鉴于 10 个月移动平均线规则,我正在尝试回测股票收益。规则是,如果价格高于第 10 百万个平均线 - 买入,如果低于第 10 万个平均线 - 保持价值不变。
我知道如何在 excel 中很容易地做到这一点,但我在 R 中遇到了麻烦。
以下是我在 R 中的方法:
对于 1 的动作,返回确实得到正确计算,但是当动作不是 1 时,我发现 SPY$Hit 仅滞后 1 时间,然后默认为 100 值,而我希望它保留上一个动作的值== 1 次。
这个公式在 MS Excel 中效果很好并且很容易实现,但似乎 R 中的问题是我不能保持上一个 Action == 1 的值不变,我该怎么做才能看到如何那么这个简单的交易策略会奏效吗?
如果我能进一步澄清这一点,请告诉我,谢谢。
python - 如何在 Z-Score 回测中填充制度?
我目前正在尝试实施单个资产回测,其中当 zscore 低于某个阈值时生成买入信号,并在高于阈值时卖出。
此外,我计算了滚动 zscore、阈值和累积回报。
对我来说,问题是创建一个 Regime 值,该值将指示我们是多头(1)、空头(-1)还是中性(0),以便稍后创建策略返回值。我试图通过创建入口和出口点来做到这一点,但从这里开始就卡住了。任何帮助将不胜感激!
r - 使用 CSV 文件在 quastrat 中回测 SMA 交叉
我之前使用getSymbols()
过回测策略,但文档不清楚如何使用 CSV。我正在尝试在一些日内数据上测试 SMA 交叉。在网上搜索后,我确实发现你必须给 quantstrat 一个 xts 对象才能使用,这样我就完成了:
初始变量:
添加 SMA 指标:
根据上述指标添加信号:
如下应用它们:
根据信号添加规则:
下一部分是当代码进入某种循环并且永远不会被执行时,不提供任何调试信息,在 jupyter notebook 中,它被表示为In[*]:
. 数据集并不庞大,大约有 8 万行。
编辑:很抱歉,因为我忘记将代码的最后一部分包含在原始问题中。帮助赞赏!
python-3.x - 如何在 zipline 中手动提供基准
我想创建一个可重现的示例,其中手动提供交易系列和基准。这将使接近滑索的人们的生活变得异常轻松。事实上,鉴于最近关闭了 Yahoo!Finance API,即使是 zipline 的介绍性示例也不再适用,因为在尝试从 Yahoo 后台导入 ^GSPC 基准时将返回 HTTP 错误。因此,现在官方教程中没有一个代码片段适用于 AFAIK。
回报:HTTPError: HTTP Error 404: Not Found
问题:如何使用 AAPL 作为交易资产和 SPY 作为基准来制定策略? 约束:必须手动提供 AAPL 和 SPY,如示例中所示。
r - 从彭博获取股票代码和公司名称 [r]
我已经HistIndexTickers("SPX", startdate="19980101", freq="MONTHLY")
在 RbbgExtension 包中获取了 S&P500 的股票代码
如何使用相应的股票代码获取公司名称?(一些公司被收购或股票被摘牌等,但我仍然想拥有公司名称,因为我正在回测)
提前致谢!
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
如果有人能帮助我,我将不胜感激。
r - 用于阈值水平优化的回测 R 包
有人知道可用于回测以优化阈值水平而不是参数输入的 R 包吗?
例如,当 ADX(14) > 30 时,只想与趋势信号进行交易。允许使用参数阈值 (30) 而不是参数阈值 (30)quantstrat
来优化参数输入 (14 )。apply.paramset
如果这样的包不存在,也许有人可能会提供指向要查看哪些包以开始破解此类任务的指针?
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'