导读
经过《开源量化交易工具数据调研》的初步调研,backtrader 作为目前最流行的框架,值得研究一番。所以赶紧上手看看 backtrader 到底有什么功能吧。
另外,vnpy 明显是国内团队开发的,理论上文档应该会更友好。所以后续计划也试用一下。
正文
准备
- git + python + pip
- 安装 backtrader(带绘图版):
pip install backtrader-plotting
# Fix Bug, see: https://github.com/mementum/backtrader/pull/418
pip uninstall matplotlib && \
pip install matplotlib==3.2.2
注:
- 下载项目,主要是 datas 文件夹,下面 demo 要用。
curl -L https://github.com/mementum/backtrader/archive/refs/tags/1.9.74.123.tar.gz -o backtrader.tgz && \
tar xzf backtrader.tgz && \
cp -r backtrader-1.9.74.123/datas ~/projects/backtrader-demo/datas && \
rm -rf backtrader.tgz backtrader-1.9.74.123
快速开始
- Create
demo.py
.
touch demo.py
- Copy below into
demo.py
and run;
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import backtrader as bt
if __name__ == '__main__':
cerebro = bt.Cerebro()
print('Starting Portfolio Value: %.2f' % cerebro.broker.getvalue())
cerebro.run()
print('Final Portfolio Value: %.2f' % cerebro.broker.getvalue())
Run:
python3 demo.py
# Output:
# Starting Portfolio Value: 10000.00
# Final Portfolio Value: 10000.00
- 跟着文档完成其他 Demo,注意修改代码中的相对路径,即
../..datas/orcl.txt
改为datas/orcl.txt
。
结语
不出所料,按照 Quick Start(QS)走的过程当中碰到了一些小坑,还好不多。而且走完 QS 对于 backtrader 的概念和使用方法有了进一步的认知,还是比较好上手的,大概用半天的时间就能走完全部 Demo。
接下来就是尝试用 backtrader 跑一些真实案例了,比如什么黄金叉、启明星、大三阳什么的图形,到底好不好使(早就想这么干了),各位敬请期待~