首页 排行 分类 完本 书单 用户中心
搜书趣 > 仙侠武侠 > 修仙时代我靠卖丹入财门 > 第36章 降龙十八掌求教Python回测

修仙时代我靠卖丹入财门 第36章 降龙十八掌求教Python回测

簡繁轉換
作者:鹰览天下事 分类:仙侠武侠 更新时间:2026-05-02 20:42:10 来源:源1

第36章降龙十八掌求教Python回测码(第1/2页)

2026年5月12日星期二晚上21:00

------

【私聊记录】

时间:21:00

降龙十八掌:贝兄,在吗?有点事想私下请教。

我刚刚完成《混沌丹途》新章节的写作,保存文档,正准备休息一会儿,看到了这条消息。降龙十八掌主动私聊,且用“请教”二字,这在他身上极为罕见。我回复。

贝悟得:在。请讲。

降龙十八掌:嗯。这两天,我一直在想明觉说的“战略”和“战术”,还有你之前分享的那些回测数据。我心里其实很矛盾。一方面,我靠技术分析吃饭,这么多年了,也赚过钱,虽然最近不顺,但我不觉得技术分析没用。另一方面,你的回测数据又摆在那里,好像单纯靠技术指标择时,长期确实很难跑赢指数。

降龙十八掌:我之前不服,觉得你回测的策略太简单,不能代表真正的技术分析。但冷静下来想,我自己的那套方法,到底有没有用?有多大的用?能不能经得起时间的考验?我自己从来没验证过。都是凭感觉,觉得这个图形好,那个指标金叉了,就上了。亏了赚了,也大多归咎于运气或者执行不到位。

降龙十八掌:所以,我想,能不能也像你那样,用数据回测一下我自己的方法?看看在历史上,它到底是个什么表现。你说过,任何方法在用于真金白银之前,都应该回测验证。这话,我听进去了。

降龙十八掌:我不会编程,Python更是一窍不通。我看你上次分享的数据,还有图表,应该是用Python做的吧?能不能……教教我?或者,有没有什么简单的办法,能让我自己回测一下?不用太复杂,就从最简单的开始,比如,我就想回测一下“MACD金叉买入、死叉卖出”在全市场的表现,或者回测一下我常用的那个“放量突破平台”形态。我需要看到数据,才能死心,或者才能知道该怎么改进。

他的消息很长,语气诚恳,甚至透着一丝迷茫和渴望。这与他在群里的嚣张形象判若两人。显然,明觉关于“战略”的论述和我之前的回测数据,对他造成了实质性的冲击。他开始怀疑自己多年依赖的“战术”,并试图用更科学的方式去验证和修正。这是一个巨大的进步。

贝悟得:很高兴你能这么想。愿意用数据和回测来检验自己的方法,这是走向理性投资非常重要的一步。这不仅能帮你验证方法的有效性,更能帮你理解方法的局限性、适用条件,以及最重要的——建立合理的收益预期和风险认知。很多人用技术分析亏钱,不是因为技术分析完全无效,而是因为他们对其有效性和适用环境有着不切实际的幻想。

贝悟得:关于Python回测,对于没有编程基础的人来说,确实有一定门槛。但并非没有入门途径。我可以给你几个建议,从易到难。

路径一:使用现成的量化平台(推荐入门)

国内有一些在线的量化平台,提供了图形化界面或者简化的策略编写功能,有些甚至内置了常见的技术指标和回测框架。你不需要自己搭建Python环境,只需要在网页上操作。例如:

聚宽(JoinQuant)、优矿(Uqer)、米筐(Ricequant)等。

优点:入门快,有社区和示例策略,可以快速看到回测结果和图表。

缺点:灵活性可能受限,高级功能可能需要付费,数据可能有一定延迟或需要自己处理。

建议:你可以先注册一个聚宽账号,它对新用户比较友好,有大量的入门教程和策略范例。你可以尝试在它的策略编辑器中,用他们提供的函数,写出你的“MACD金叉死叉”策略,然后回测。这个过程本身,就能让你对回测的要素(买卖信号、仓位、手续费、滑点等)有个直观认识。

路径二:学习基础Python,使用开源回测框架(更灵活,但需投入时间)

如果你有兴趣,且愿意花时间学习,这是更自主的道路。

1.学习基础Python:不需要多深入,掌握变量、循环、条件判断、函数、以及如何安装和使用第三方库即可。网上免费教程很多。

2.选择回测框架:常用的有backtrader,zipline(美股为主),vn.py(国内衍生品强)等。对于A股,backtrader比较流行,社区资源多。

3.获取数据:需要历史行情数据。可以用tushare、akshare等免费库获取,但通常有频率和数量限制。更完整的数据可能需要购买。

