第37章我开源全部代码,附三年A股数据
第37章我开源全部代码,附三年A股数据(第2/6页)
基指数,以及部分行业etf的日线数据(前复权)。数据来源于公开渠道,可能存在微小误差,用于教学回测足够。
4.风险提示:回测基于历史,不代表未来。代码和策略可能存在错误,请谨慎对待结果,切勿直接用于实盘。
贝悟得:我现在将打包好的文件上传到群文件。压缩包名为“invest_backtest_demo_2019-2021.zip”。里面包含:
1.readme.md:详细的使用说明,包括环境配置、代码结构、数据说明、如何运行示例、以及如何修改策略。
2./data目录:存放csv格式的历史行情数据。
3./strategies目录:几个示例策略的python文件。
??buy_and_hold.py:买入并持有策略。
??annual_rebalance.py:股债年化再平衡策略(示例用沪深300和国债指数模拟)。
??simple_grid.py:一个基础的、固定价格间距的网格交易策略示例。
??macd_cross.py:macd金叉死叉策略(示例,同之前分享)。
4.backtest_engine.py:简化的回测引擎核心文件,处理数据加载、信号生成、模拟交易、计算绩效指标等。
5.utils.py:一些工具函数,如计算最大回撤、夏普比率等。
6.requirements.txt:所需的python库列表。
贝悟得:我重点解释一下simple_grid.py这个网格策略示例,因为它与我的体系关联最直接。这个示例策略非常简单:
??标的:沪深300etf(以指数替代)。
??逻辑:设定一个基准价(如初始价格),然后向上、向下各设置n个网格,间距固定(如5%)。当价格触及网格线时,执行买入(向下)或卖出(向上)。每次买卖固定数量(或金额)。
??参数可调:基准价、网格间距、网格层数、每格交易量、初始现金比例等。
??回测输出:净值曲线、年化收益、最大回撤、夏普比率、交易次数、胜率等,并与买入持有对比。
贝悟得:你可以用这个示例,回测2019-2021年(包含上涨、震荡、结构性行情)的网格表现。你会发现:
??在2019-2020年的趋势上涨市中,网格策略大幅跑输买入持有,因为它会不断卖出,过早降低仓位。
??在2021年的震荡/结构性行情中,网格策略可能小幅跑赢或持平买入持有,因为它能捕捉波动收益。
??长期(三年)来看,在
(本章未完,请点击下一页继续阅读)