前言
想开始量化学习不知道如何入手?市面上的学习资料太多不知道该怎么看?
博主将从零基础讲解回测框架,一步步完成量化数据源的搭建,让你10天内成为量化高手
博主同时将视频课程内容在B站更新,可以关注“量化NPC”获取最新的视频课程
不清楚如何安装backtrader和配置可以点击:
Backtrader保姆级教学+免费行情源 框架介绍
本篇文章可配合b站观看效果更佳:
backtrader量化回测保姆级教学【合集】
所使用的代码和csv文件,在文章结尾附录部分。
SMA策略介绍
接入行情源
本文使用的是INSIGHT行情源,提供免费的TICK数据,分钟K,日K,以及各类金融资讯数据
如果对INSIGHT感兴趣的用户可以访问:INSIGHT数字文档
如果想看各类数据源对比的可以看:量化免费行情源最强对比分析
编写策略
定义strategy里的init方法
- 引用bt中默认的indicator.MovingAverageSimple()
- 调用indicator.crossover,crossover的含义是去判断收盘价是否与bt_sma发生了交叉,如果为1,则为上穿,0则没有交叉,-1为下穿。buy_or_sell为一个时间序列,类似于[0,0,0,0,0,1,0,0,0,-1,1……]的序列
def __init__(self):
self.bt_sma = bt.indicators.MovingAverageSimple(self.data, period=3)
self.buy_or_sell = bt.indicators.CrossOver(self.data, self.bt_sma)
import backtrader as bt
import pandas as pd
from com.insight import common
from com.insight.query import *
from com.insight.market_service