前阵子我又刷到有人在晒回测曲线。
那种图我以前一看就很容易上头。几条线一拉,收益率一标,胜率一写,再配一句“策略已验证”,特别像一扇已经被推开的门,好像只要我再补几行代码,下一步就该轮到我挣钱了。
说实话,我最开始学量化交易,就是被这种感觉吸进去的。
我本来以为,量化交易这件事的核心是“找到一个好策略”。后来我自己真去跑、去测、去改,折腾了好一阵子之后,我才慢慢意识到,问题根本不在这里。真正难的,是你怎么把一个看起来像逻辑的想法,变成一套能被数据验证、能被市场折磨、最后还能勉强活下来的系统。
这中间差了太多东西。
差数据,差执行,差风控,差手续费滑点,差你对“有效”这两个字的理解。更差的是,人很容易在第一阶段就被回测曲线骗了,以为自己已经摸到门了。
我就是这么踩进来的。
最开始的时候,我学量化交易的心态其实很朴素。我不想天天盯盘,也不太相信靠情绪和感觉做交易能长期稳定。我更想要一种能复盘、能迭代、能写成规则的方式。说白了,我想要的不是“猜对一次”,而是“把自己做决策的过程结构化”。
这件事对我很有吸引力。
因为一旦你开始把交易当成一个系统问题来看,很多以前模糊的东西就会突然变得具体。你不再只问“这个币会不会涨”,而是开始问:我为什么进场,凭什么在这里进,什么情况下止损,什么情况下加仓,手续费吃掉多少,样本外还能不能成立,换个周期会不会直接失效。
这些问题,才是量化真正开始的地方。
我真正上手,是从两个开源方向切进去的。一个是 Freqtrade,它本身就是面向加密市场的开源交易机器人,回测、画图、资金管理、策略优化这些基础能力都在同一个体系里;另一个是 Backtrader,它更像一个偏研究型的 Python 回测框架,给你更大的自由度,但也要求你自己搭更多东西。交易所接入和历史数据规则,我后来更多是直接去看 Binance Developer Center 的官方文档。
- Freqtrade GitHub: https://github.com/freqtrade/freqtrade
- Backtrader GitHub: https://github.com/mementum/backtrader
- Binance Developer Center: https://developers.binance.com/
我为什么会对这套东西感兴趣,不是因为我一开始就相信“量化一定比主观强”。恰恰相反,我一开始其实有点怀疑。
因为网上关于量化交易的内容,很多都太像结果展示了。大家爱发收益截图,爱发参数,爱发漂亮曲线,但很少有人认真讲清楚,自己到底是怎么把一个想法磨出来的。更少有人愿意承认,很多所谓策略,可能只是在某段行情里刚好有效,或者只是把噪声拟合得很好看。
我后来才发现,学习量化交易最重要的一件事,不是立刻写出策略,而是先把自己的预期打碎。
我第一次认真测的,不是什么复杂模型,就是最土的趋势思路。因为我当时有个很直接的判断:加密市场波动大,趋势一旦出来,延续性可能比很多传统市场更明显。那么一个最基础的思路有没有可能先跑通?比如均线过滤趋势、RSI 避免追高、固定止损控制风险,再加一点成交量条件,看看能不能跑出一个至少说得过去的结果。
我当时为什么这么测?很简单。因为我不想一上来就掉进“指标大拼盘”的坑里。你加十几个条件,看起来很专业,实际很可能只是把过去那段行情记住了。真正适合新手的测试,不是把策略写复杂,而是把变量压少,把因果关系尽量说清楚。
这件事其实很关键。
很多人学量化,一开始就忍不住问:有没有现成策略?有没有高胜率模板?有没有可以直接跑的参数?
我现在的判断是,这种问题问得越早,越容易走偏。
因为量化交易不是背答案。你真要学会它,得先学会提问。比如你不是问“什么策略赚钱”,而是问“什么市场状态下,什么类型的策略更容易有效”。不是问“RSI 设多少”,而是问“这个指标在我的交易逻辑里到底承担什么角色”。不是问“胜率高不高”,而是问“赔率、回撤、交易频次和手续费一起看,系统还能不能活”。
我第一次把一个趋势策略扔进回测框架里,跑出来的结果其实不难看。曲线往上,回撤可控,甚至某几个币种单看还挺像回事。
但真正让我意外的不是这个。
而是我一换时间段,结果立刻变形了。
我后来又把同样的逻辑放到另一段行情里,尤其是那种震荡来回抽脸的区间,收益一下子就被打回去了。这个瞬间对我冲击挺大。因为它让我第一次非常具体地意识到,量化交易里最危险的不是亏损,而是“一个看起来有逻辑的系统,在你最相信它的时候其实只是运气好”。
这也是我后来改学习方法的分水岭。
从那之后,我不再急着追求“找到一个厉害策略”,而是开始把所有测试拆成几个固定问题。
第一,这个想法到底在赌什么。
比如趋势策略,本质上赌的是延续;均值回归,本质上赌的是偏离后回归;突破策略,赌的是波动扩张;资金费率和期限结构类的思路,赌的是市场结构性失衡。你得先把自己押注的东西说清楚,不然你后面所有参数都只是装饰。
第二,这个想法最怕什么环境。
这个问题很多人会跳过,但我后来越来越觉得,它比“什么时候有效”还重要。因为市场不会一直配合你。你必须先知道,什么环境会打穿你。趋势策略怕震荡,抄底逻辑怕单边下杀,高频思路怕手续费和延迟,跨品种轮动怕流动性和成分变化。你要是连自己的死法都不知道,那策略大概率只是看起来完整。
第三,执行成本到底有没有被认真算进去。
这个坑我也踩得很实。刚开始回测的时候,我对手续费、滑点这些东西重视不够,总觉得先看方向对不对,成本以后再细化。后来我发现,这种想法特别容易把人带沟里。因为很多策略不是“逻辑错误”,而是“成本吞噬”。你在图上看到的是利润,市场最后收走的是执行质量。
也是从这个阶段开始,我对工具的看法变了。
我一开始看 Freqtrade,会觉得它像个“现成的量化生产线”。因为它不仅是开源交易机器人,还把回测、绘图、资金管理和一些策略优化能力都包在一起,对刚入门的人来说,上手门槛比你从零搭框架低很多。
但我后来真正觉得它有价值,不是因为它方便,而是因为它逼着你把一件事做完整。
你不能只停留在“我有个想法”。你得把数据接进来,把买卖规则写清楚,把止盈止损写清楚,把仓位管理想清楚,然后看回测结果,再去做参数搜索,再去看样本外。它不是帮你赚钱的捷径,它更像一个让你没法继续糊弄自己的工具。
而 Backtrader 给我的感觉就完全不一样。它更像研究桌,而不是成品台。它是一个偏 Python 回测框架的东西,对我来说,它更适合做那些你不满足于套模板、想自己定义事件流和组合逻辑的时候。
这也是我后来特别在意的一点:学量化交易,工具路线其实很重要。
有的人适合先从“半成品系统”入手,先把完整流程走通,别让自己卡死在工程上;有的人更适合从框架层理解,因为他本来就想研究策略结构和执行细节。这两条路线没有谁绝对更高级,但它们解决的问题不一样。
说白了,Freqtrade 更像“先把交易系统跑起来”;Backtrader 更像“先把研究能力搭起来”。这也是它们和很多只会给你一个信号面板、一个策略模板的网站最不一样的地方。前者强调流程闭合,后者强调研究自由。真正有价值的,不是“谁更强”,而是你当前缺的是哪一块。
我自己后来还专门拿两个真实任务去测过这件事。
一个任务,是做一个我以为很“稳”的 4 小时周期趋势系统。
我为什么选 4 小时,不是因为它神奇,而是因为它正好卡在一个我比较能接受的位置:比日线更灵活,比 15 分钟和 1 小时少很多噪声。我当时想测的是,如果我不追求极高频,不想一天到晚盯着盘口,那这种节奏能不能让我把“逻辑、执行、复盘”这三件事放到一个平衡点上。
我怎么做的?很简单。先定 universe,再做过滤。先筛掉成交量太差的币,再用趋势过滤条件选方向,然后用比较克制的入场条件去避免纯追涨。最后把止损、止盈、移动保护和手续费一起加进去。
这里面有个小方法论,我后来一直在用:策略设计一定要先定“角色”,再铺“场景”。
什么意思?你先决定这个策略是干什么的。它是捕捉趋势,还是吃震荡反弹,还是做波动扩张?这个就是角色。然后你再问,什么市场场景允许它发挥,什么场景应该让它闭嘴。很多人反过来做,一上来就调指标,最后把策略调成了一个谁都像、谁都不像的东西。
我第一次跑这个系统的时候,最让我意外的地方,是它在少数强趋势段里表现真不错,但一旦横盘拉长,交易频率会明显升高,然后手续费和止损一点点把利润磨掉。这个结果其实特别真实。因为它没给我“圣杯”的幻觉,反而让我看到,市场环境对系统的伤害有多直接。
第二个任务,是拿一套均值回归思路去测超跌反弹。
为什么测这个?因为我当时心里一直有个执念:加密市场波动这么大,很多急跌之后不是都会反抽吗?那是不是可以把这种反抽系统化?
结果这次给我的教育更大。
我发现“超跌会反弹”这句话本身没错,错的是我一开始把它想得太简单了。因为不是所有急跌都值得接。很多所谓超跌,其实只是更大级别下跌趋势里的一个中继。你在图上看它跌很多,放到结构里看,它只是刚开始。
我怎么修正的?不是继续堆指标,而是先加市场状态过滤。比如大盘环境、波动率状态、趋势级别、成交活跃度,甚至有时候还会限制只在某些更稳定的时段才允许触发。这个过程很枯燥,但也是我开始真正理解“策略不是信号,策略是约束条件组合”的阶段。
这里还有一个我现在特别认同的方法论:别一上来问 prompt 怎么写,先问你要让模型替你完成什么工作。
因为很多人现在学量化,已经不是纯手写了,会借助 AI 帮你生成策略、改代码、查 bug、写分析报告。这时候 prompt 当然重要,但 prompt 不是越华丽越好。真正有用的写法,往往是先定角色,再给边界,再给输入输出格式。
比如我后来让 AI 辅助写策略时,思路就不会是“给我一个高胜率策略”。这种写法基本等于邀请幻觉。更有效的写法通常是:你现在是一个量化研究员,请基于某个交易品类、某个持仓周期、某种市场假设,生成一个只包含少量变量、可解释、方便回测的初版策略;必须显式写出入场、出场、风控、样本外验证步骤;不要追求高收益,先追求可检验。
你看,这种写法的核心不是“求答案”,而是“限定研究任务”。
这件事和写普通内容很像。风格锚点比空泛描述更重要,约束条件比一句“写得专业一点”更重要。量化场景里更是这样。你不给边界,AI 很容易给你拼一个看起来懂很多、实际不能落地的东西。
但说回来,AI 也只是辅助。量化交易这件事,最后还是得你自己承担判断。
我后来越来越不相信两类东西。
一类是只给你看收益,不给你看回撤、不告诉你手续费、不讲样本外的策略展示。
另一类是上来就卖“稳定盈利系统”的课程或者工具。
因为我自己踩过坑,所以现在看得更清楚。量化交易真正有价值的部分,不在于某个公式,也不在于某个神秘指标,而在于你有没有能力把一个想法从“听起来有道理”,推进到“经过了足够多轮打磨,仍然有一点点可信度”。
这个过程很慢。
慢到很多人根本坚持不到那一步。
可也正是因为慢,它才把人分出来了。
你问我量化交易强在哪,我现在会说,它强在可验证。你每一个假设都能被数据打脸,虽然这个过程很痛,但它至少不会让你永远活在“我觉得”的世界里。
你问我它弱在哪,我也会说得很直接。它弱在门槛并不低,而且这个门槛不是只会 Python 就能解决的。你要懂市场结构,懂数据质量,懂回测偏差,懂交易成本,懂风控,还得懂自己什么时候在自欺欺人。很多人不是不会写代码,而是不会做研究。
它适合谁?适合那些愿意长期复盘、愿意做记录、愿意承认自己错了、愿意把系统当产品慢慢打磨的人。
它不适合谁?不适合把量化当暴富快捷方式的人,也不太适合那种对回撤没有耐心、对数据没有敬畏、看到一条好看的曲线就想直接实盘的人。
这话听起来有点冷,但是真的。
我自己学到现在,最大的心得其实不是“某个策略多厉害”,而是我开始重新理解交易这件事。以前我看交易,更像在看机会。现在我看交易,更像在看约束。以前我总想着怎么抓住波动,现在我更在意怎么不被噪声拖走。以前我容易被结果打动,现在我更愿意盯着过程看。
这也是我觉得量化交易真正值得学的地方。
它最后不只是教你写策略,而是在训练你怎么处理不确定性,怎么跟自己的冲动拉开距离,怎么把判断拆解成结构,怎么让一个系统在现实里经受住摩擦。
说到底,量化不是让你变成一个更会预测的人。
量化是在逼你变成一个更会验证的人。
这几年我越来越觉得,未来真正有价值的,不是“会不会用某个量化工具”,而是你能不能把研究、数据、执行和复盘连成一整条链。开源工具之所以值得看,也不是因为它们天然更强,而是因为它们把思路摊开给你看。你能看到一套系统是怎么被搭起来的,也能看到它哪里有限、哪里粗糙、哪里需要你自己补。
所以我现在给刚入门的人一个很朴素的建议:别急着找神策略,先找一套你能长期用来做研究和复盘的工作台。
加密方向里,我会先去看 Freqtrade 的 GitHub 和官方文档;想更偏研究和策略框架,就去看 Backtrader 的 GitHub 和官网;交易所数据和接口规则,则直接看 Binance Developer Center。至少从学习路径上,这几个入口都很实在。
最后我还是想说一句,量化交易这件事,真正让我持续投入的,不是它看起来聪明,也不是它看起来自动化。
而是它逼我承认一件事:市场不会因为我有观点就给我回报,但一套被认真验证过、被认真复盘过、被认真控制风险的系统,至少能让我在这个充满噪声的地方,站得稍微稳一点。
这点,对我来说,已经很值了。