首页 > 武侠仙侠 > 修仙时代我靠卖丹入财门 > 第37章 我开源全部代码,附三年A股数据

第37章 我开源全部代码,附三年A股数据(1/2)

目录

2026年5月15日 星期五 晚上20:00

------

【群聊记录】

时间:20:00

明觉: 晚间复盘。市场今日幅反弹。降龙兄昨日之回测数据,发人深省。吾观其过程与结果,愈觉“量化验证”之重要。贝兄,不知你当初构建自身体系时,可曾对“网格交易”、“再平衡”等核心策略,进行过系统性的长期回测?

巴派谪传弟子-老金: 同问。我也好奇,贝兄你那套三维仓位,特别是网格交易,在历史上不同市场阶段(牛市、熊市、震荡市)的表现到底怎么样?有没有数据支持?还是,主要是基于逻辑推演?

锅王: 又来了。他那套东西,回测有什么用?过去不代表未来。不过……我也挺好奇,你那乌龟流,在历史上能跑赢指数吗?别回测出来比定投还差,那就搞笑了。

降龙十八掌: (经过一夜消化,语气沉稳许多)我昨天用贝兄给的代码,又回测了几个简单的策略,包括一个最简单的“买入持有沪深300”,一个“年化再平衡(股债50/50)”,还有一个简化版的“固定间距网格”。虽然我写的网格策略很粗糙,但数据确实有意思。贝兄,你的回测肯定更完善。方便分享更多吗?特别是关于网格参数优化、不同标的、不同市况的数据?

无所不晓: 数据……看多了头晕。但感觉有数据比没数据强。

贝悟得: 看到大家开始关注“数据验证”,这是非常好的现象。我的体系并非凭空想象,其核心组成部分(资产配置、再平衡、网格交易)都有成熟的理论基础,并且我自己在构建过程中,也确实进行了大量的回测和模拟,以理解其风险收益特征、适应环境以及参数敏感性。这些回测是辅助我理解工具、建立信心、并设定合理预期的重要依据。

贝悟得: 既然@降龙十八掌 已经迈出了第一步,@明觉 和@老金 也提出了具体问题,@锅王 也表达了“好奇”,那么,作为对“理性投资、数据驱动”理念的践行,我决定做一件事:将我用于策略回测的Python代码库(简化版,但核心功能完整),以及用于回测的A股市场三年基础数据(2019-2021),整理并开源给大家。

贝悟得: 请注意:

1. 这不是一个成熟的量化交易系统,而是一个教学和验证性质的简化回测框架。目的是帮助有编程基础或愿意学习的朋友,理解回测的基本流程,并验证一些简单的投资想法。

2. 代码和数据的目的是“授人以渔”,而非提供“圣杯策略”。你可以用它们验证自己的思路,也可以学习如何构建回测。

3. 数据仅为示例:包含沪深300、中证500、创业板指等主要宽基指数,以及部分行业ETF的日线数据(前复权)。数据来源于公开渠道,可能存在微误差,用于教学回测足够。

4. 风险提示:回测基于历史,不代表未来。代码和策略可能存在错误,请谨慎对待结果,切勿直接用于实盘。

贝悟得: 我现在将打包好的文件上传到群文件。压缩包名为“I_Backtest_Deo_2019-2021.zip”。里面包含:

1. README.d:详细的使用明,包括环境配置、代码结构、数据明、如何运行示例、以及如何修改策略。

2. /data 目录:存放CSV格式的历史行情数据。

3. /strategies 目录:几个示例策略的Python文件。

? buy_and_hold.py:买入并持有策略。

? annual_rebance.py:股债年化再平衡策略(示例用沪深300和国债指数模拟)。

? siple_grid.py:一个基础的、固定价格间距的网格交易策略示例。

? acd_cross.py:MACD金叉死叉策略(示例,同之前分享)。

