问题标签 [backtrader]
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.
python - Backtrader 导入错误 [ImportError: cannot import name 'warnings' from 'matplotlib.dates']
似乎是 matplotlib 的导入错误。一旦我修复了源自 Yahoo Finance 的数据馈送问题,此错误就开始出现。我不得不对源代码进行小修改,特别是 Yahoo.py 文件,但我不认为小改动会破坏与 matplotlib 的任何关系。如果有人有任何建议或修复,请告诉我。
代码:
错误堆栈:
python - 如何解决使用带有本地 csv 文件的 Backtrader 和 Python 进行回测的数据馈送错误?
我正在尝试使用 backtrader 和 python 构建用于回测加密策略的代码,但每次尝试连接数据馈送时都会出错,我尝试了不同的数据馈送方法并尝试了许多其他连接方式,但每次都会出现某种或其他类型的错误,似乎没有任何效果。请帮忙!
提到了我试图在代码中使用的两种方法。
代码:
数据文件的第一个字符串:1623809640000,40124.02000000,40129.70000000,40100.0000000000,0000,0000,40107.65000000,12.53749700,162380999999999999999999999999999999778878787877,0854977878797787978977,778978978978979789797,779797897979797,779797979797999979性小士范子范中
#Errors #Method 1 #ValueError 月份必须在 1..12 #Method 2 #OSError [Errno 22] 无效参数
sql - 计算交易利润的 SQL 查询
尝试构建一个 SQL 脚本来计算每笔交易的盈亏百分比
下面是原表
ID | 交换 | 股票代码 | 信号 | 时间 | 价格 |
---|---|---|---|---|---|
3 | BSE_DLY | UDAICEMENT | 长 | 2021-08-05 22:00:43.800603 | 46.4 |
27 | BSE_DLY | UDAICEMENT | 关 | 2021-08-06 10:00:26.718044 | 47.1 |
24 | NAS | 战车 | 长 | 2021-08-06 05:45:16.384777 | 300.85 |
22 | NAS | UDAICEMENT | 长 | 2021-08-06 05:00:25.23066 | 47.75 |
4 | NSE | 国民银行 | 长 | 2021-08-05 22:00:43.996958 | 94.8 |
26 | NSE | 国民银行 | 关 | 2021-08-06 09:45:17.511157 | 93.65 |
2 | NSE | NMDC | 关 | 2021-08-05 22:00:43.600858 | 178.05 |
14 | NSE | NMDC | 长 | 2021-08-06 03:45:11.243861 | 179.45 |
5 | NSE | 帆 | 长 | 2021-08-05 22:00:44.197164 | 140.4 |
25 | NSE | 帆 | 关 | 2021-08-06 09:45:17.441593 | 140.5 |
1 | NSE | 塔塔康苏姆 | 关 | 2021-08-05 21:57:56.840043 | 761 |
13 | NSE | 塔塔康苏姆 | 长 | 2021-08-06 03:37:38.371882 | 773 |
15 | NSE | 战车 | 长 | 2021-08-06 03:45:12.891371 | 300.65 |
计算盈亏百分比的公式
如果交易条目不可用,则将利润打印为 0
生成的数据集应如下所示
ID | 交换 | 股票代码 | 信号 | 时间 | 价格 | 利润 % |
---|---|---|---|---|---|---|
3 | BSE_DLY | UDAICEMENT | 长 | 2021-08-05 22:00:43.800603 | 46.4 | |
27 | BSE_DLY | UDAICEMENT | 关 | 2021-08-06 10:00:26.718044 | 47.1 | 1.5 |
24 | NAS | 战车 | 长 | 2021-08-06 05:45:16.384777 | 300.85 | |
22 | NAS | UDAICEMENT | 长 | 2021-08-06 05:00:25.23066 | 47.75 | |
4 | NSE | 国民银行 | 长 | 2021-08-05 22:00:43.996958 | 94.8 | |
26 | NSE | 国民银行 | 关 | 2021-08-06 09:45:17.511157 | 93.65 | -1.21 |
2 | NSE | NMDC | 关 | 2021-08-05 22:00:43.600858 | 178.05 | 0 |
14 | NSE | NMDC | 长 | 2021-08-06 03:45:11.243861 | 179.45 | |
5 | NSE | 帆 | 长 | 2021-08-05 22:00:44.197164 | 140.4 | |
25 | NSE | 帆 | 关 | 2021-08-06 09:45:17.441593 | 140.5 | 0.07 |
1 | NSE | 塔塔康苏姆 | 关 | 2021-08-05 21:57:56.840043 | 761 | 0 |
13 | NSE | 塔塔康苏姆 | 长 | 2021-08-06 03:37:38.371882 | 773 | |
15 | NSE | 战车 | 长 | 2021-08-06 03:45:12.891371 | 300.65 |
python - 将自定义多时间框架数据导入 backtrader
我需要将多个时间框架导入到一个交易策略中,但我不确定如何进行。
这是我的数据:
这是我在做什么的基本模板。
我不确定如何将我拥有的“数据”中的数据放入 cerebro,并且不确定如何在我的策略中引用多个时间框架。
任何帮助,将不胜感激。
python - Backtrader : dt = date(int(dttxt[0:4]), int(dttxt[5:7]), int(dttxt[8:10])) ValueError: int() 的无效文字,以 10 为底:'31 /0' 错误
我正在尝试使用 backtrader 制作一个 python 回测机器人,但我一直有这个错误,这是我的代码
python - 如何获得订单已提交的价格 backtester python
这是我的代码
所以对于线
当我使用 self.order 时,它会给出错误 TypeError: unsupported operand type(s) for *: 'NoneType' and 'float' 所以我想要做的是以购买订单的价格获取价格,然后在购买价格上涨 1%
python - Backtrader / Python ValueError:x 年超出范围
我正在尝试将 .csv 文件中的一些数据导入 backtrader,但遇到错误 ValueError: year x is out of range。
这是我要导入的 csv 中的一行
1577836800000,7195.24000000,7255.00000000,7175.15000000,7200.85000000,16792.38816500,1577923199999,121214452.11606228,194010,8946.95553500,64597785.21233434,0
这是将数据摄取到 backtrader 并使用 matplotlib 绘图的代码:
daily_2021.csv 是数据的来源。
我已经看到在其他地方提到它,这可能是由于 unix 时间戳的工作原理,我需要 /1000 日期但不确定如何。
希望有人可以提供帮助。
backtrader - Backtrader live IB 午夜系统重置
我目前正在与交互式经纪人一起使用 backtrader 进行期货交易。我遇到了一个问题,IBKR 预定的东部时间 23:45 - 00:45 系统重置中断了我的数据馈送。与每日 IB 网关自动重启不同,backtrader 无法从午夜重置中恢复,而无需我醒来并重新启动脚本。其他人注意到这个问题了吗?有什么解决办法吗?我连接到商店:
matplotlib - Matplotlib 绘图没有输出 jupyter-lab
我知道我在这里打败了一匹死马,但我根本无法让 matplotlib 图显示在 Jupyterlab 笔记本中。
我正在尝试运行一个最终在 jupyter 单元格内绘制的 python 脚本。
我尝试过的事情:
- 我取得的最大成功是使用了
%run
魔法命令:%run pythonscript.py
. 然后这引发了一个错误,但仍然能够在它之后显示一个图:
然而,这是短暂的,因为它只是在内核重新启动后显示错误而没有情节。
%matplotlib inline
!python/!python3 pythonscript.py
没有错误。连 `[[Figure 2D....]] 都没有%matplotlib notebook
!python/!python3 pythonscript.py
没有错误。连 `[[Figure 2D....]] 都没有没有
%matplotlib
魔法命令。没有错误。连 `[[Figure 2D....]] 都没有%run pythonscript.py
. 我们得到AttributeError
如上图所示。%pylab inline
如果与 耦合,则不会产生任何结果,而如果与!python pythonscript.py
,AttributeError
则不会产生任何结果%run
。%matplotlib inline
%run pythonscript.py
. 我们得到AttributeError
如上图所示。
在运行魔术命令时尝试了解有关属性错误的更多信息会产生死胡同。
点子列表:
在这一点上,我想我已经用尽了大部分资源。任何意见,将不胜感激。
编辑:请求截图和代码说明:
该代码基于 BackTrader,一个回测库。进行绘图的代码行是cerebro.plot()
. 文档:https ://www.backtrader.com/docu/plotting/plotting/