4.编写策略:将你的交易逻辑转化为代码。

5.分析结果:计算收益率、夏普比率、最大回撤、胜率等指标,并绘制图表。

路径三:我提供简化版代码和指南(折中方案)

我可以将我用于之前分享的那些简单回测的Python代码,整理成一个清晰的、有详细注释的版本,并提供一小段示例数据(比如沪深300指数2019-2021年的日线数据),发给你。你可以按照注释,修改其中的策略部分(比如买卖条件),然后运行看结果。但这需要你在自己的电脑上安装Python环境和必要的库(如pandas,numpy,matplotlib)。我可以提供详细的安装和运行步骤。

贝悟得:无论选择哪条路,回测本身都有很多需要注意的陷阱,我简单列举几点:

1.幸存者偏差:回测时使用的是“存活至今”的股票数据。那些已经退市的股票不在其中,这会导致回测结果过于乐观。所以,回测最好基于指数(如沪深300),或者使用包含已退市股票的全市场数据(较难获取)。

2.未来函数:确保你的策略在每一时刻,只使用该时刻及之前的信息。比如,你不能用今天的收盘价作为昨天买入的信号。这在手动回测时容易犯错,在代码中要特别小心。

3.过拟合:不要对着历史数据不断调整参数,直到曲线完美。那样得到的策略在未来很可能失效。回测的目的是检验一个逻辑,而不是制造一个完美拟合历史的“神策”。

4.交易成本:一定要考虑佣金和印花税,对高频策略影响巨大。

5.滑点与流动性:对于小盘股,你的买卖可能无法以预设价格成交,需要设置滑点(假设成交价比信号价差一点)。

6.初始资金与再投资:明确是固定资金还是允许盈利再投资。

贝悟得:我建议你先从路径一开始,在聚宽上尝试回测你的MACD策略,感受一下。如果有兴趣深入,我们再走路径三,我提供代码和指导。这个过程可能会打破你对技术分析的一些美好想象,但也会让你更清楚它的边界在哪里,从而更有效地使用它,或者思考如何将其纳入一个更完整的体系(比如,作为辅助判断工具,而非唯一依据)。

降龙十八掌:这么多门道……我头有点大。不过,你说得对,我得先看看。聚宽是吧?我现在就去注册看看。那个……路径三,你能先把代码和步骤发我吗?我一起看。我电脑里好像装过Python,以前想学爬虫抓数据,没学会就放弃了。这次我想试试。

贝悟得:可以。我整理一下。回测代码本身不长,关键是理解每一步在做什么。我会把代码、数据文件(CSV格式)、以及详细的步骤说明(包括如何安装库、如何运行)打包成一个压缩文件发给你。预计明天晚上可以给你。在这之前,你可以先摸索一下聚宽。

降龙十八掌:好,谢谢!贝兄,说实话,我以前觉得你这人挺装的,搞一堆理论。但这段时间看下来,你至少是认真的,而且愿意分享。我虽然还不完全认同你那套“乌龟流”,但我觉得,用数据验证自己的想法,这个方向没错。不管回测结果怎么样,我都认。

贝悟得:能这么想就很好。投资是一场无限游戏,我们的对手不是彼此,而是市场的无常和自身的弱点。用数据武装自己,减少无知,这是最有力的武器之一。明天晚上联系。

结束私聊,我开始整理代码。我将之前用于回测MACD、RSI等策略的脚本找出来,这是一段相对简单的Python代码,使用pandas进行数据处理,用matplotlib绘图。我仔细添加了注释,解释了每个步骤的目的,以及如何修改策略逻辑。

策略部分,我保留了MACD金叉死叉的示例,但将核心信号生成部分用明显的注释标出,方便他替换成自己的逻辑。例如:

#==========策略逻辑:这部分需要你根据你的方法修改==========

#示例:MACD金叉买入,死叉卖出

data['Signal']=0#1为买入,-1为卖出,0为持有

#计算MACD(这里使用talib库,你需要安装,或者用其他方法计算)

#假设已经计算了macd,macd_signal

#金叉:MACD上穿信号线

data.loc[macd>macd_signal,'Signal']=1

#死叉:MACD下穿信号线

data.loc[macd

目录
设置
设置
阅读主题
字体风格
雅黑 宋体 楷书 卡通
字体风格
适中 偏大 超大
保存设置
恢复默认
手机
手机阅读
扫码获取链接,使用浏览器打开
书架同步,随时随地,手机阅读
收藏
换源
听书
听书
发声
男声 女生 逍遥 软萌
语速
适中 超快
音量
适中
开始播放
推荐
反馈
章节报错
当前章节
报错内容
提交
加入收藏 < 上一章 章节列表 下一章 > 错误举报