第 七 篇 目录
一、回 测 是 什 么 ?
回测是一种反向测试,从各种评价指标和统计学层面上,以大数据的方式评估策略,验证设定的交易规则是否有效。测试里是数据的预测模型,用于估计策略或模型在过去一段时间的表现,需要提供足够的细节模拟过去的条件,条件可以是收盘价为基准。
二、回 测 与 实 盘 交 易
⚠️ 回测数据与实盘交易数据存在差异性
⚠️ 回测结果 并 不能代表策略百分百能赚钱:注意收益盈亏几点位(是否都是按策略交易)
影响的原因:
1)未来函数的差异
2)滑点
三、开源双均线策略回测框架搭建(pyalgotrade)
(一)、模块安装
pip install pyalgotrade
(二)、双 均 线 回 测 框 架 搭 建
# # 调用pyalgotrade回测框架模块
# 调用pyalgotrade回测模块:计算指标、回测数据
from pyalgotrade import strategy
# 调用pyalgotrade数据整理模块:提供数据
from pyalgotrade.barfeed import quandlfeed
# 调用pyalgotrade_tushare模块的导出股票行情函数
from pyalgotrade_tushare import tools, barfeed
# 调用pyalgotrade_tushare模块的 移动平均线函数
from pyalgotrade.technical import ma
# 调用pyalgotrade_tushare模块的 相对强弱指标函数
from pyalgotrade.technical import rsi
# 调用pyalgotrade的画图模块
from pyalgotrade import plotter
from pyalgotrade.stratanalyzer import returns
def safe_round(value, digits):
if value is not None:
value = round(value, digits)
return value
# 设置回测类
class MyStrategy(strategy.BacktestingStrategy):
# feed:数据集,instrument:股票代码 ,smaPeriod:设定N天的均价
def __init__(self, feed, instrument, smaPeriod1,smaPeriod2):
# super调用副类回测函数strategy.BacktestingStrategy(数据,投资金额)
super(MyStrategy, self).__init__(feed,1e5)
#