问题标签 [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 - 回测动量效应
我有一个包含这些值的数据框,
我想使用以下代码对数据进行回测
但是当我尝试运行时,当我尝试进行回测时,它会不断出现此错误。另外,我对这一切都很陌生,所以我不确定错误是什么。列名称为日期,但未在数据框中指明,Standard.Group.Plc.Ord 和 Sameer.Africa.Plc.Ord。我通过对原始数据框执行返回来生成 data.frame。
我应该对我在这里列出的时间序列回报进行回测。任何人都知道如何修复它,或者其他可能有效的代码。
python - 为什么我在 Python 代码错误和 crumb 错误中得到发散收敛测试?
这是代码:
生成一个假证券 X,并通过从正态分布中提取其每日回报来建模。然后进行累加求和,得到每天 X 的值。
生成与 X 有深厚经济联系的 Y,因此 Y 的价格应该与 X 非常相似。
绘制两者之间的比率:
错误消息:文件“”,第 9 行打印 '相关性:' + str(X_diverging.corr(Y_diverging)) SyntaxError: invalid syntax
错误消息:文件“”,第 14 行打印 '相关性:' + str(Y2.corr(Y3)) SyntaxError: invalid syntax
pip install auquan-toolbox 并执行以下代码片段:
错误信息:文件“C:\ProgramData\Anaconda3\lib\site-packages\backtester\dataSource\data_source_utils.py”,第 25 行,在 getCookieForYahoo return cookie, crumb # return a tuple of crumb 和 cookie
UnboundLocalError:分配前引用的局部变量“crumb”
任何帮助深表感谢。谢谢你。
python - Python ZIPLINE:_RunAlgoError: 没有提供 ``benchmark_spec``,并且``zipline.api.set_benchmark`` 没有在``initialize`` 中被调用
这是我的第一个问题,请原谅我的错误我一直在阅读 Andreas Clenow 的 Trading Evolved,一本关于使用 Python 进行回测和财务的书这是我收到的代码和错误
我收到的错误是这个
NoBenchmark Traceback (最近一次调用最后一次) _RunAlgoError: No
benchmark_spec
was provided, andzipline.api.set_benchmark
was not called ininitialize
。
提前致谢
pine-script - 在交易视图中回测用 Pine Script 编写的策略时出现“无数据”错误的原因是什么?
我制定了一个策略,如果价格超过 5 个分形(顶部和底部)中间平均线,则进入多头,当价格低于 5 个顶部分形平均线时,平仓。
该策略在价格下穿中间平均线时做空,并在价格上穿 5 底部分形平均线时做空。
我目前收到无数据错误。有人可以帮我破译我的代码的问题吗?
pine-script - 将交易捕获到策略脚本中的变量中
我想将交易进入和退出捕获到我的脚本变量中以供将来使用。
我可以使用 strategy.position_size 做到这一点。我这样做的方式是 -> 当仓位大小变为 1 时,我假设进入已经发生,当它变为 0(从 1)时,退出已经发生。
我在回测期间遇到了一种情况,其中进入和退出发生在同一个柱中,因此在柱关闭后,position_size 不受影响并且仍然保持为 0(未更改)。
我怎样才能捕捉到这种情况?
python - 每次在 tqdm 对象(VSCode 终端)上调用更新时,进度条(使用 tqdm)都会在新行中打印
我正在尝试使用 Python 中可用的 tqdm 模块打印优化算法的进度状态,但是,每次我尝试更新它时,它都会在新行中打印进度,有没有办法我只能更新一开始就被实例化的原始tqdm bar?我的代码如下,它基于 backtrader 回测库:
输出:
我确实查看了 stackoverflow 上有关类似问题的其他帖子(其中大部分都集中在 jupyter notebook 界面上),但它们并没有解决我的错误。此外,这是一个多线程过程,并且cerebro.optcallback在每次迭代一组唯一的参数值之后调用 optimizer_callbacks 函数
python - 运行回测和购买时,我总是收到订单取消/保证金/拒绝
我刚刚开始使用反向交易者。
我从 pandas 数据框中获取了 1 分钟的蜡烛数据。
运行 backtrader 时,我在每个购买订单后都会收到此日志消息:“订单取消/保证金/拒绝”
我正在使用 jupyter 笔记本
这是我的交易策略:
这是我的主要代码
这是我的数据框数据
这些是日志,加上最终余额与测试开始时相同。
python - 计算空头头寸的回报(回测)
我的目标是编写一个函数,该函数从熊猫证券价格数据框中返回每个时期(即一天)的投资组合收益向量。为简单起见,我们假设初始权重在证券A和B之间平均分配。价格由以下数据框给出:
此外,我们假设资产A是我们发起空头头寸的资产,我们做多资产B。
第一步从“零投资头寸”(如空头头寸(即资产A ))计算离散回报,在第二步从构成投资组合的单个资产的加权回报中计算整体投资组合回报并非易事,之前我进行了迄今为止的尝试,但没有正常工作(关键问题是资产A的空头头寸在2013 年 1 月 14 日超过 -100% 的损失),我非常感谢任何形式的帮助 - 可能是理论上的或代码。