基于 AkShare 免费行情数据,实现 A股量化策略的历史回测。
条件说明涨停基因近5日有涨停,或单日涨幅>7%均线多头5日均线>10日均线>20日均线量价配合今日成交量 > 5日均量 × 1.2
触发条件操作+5%卖出 1/3+8%再卖出 1/3(剩余1/3继续持有)+10%以上尾盘不涨停则全部清仓-3%无条件止损持仓满3天第3天尾盘强制平仓
bash
pip install akshare pandas numpy
bash
python {baseDir}/scripts/backtest.py --capital 50000 --start 20240101 --end 20240630
参数说明默认值--capital初始资金(元)50000--start开始日期(YYYYMMDD)20240101--end结束日期(YYYYMMDD)当前日期--output输出目录miaoxiang/backtest--query自然语言参数暂不支持
bash
# 回测2024年全年
python scripts/backtest.py --capital 100000 --start 20240101 --end 20241231
# 回测2024下半年
python scripts/backtest.py --start 20240701 --end 20241231
文件说明daily_values.csv每日净值曲线(日期、现金、持仓市值、总净值、收益率)trades.csv全部买卖记录(日期、股票、买卖价、数量、收益率、原因)
回测脚本会输出:
text
========== 回测结果 ==========
初始资金: 50,000
最终净值: 58,234
总收益率: +16.47%
年化收益率: +32.18%
最大回撤: -12.35%
交易次数: 45
卖出次数: 42
胜率: 58.5%
==============================