资料
zipline、quantdigger、pyfolio 这些比较成熟的框架源码
Pandas 教程
教程资料链接: https://pan.baidu.com/s/1UVT_S9BHJZS8ktjAc8Xpcw 密码: dr78
策略回测基本思路
- 双 MA 策略是什么 - Moving Average 移动平均线
长短周期的移动平均线, 交叉展现出买卖信号
- 不考虑单日时间内的双向操作
- 收盘价格 Close, 计算 MA5 MA20 以及等买卖信号
- 持仓量 Position
- 价格变动 Change (当天收盘价格
-
昨天收盘价格) - 损益 PNL (Profit
&
Loss, 当天持仓量*
价格变动) - 手续费 Fee (持仓变动
*
手续费率) - 当日净损益 NetPNL (Net Profit
&
Loss, 损益-
手续费) - 总损益 CumPNL (Cumulative Profit
&
Loss, 所有之前净损益之和) - 回撤率 = (之前最高 CumPNL 值
—
当前 CumPNL 值)/
之前最高 CumPNL 值 - 最大回撤率 = 所有时间点的回撤率, 取最大值
- 回报率 = 损益
/
本金*
100%
注意: 未来函数, 以当天的 Close 等收盘时才有的参数指标, 计算出来的持仓量的变化, 只能更改下一天的持仓量(因为当天 close 价格出现之后就无法再进行交易)
绘图类
币对, 最大回撤率,
1. 日期:
2. 总损益: 画线
3. 是否交易(方向, 价格, 交易额, 手续费, 其他信息): 描点
4. 其他值: 收盘价, 价格变动率, 持仓量, 持仓损益
四种回测方法
Excel
Python 向量化
1 | import matplotlib.pylab as plt |
- Python 事件
1 | import matplotlib.pylab as plt |
- vn.py
数据的获取与存储
1 | import tushare as ts |
策略编写
1 | import numpy as np |
调用策略
1 | # encoding: utf8 |