量化炒股入门:把凭感觉买卖变成用系统做决策
本文仅供学习交流,不构成投资建议。
让我先说一件让大多数量化爱好者不舒服的事:你脑子里关于量化的画面——几块屏幕、跳动的数字、一个自动赚钱的程序——不仅是简化,而且是危险的简化。它把一种需要深刻怀疑精神的活动,包装成了一种机械性的确定感。
量化的核心,不是「更聪明地预测市场」。恰恰相反,它的核心是承认自己不够聪明,所以需要一套严格的规则来约束自己的愚蠢。
把原本模糊的、情绪化的、临场拍板的交易决策,翻译成一套可以写下来的规则——可检验、可复盘、可证伪。注意最后两个字:可证伪。这是区分量化和自我安慰的关键标准。
在 A 股语境里,这件事的法规边界其实已经划定。证监会把程序化交易定义为「通过计算机程序自动生成或下达交易指令进行证券交易」,2024 年起施行,沪深交易所实施细则落地,深交所明确个人投资者可以参与。量化不是灰色地带,而是有规则、有边界、有合规要求的正规行为。
但法规能给你的只是许可,不是能力。而大多数人连入门的第一步都走错了——他们去找「胜率最高的指标」,去搜「年化 80% 的神策略」。这不是学习,这是迷信。
真正的第一步是建立一个认知:量化不替你思考,它只是逼你把思考暴露出来。你原来凭感觉做的判断,必须变成明确条件。你原来靠「应该没事」硬扛的亏损,必须变成事先定义好的阈值。你原来在行情好时自信膨胀、行情差时自我怀疑的情绪波动,在量化里都要被记录,然后被无情地检验。
量化不是更聪明地猜。它是更严格地执行,和更诚实地面对自己猜错的频率。
一、量化炒股到底是什么
交易拆开来看,就是一串决定:买什么?什么时候买?买多少?什么时候卖?亏多少停?赚多少走?什么时候空仓?什么时候降仓位?
主观交易者通常在看到行情之后临时做这些决定。量化交易者在行情发生之前就把这些问题回答好,然后用规则和程序执行。
看上去很简单的区别,背后是一整套认识论的转变。
一个主观交易者说:「这只 ETF 最近走势不错,感觉要突破了。」
这句话有一个致命问题:它不可证伪。什么叫「走势不错」?用什么度量?什么叫「要突破」?突破到什么程度算成立?回落多少算失败?仓位该多大?第二天低开怎么办?
把这些问题一旦写清楚,你会发现:大多数人嘴里的「交易逻辑」,其实只是情绪、印象和事后叙事的混合物。他们不是在做判断,而是在讲故事——给自己听的故事。
量化的第一步就是把这种叙事翻译成可以被检验的规则。把「感觉要突破」翻译成:「若收盘价创 60 日新高,且 20 日均线向上、成交额不低于 20 日均值的 0.8 倍,则下一交易日开盘买入,仓位 30%;收盘价跌破 20 日均线则卖出。」
这套规则可能赚钱,也可能不赚钱。但它有一个叙事永远没有的品质:它可以被证伪。你拿历史数据一跑,它是什么就是什么。没有借口,没有「如果当时……」,没有「下次运气会好一些」。
这就是量化的本质:把交易从叙事变成实验。系统可以简单到一条均线,也可以复杂到多因子加机器学习。但复杂还是简单不是重点。重点是:规则是明确的,结论是可检验的,错误是可被发现的。
量化不天然等于高深,不天然等于 AI。它首先是一种知识论立场——我愿意让自己的想法接受数据的检验——其次才是技术栈。
一个成熟的量化系统有四层:研究层提出假设,验证层检验假设,执行层把信号变成订单,风控层在系统出错时保护账户。大多数人以为核心是公式。错了。核心是风控层。因为任何公式都会在某些条件下失效,而风控决定了失效时你还能不能活着。
二、为什么很多人一听量化就误解
关于量化的四种流行误解,每一种都反映了人类面对不确定性时的某种心理弱点。
第一种:量化等于人工智能。 这种误解来源于人们对「复杂 = 有效」的天真信仰。好像只有用了神经网络、深度学习,才算量化。事实上,大量真正赚钱的策略都极其朴素——趋势跟随、资产轮动、均值回归、再平衡。它们不需要任何复杂模型。但只要规则明确、可回测、可执行、可管理风险,它就是量化。
我见过太多人一上来就想做 AI 选股,连数据清洗都没弄清楚就放弃了。他们不是败给了市场,而是败给了自己对复杂性的迷恋。
第二种:量化等于高频交易。 高频交易是量化的一个分支,但它是极窄的一支,需要超低延迟、海量订单和专业级基础设施。沪深交易所已给出明确标准:单个账户每秒申报撤单 300 笔以上,或单日 20000 笔以上,才算高频交易。
个人投资者跟机构比速度,就像用自行车跟高铁赛跑。你真正该练的不是速度,而是规则设计、数据处理、回测纪律和风控能力。你的优势恰恰在于你可以慢——日频甚至周频,不受规模约束,不受客户压力。
第三种:量化天然比主观更客观。 这是最危险的误解,因为它让你放松了对自身偏见的警觉。程序能减少情绪干扰,但程序不会自动消灭偏见。你用什么数据、怎么复权、如何定义信号、有没有偷看未来数据、回测里忽略了多少成本、参数是不是调到了「刚好对过去最好看」的位置——这些偏差,程序一个都帮不了你。
量化并不消灭自欺欺人。它只是把自欺欺人的工具从「直觉」升级成了「代码」。如果你觉得这很讽刺,那说明你开始理解量化了。
第四种:量化是一劳永逸的印钞机。 这种想法暴露了人类对稳定性的幻觉。市场是一个复杂适应性系统——参与者会学习、会模仿、会改变行为。资金结构会变,交易制度会变,流动性会变,策略拥挤度会变。一个策略一旦被足够多的人使用,它就会开始自我毁灭。
量化系统不是修好就能永远运行的水龙头。它更像一台在地震带上运行的实验装置——需要持续校准、持续维护、持续怀疑自己是不是已经坏了。
三、一个量化系统到底长什么样
学量化不是背指标。是先在脑子里建立一张系统地图。把量化系统想象成流水线,五段各有职责。
数据层。 量化的地基。你至少需要行情数据、交易日历、标的信息、复权信息。有些策略还需要财务数据、指数成分等。但真正的问题不是「有没有数据」,而是「数据是否干净、连续、口径一致,是否能还原当时真实可得的信息」。数据层的任何疏忽,都会在下游被放大——而且是以你察觉不到的方式被放大。
策略层。 负责把想法翻译成信号。你认为趋势会延续?定义「趋势」。认为强者恒强?把「强」转成可排序的指标。相信均值回归?把「偏离程度」写成公式。策略层做的不是讲故事,而是写条件链——可以被机器执行、被历史数据检验的条件链。
组合层。 大多数新手只关心「买什么」,忽略「买多少」。但仓位管理往往比选标的更重要。全仓还是等权?按波动率调整还是设行业暴露上限?组合层回答的是:即便信号对了,我该以什么方式承接这个判断,才不会因为一次错误就被市场消灭。
执行层。 信号不是成交,成交不一定等于回测里假设的价格。你是收盘后生成信号、下一开盘成交?考虑了滑点吗?考虑了成交量约束吗?考虑了买不进或卖不出的异常情况吗?执行层不光鲜,但它是连接理论和现实的桥梁。桥断了,理论再漂亮也没用。
风控与复盘层。 这是整个系统里最重要的一层,尽管大多数人把它当成最不重要的。单日亏损过大是否触发降仓?组合回撤是否触发停机?数据更新失败是否自动中止?还要有日志和报告,让你知道每一个操作的原因。没有复盘的量化不是系统,是自动化的赌博。
好的量化项目未必复杂,但一定结构清楚。哪怕只做一只 ETF 的双均线策略,把五层都想明白,学到的东西也远比抄一段「神代码」多得多。
四、为什么 A 股新手更适合从 ETF 开始
先别碰个股。从 ETF 做起。
不是个股不值得做,而是 ETF 帮你隔离了太多你不该在第一阶段处理的复杂性:业绩爆雷、黑天鹅、停牌断层、题材股熄火、ST 和退市风险。这些都是「肥尾事件」——发生概率低但后果极端。你在还没学会游泳的时候,不应该去鲨鱼出没的海域。
ETF 上先把数据、回测、信号、报告打通,学习效率会高很多。
还有一个更本质的原因:对初学者来说,建造研究系统本身比追求 alpha 重要得多。个股策略会迅速把你拖进复杂性的泥潭——股票池选择、财务数据频率、调仓日和财报日对齐、停牌处理、涨跌停限制、分红送转、成分股变更回溯。这些问题都值得学,但它们适合当第二阶段的课题。
ETF 更像一块干净的实验台。你可以快速跑出完整闭环:下载数据、计算信号、生成持仓、跑净值曲线、算指标、做报告、做样本外验证。
在 A 股语境里,这也更符合监管逻辑。证监会明确提出「先报告、后交易」,程序化交易投资者需先报告相关信息。对入门者来说,先做研究、回测、信号输出,再逐步走向半自动决策支持,是比「一上来就无人值守自动报单」稳妥得多的路径。
量化最怕的不是策略差,而是工程项目起得太大,最后什么都没做完。先做小,做完,做对。这比什么都重要。
五、数据:量化的地基,也是最大的坑
垃圾进,垃圾出。这句话你大概听过一百遍了。但它之所以被反复说,恰恰是因为几乎所有人都会在数据层栽跟头——包括那些自以为不会的人。
大多数人把精力花在策略公式上,结果发现真正决定结果有没有意义的,是一些「无聊的」细节:交易日对齐了吗?复权对了吗?停牌日有空缺吗?代码映射稳定吗?某些字段在当时是不是根本不可得?
以 Tushare Pro 为例。它的文档提供了 trade_cal 交易日历、fund_daily ETF 日线、fund_adj 复权因子等接口。A 股日线接口明确说明默认是未复权行情,停牌期间不提供数据。
这些不是 API 细节。这是「你的策略到底在研究真实的市场,还是在研究一个虚构的市场」的分界线。忘了复权,均线信号会被分红扭曲。没意识到停牌期间无数据,回测会把「没交易」误当成「价格稳定」。没用交易日历对齐,不同标的之间的比较就是在比两把不同长度的尺子量出来的结果。
复权一点不高深。它只是说:历史价格必须放在同一把尺子上看。分红或送转后不做处理,价格图会突然断层。你的均线、涨跌幅、突破信号都会被这个假断层误导。你以为找到了无敌策略,其实只是让错误数据给你编了一个好听的故事。
还有一个大多数人不想面对的问题:点时可得性。你在某个交易日做决策时,到底能看到哪些信息?财报 4 月 30 日发布,你在 4 月 10 日的回测里就不能用它的数据。某只股票后来被剔出指数,不代表你可以假装当时就知道。
这是量化里最深层的诚实测试:你能不能假装自己不知道已经知道的事情?大多数人做不到。但做不到这一点,你的回测就不是实验,而是小说。
对个人开发者的实用建议:建立本地缓存。把数据源当采集器,把本地 Parquet 或 SQLite 当真相源。先落地、清洗、标准化,再由回测模块读取。不仅更快,更重要的是可复现。
数据问题永远不会「解决一次就没事了」。每引入新资产、新频率、新字段,问题都会重新出现。成熟的量化思维是:默认数据迟早会出问题,系统里必须为此留出位置。
六、新手最值得先掌握的两类策略
先学趋势,再学轮动。理由不是它们最赚钱,而是它们最适合当训练场——让你在可控的复杂度里建立正确的工作习惯。
趋势跟随。 最典型的是双均线策略:短均线上穿长均线买入,跌破卖出。或者更简单——收盘价站上长期均线就持有,跌破就空仓。
趋势策略的真正价值不在于它能赚多少。它的价值在于,它会把你不想面对的问题一个个逼到你面前:信号按收盘价还是盘中生成?成交假设放在下一开盘还是下一收盘?参数该固定还是搜索?手续费和滑点会不会把微弱优势吃掉?
极简版本:一只宽基 ETF,20 日和 60 日均线。20 日在 60 日上方且空仓就买,跌回下方且持仓就卖。跑出净值曲线,观察回撤、换手频率、不同市场阶段的表现。
做完这一轮,你得到的不是圣杯,而是你的第一份量化实验报告。而一份诚实的实验报告,比一百个虚假的回测曲线更有价值。
ETF 轮动。 背后的逻辑是动量效应:强势资产可能继续强势。选几个 ETF,按过去一段时间的收益打分,定期持有得分最高的。加一个绝对动量过滤:标的本身收益为正或站在长期均线上方才买入,否则空仓。
轮动比趋势多了横向比较,但没有个股多因子那么复杂。你可以快速学会组合调仓、排序逻辑、再平衡频率、换手率控制等更接近真实资产配置的问题。
至于多因子和机器学习——可以最终走到那里,但别当第一站。那个世界的复杂度会瞬间吞没准备不足的人:财务数据时效性、幸存者偏差、行业中性化、极值处理、样本穿越、特征泄露。先在简单系统上建立正确习惯,再去碰复杂的东西。
七、回测:量化里最重要,也最容易骗人的环节
让我说一句你可能不想听的话:回测是量化里最危险的工具。
不是因为它没用,而是因为它太有说服力了。一条漂亮的历史净值曲线,能产生一种几乎催眠般的确信感:过去这么有效,未来也差不多。但回测不是预言。它只是在一组特定历史条件下、基于一套特定假设做出的模拟。改变任何一个前提——数据、规则、假设——结论就可能反转。
回测有五个经典陷阱。每一个都不会让你的代码报错,但每一个都能让你的结论从「有效」变成「虚构」。
未来函数。 在历史里使用了当时不可能知道的信息。用收盘价假设盘中成交。用季报公布后的数据选季报公布前的股票。用今天存活的 ETF 名单做过去的策略。未来函数不报错,但它让你的实验变成了开卷考试——而你自己还以为是闭卷的。
幸存者偏差。 只拿今天还活着的标的回看过去。退市的、清盘的、边缘化的,全被你无声删掉了。这就像只采访百岁老人来研究长寿秘诀——你永远不知道那些 50 岁就去世的人是不是做了完全相同的事。
信号与成交混淆。 收盘后才能确认信号,却假设当日收盘就能买入。一个细节就能让漂亮的回测缩水一大截。
忽略交易成本。 很多策略只在零摩擦的理想世界里好看。加入佣金、印花税、滑点和换手率约束后,惊艳变平庸,甚至直接转负。这些策略不是「差一点点」就能成功——它们从一开始就是纸上谈兵。
过拟合。 你不断调参数——20 日改 23 日,再改 27 日,加成交量过滤,加波动率阈值——直到找到一组在过去完美的参数。恭喜你,你刚完成了一次精确的自我欺骗。你不是在发现规律,你是在对历史数据做修辞。过拟合最可恶的地方在于它给你最强的心理奖励——「我找到了!」——恰恰在你最需要怀疑自己的时候。
成熟的回测需要一整套防自欺机制:样本内外拆分、walk-forward 滚动验证、参数敏感性分析、不同市场阶段对比、强制加入成本、数据版本固定。
回测的价值不是让你兴奋。它的价值是让你在兴奋的时候还能保持清醒。
八、怎样读懂一份回测报告
大多数人看回测报告的方式是错的。他们盯着总收益率,然后被大数字催眠。
一份有用的回测报告至少回答四个问题:赚不赚钱?过程能不能忍?靠什么赚的?在哪里最脆弱?
收益率必须放在风险背景里看。年化 18% 最大回撤 55%,和年化 12% 最大回撤 12%,哪个更好?如果你的回答是「当然是 18%」,那你还没准备好做量化。因为你大概率扛不过 55% 的回撤——没有人在真实经历 55% 的亏损时还能保持理性。
最大回撤是账户从高点到低点最深的那个坑。数学上有一个不对称的事实:回撤 10% 需涨 11% 回本,回撤 20% 需涨 25%,回撤 50% 需涨 100%。这不是对称的游戏。这是一个深刻的不对称——它意味着保护本金不是保守,而是数学上的必要。
夏普、波动率、卡玛比率帮你判断收益是平滑的还是剧烈抽搐的。过程像心电图一样剧烈的策略,在真实持有中几乎不可能坚持。大多数人不是被市场打败的——他们是被自己的情绪打败的。
胜率是最容易误导人的指标。80% 胜率的策略如果每次小赚偶尔大亏,总体可能是负的。35% 胜率的策略如果靠少数大赚覆盖大量小亏,反而能赚钱。真正重要的不是赢了几次,而是赢的时候赢多少、输的时候输多少、长期期望值是正还是负。
换手率也关键。太忙的策略在真实世界里几乎不可能如回测般执行——成本、滑点和心理疲劳会把看似微小的摩擦放大成致命的劣势。
成熟的报告应该有分年度表现、月度分布、回撤区间、持仓变化、交易摘要、参数说明、成本假设和失败阶段分析。
九、风控不是附属品,而是系统的一部分
如果你把风控理解成「出了问题就止损」,那你对风险的理解还停留在幼儿园水平。
风控不是补丁。它应该在策略诞生的第一秒就存在。你设计的不是「怎样赚钱」,而是「怎样在可能赚钱的同时,确保一次错误不会杀死你」。
仓位是最基础的风控。 同一策略,10% 仓位和满仓,体验天差地别。仓位管理的本质不是让收益变低——它是让你有资格继续存在。市场不会因为你亏了就暂停。能否留在桌上,是你有没有复利可能的前提条件。
我把这叫做「生存第一原则」:在不确定的环境里,活着比赢更重要。因为死的人没有第二次机会。
分散和暴露管理是第二层。 几个看似不同的 ETF 可能高度相关。分散不是数量问题,而是暴露结构问题。真正的分散是确保你的风险来源是多样的,而不只是标的名称是多样的。
退出机制是第三层。 什么时候减仓、空仓、停止交易、认定策略失效,都应该前置。不是用极端紧的止损把系统剪碎,而是确保退出不依赖情绪。你可以用价格、波动率、回撤、信号反转甚至系统错误率来定义退出——但不要让「再等等看」成为默认。
操作和工程层面的风控是第四层。 数据更新失败怎么办?接口异常怎么办?回测结果突然变了怎么办?对个人开发者来说,工程失误、参数写错、数据污染造成的损失,可能比市场波动更大。
风控不是悲观主义。风控是你和灾难之间的最后一道墙。你不是在证明自己永远正确——你是在确保自己错了的时候不会被消灭。
十、把量化当技术项目来做,才会越做越稳
把量化只当几个公式,你会很快碰到天花板。真正让量化变成可持续能力的,是工程化。
对个人开发者来说尤其如此——你没有机构的平台和团队,得自己搭。
项目结构要清晰。 数据采集、清洗、策略、回测、指标、报告,各有边界。不要把一切塞进一个 Notebook。量化项目一旦没有边界,每个新需求都会引入新的混乱。
结果要可复现。 今天跑出来的结果,下周还能复现吗?换台电脑还知道改了什么吗?配置文件、数据版本、日志、结果归档——这些看起来不「性感」的东西,恰恰是区分业余和专业的分界线。
研究和执行要分开。 研究模块提出和验证假设,执行模块把假设翻译成操作。最好的第一阶段不是自动下单,而是每天更新数据、计算信号、生成报告、输出候选动作,由人工确认。
要对测试有敬畏心。 均线对不对?交易日对齐对不对?手续费有没有重复扣?量化里最可怕的错误不是程序崩溃——那至少你知道出了问题。最可怕的是程序看起来正常运行,却在悄悄给你错误的结论。这种错误不会发出警报,但会在真实世界里让你付出真金白银。
量化是交易、数据、统计、工程和自我管理的交叉点。会写策略的人很多,能把系统搭稳的人少之又少。
十一、一个适合个人开发者的 90 天入门路径
「三个月做出一个小闭环」——而不是「半年做出顶级系统」。个人项目最怕贪大。先跑通,再做深。
第一个月:跑通最简单的单策略回测。 一两只宽基 ETF,本地数据缓存,双均线策略,净值曲线、收益、最大回撤、交易记录。不追求策略多强——逻辑清楚、结果可重复、能解释每笔交易的原因。这比什么都重要。
第二个月:升级到可比较的小平台。 加入 ETF 轮动,增加参数配置,加入样本内外拆分和交易成本,生成报告。到这一步你不是在试写策略,而是在建造研究工具。
第三个月:验证而非炫技。 Walk-forward 验证,参数敏感性分析,不同 ETF 池子测试,每天自动生成次日候选持仓。关键不是系统越来越复杂,而是复杂一点之后还能保持清晰和可解释。
三个月后你大概率还没赚到大钱。但你会拥有一个更重要的东西:一套可持续迭代的金融实验系统。这个系统才是你真正的资产——不是里面的某个策略。
十二、为什么很多回测很好看,实盘却很难受
每个做量化的人都会遇到这个问题。
回测面对的是已经发生的世界。你知道结局。你知道哪次下跌只是暂时的,哪里后来会创新高。这种「知道结局」的感觉,会让你严重低估真正面对未知时的心理冲击。
实盘面对的是正在发生、你不知道结局的世界。连续亏损三周时,你不知道这是正常波动还是策略永久失效。这种不确定性不会因为你有一套量化系统就消失。
实盘还比回测多了大量摩擦——忘记更新数据、手动确认时犹豫、实际成交和假设不一致、流动性不足、节假日和系统异常。单笔看不大,长期叠加会改变结果。
还有一个大多数人不愿承认的原因:人在回测时会挑自己喜欢的结果。不好看的参数、不好看的时段、不好看的样本,被无意识地筛掉了。你以为自己在做客观研究,其实在给自己想看的结论寻找证据。这在心理学里叫确认偏误——它是人类认知里最顽固的缺陷之一。
实盘和回测之间真正的桥梁,不是找更强的策略。而是让假设更接近现实,让执行更接近纪律,让心理预期更接近真实的亏损体验。
成熟的量化不是回测有多漂亮,而是回测和实盘之间的落差有多小。
十三、几个高频问题的真回答
零基础能学量化吗? 能。但需要一组能力:一点 Python,一点数据处理,一点统计常识,一点交易规则理解,再加长期做项目的耐心。真正难的不是第一段代码,而是把杂乱知识拼成稳定系统。
必须先学高级数学和机器学习? 不必。入门阶段最重要的是把简单规则做正确。很多人不是输在不会高级数学,而是输在不会老老实实做基础工作。先把定义问题、清洗数据、做回测、看报告、控风险这些基本功做到位。
资金小有必要做量化吗? 有。量化入门最大的产出不是收益,而是方法。小资金反而适合做实验——输得起的时候是最好的学习时机。
要不要一开始就全自动下单? 不要。A 股程序化交易有明确规则和报告要求。先做研究、回测、信号输出、人工确认。自动化应该是系统成熟后的自然结果,不是「显得高级」的装饰。
神策略能直接抄吗? 可以研究。但先问四个问题:数据口径?执行假设?成本计算?样本外表现?很多公开策略最厉害的地方不是真的无敌,而是省略了让结果变差的所有细节。
回测不够漂亮就没价值? 恰恰相反。太漂亮的回测反而可疑。真实可用的策略往往只是「逻辑清楚、回撤可控、样本外没崩」。平庸但稳定,远比惊艳但脆弱更有价值。脆弱的东西,在真实世界里迟早会碎。
什么时候算真正入门? 当你能回答这些问题的时候:系统为什么可能有效?依赖什么前提?最可能在哪里失效?成本和摩擦是什么?风险边界在哪里?失效时你怎么处理?
能回答这些,才说明你从「写代码的人」变成了「做系统的人」。
结语
量化听起来像金融技术。做久了你会发现,它首先是一种认识论训练。
它训练你把模糊直觉翻译成可证伪的规则。把想象中的优势放进严格验证。把历史里的漂亮结果放进现实摩擦里重新审视。把「我可能是对的」换成「我怎样才能发现自己是错的」。
它不是圣杯。不会消灭亏损和焦虑。它甚至比主观交易更残酷——它会把你的错误一条条暴露出来,不留余地。
但正因如此,它才值得学。因为在一个充满不确定性的世界里,唯一比「知道答案」更有价值的能力,是「知道自己不知道答案」。
真正的量化入门,不是找到一套神秘公式。而是开始愿意承认:市场很复杂,自己会犯错,任何优势都必须经过检验,任何收益都要付出风险代价,任何系统都需要维护。
到了那一步,你写的就不再只是买卖程序,而是一套帮助自己在不确定世界里做出更稳定决策的工具——同时始终提醒自己:这套工具也可能是错的。
而这种清醒,才是量化最有价值的地方。