本文仅代表个人观点,所涉及标的不作推荐,也不构成任何投资建议,仅供参考。如有错误,欢迎批评指正。
本文仅展示部分代码和数据,完整代码和数据详见:
基于Backtrader量化回测框架的Williams %R指标回测
代码下载链接:
基于Backtrader量化回测框架的Williams %R指标回测代码
1 摘要
本文基于Backtrader量化回测框架对Williams %R指标进行回测分析,以沪深300为基准,以SH.600600青岛啤酒为股票池,回测期间2019-01-01~2021-12-31。策略累积收益24.94%,年化收益7.99%,夏普比率52.78%,最大回撤17.98%,累计交易18次,胜率72.22%。
回测结果如下:
2 数据展示
本文从akshare数据库导入SH.000300、SH.600600(20190101-20211231)历史数据,并将其整理为backtrader的规范格式。
#Step1.数据加载
#获取user输入
stock_code = sg.popup_get_file('示例sh600600')
start_date = sg.popup_get_file('示例20210101')
end_date = sg.popup_get_file('示例20240202')
format_string = "%Y%m%d" #指定日期格式
start_date = datetime.strptime(start_date, format_string).date() # 将日期转换为datetime对象
end_date = datetime.strptime(end_date, format_string).date()
#获取沪深300数据作为基准
hs300 = ak.index_zh_a_hist(symbol = '000300',period='daily',start_date=start_date,end_date=end_date)
hs300 = hs300.iloc[:, :6]
hs300.columns = ['date','open','close','high','low','volume']
hs300.index = pd.to_