4. backtest_enge.py:简化的回测引擎核心文件,处理数据加载、信号生成、模拟交易、计算绩效指标等。

5. utils.py:一些工具函数,如计算最大回撤、夏普比率等。

6. requirents.txt:所需的Python库列表。

贝悟得: 我重点解释一下 siple_grid.py 这个网格策略示例,因为它与我的体系关联最直接。这个示例策略非常简单:

? 标的:沪深300ETF(以指数替代)。

? 逻辑:设定一个基准价(如初始价格),然后向上、向下各设置N个网格,间距固定(如5%)。当价格触及网格线时,执行买入(向下)或卖出(向上)。每次买卖固定数量(或金额)。

? 参数可调:基准价、网格间距、网格层数、每格交易量、初始现金比例等。

? 回测输出:净值曲线、年化收益、最大回撤、夏普比率、交易次数、胜率等,并与买入持有对比。

贝悟得: 你可以用这个示例,回测2019-2021年(包含上涨、震荡、结构性行情)的网格表现。你会发现:

? 在2019-2020年的趋势上涨市中,网格策略大幅跑输买入持有,因为它会不断卖出,过早降低仓位。

? 在2021年的震荡/结构性行情中,网格策略可能幅跑赢或持平买入持有,因为它能捕捉波动收益。

? 长期(三年)来看,在这个示例参数下,网格策略的年化收益很可能低于买入持有,但最大回撤也显著更,夏普比率(风险调整后收益)可能更高。

? 网格策略的表现极度依赖于标的的波动率和网格参数。在低波动标的上,它可能长期不触发;在高波动标的上,它可能频繁交易,摩擦成本高。

贝悟得: 这就是为什么在我的体系中,网格主要用于“安全仓”(成本已低,目标是持续降低成本、产生现金流、平滑波动),而非作为主要的收益来源。同时,我通过“三维仓位”中的“交易仓”和“现金仓”来弥补网格在趋势市中的不足,并通过“再平衡”来实现另一种形式的“高卖低买”。回测帮助我理解了每个工具的边界,从而在体系中进行恰当的定位和组合。

文件上传完毕。群里再次出现短暂的寂静,这次是信息量过大带来的消化期。

明觉: 善!大善!贝兄此举,真乃“开源”之典范,非仅代码数据之公开,乃是“心法”之无私布施。昔日释迦拈花,迦叶微笑,以心传心。今贝兄开源代码,以“数”传“道”,令有心者得以自行验证,于实践中体悟投资之真谛。此非“授人以鱼”,实乃“授人以渔”,且将“渔具”与“渔场”一并奉上。吾等感激不尽。

老金: 虽然我看不懂代码,但贝兄这份诚意和坦荡,我感受到了。降龙兄,你能看懂,回头能不能在群里大概讲讲,比如网格回测出来的具体数据?我也想知道,我这个5000块网格,长期坚持下去,大概能有个什么预期。

降龙十八掌: 收到!太感谢了贝兄!我这就下载研究。你这个框架比我昨天自己瞎搞的完整多了,还有再平衡、网格的示例。老金,没问题,等我跑出结果,把关键数据截图发群里。贝兄,你这个网格示例的参数,和你实盘用的差别大吗?

锅王: ……你还真全给了。行,我服。虽然我可能不会去跑代码,但你这态度,我认。至少比那些藏着掖着、光吹牛的大V强。不过,我还是那句话,回测是过去,未来不一样。但你愿意亮家伙,这点比很多人强。

无所不晓: 文件好大……我先保存着。等我以后……也许能看懂。

贝悟得: 回答一下。

@老金:对于你的网格,长期预期(以宽基ETF为例)可以粗略参考:目标是获得略高于货币基金、但远低于股票长期平均回报的收益(比如年化4-8%),同时将最大回撤控制在很低水平(比如-10%以内)。更重要的是体验“成本持续下降”和“心态平稳”的过程。

本章未完,点击下一页继续阅读。

目录
返回顶部