跳转至


课程  因子投资  机器学习  Python  Poetry  ppw  tools  programming  Numpy  Pandas  pandas  算法  hdbscan  聚类  选股  Algo  minimum  numpy  回测  数据标准化  algo  FFT  模式识别  配对交易  GBDT  LightGBM  XGBoost  statistics  CDF  KS-Test  monte-carlo  VaR  过拟合  algorithms  machine learning  strategy  python  sklearn  pdf  概率  数学  面试题  量化交易  策略分类  风险管理  Info  interview  career  强化学习  监督学习  AI量化  复权  数据  tushare  akshare  xgboost  PCA  wavelet  时序事件归因  SHAP  alog  paper  multimodal  speech  volatility  深度学习  归一化  BN  LN  WN  machine-learning  quant-trading  dropout  kaggle  boosting  决策树  泰勒展开  quant  finance  model  github  analysis  deep-learning  tcn  time-series  causal-convolution  交易实战  避坑指南  Figures  Behavioral Economics  graduate  arma  garch  人物  职场  Quantopian  figure  Banz  金融行业  买方  卖方  story  量化传奇  AGI  人才  核心竞争力  认知革命  下注  有限性  内求  存在论  self-learning  probability  portfolio  risk-management  量化入门  认知心理学  代码  学习路径  rsi  zigzag  穹顶压力  因子  ESG  因子策略  投资  策略  pe  ORB  Xgboost  Alligator  Indicator  factor  alpha101  alpha  技术指标  wave  algorithm  pearson  spearman  套利  LOF  白银  因子分析  Alphalens  涨停板  herd-behaviour  momentum  因子评估  review  SMC  聪明钱  trade  history  indicators  zscore  波动率  lightgbm  顶背离  另类数据  用户行为  热度因子  ifind  因子复现  freshman  resources  others  AI  DeepSeek  network  量子计算  金融交易  IBM  weekly  进化论  logic-factor  Agent Skills  Skills Marketplace  VS Code  Tushare  XtQuant  BaoStock  A股  量化  neutralization  basics  LLT  backtest  backtrader  研报  papers  UBL  金融阅读  免费资源  华尔街日报  WSJ  量化学习  quantlib  jupyter-notebook  scikit-learn  pypinyin  qmt  xtquant  blog  static-site  duckdb  工具  colors  free resources  barra  world quant  Alpha  openbb  llm  prompt  CANSLIM  Augment  arsenal  copilot  vscode  code  量化数据存储  hdf5  h5py  OpenClaw  Hermes Agent  Agent  cursor  augment  trae  Jupyter  jupysql  pyarrow  parquet  数据源  quantstats  几何收益  实盘  clickhouse  polars  滑动窗口  openclaw  notebook  sqlite  sqlite-utils  fastlite  大数据  PyArrow  UV  Pydantic  Engineering  redis  remote-agent  AI-tools  Moonshot  回测,研报,tushare  dividend 

很多人学量化,第一步就走错了

最后更新: 2026-04-29


很多人学量化,第一步就走错了

三年前有个读者找我聊,说他花了三个月学量化,情况是这样的:

Python基础刷完了,Pandas和NumPy用得熟练,PyTorch的LSTM股价预测教程跑了五遍。教程里的回测曲线很漂亮——2020到2025年,年化收益28%,夏普比率1.82,胜率62.4%。他跟着一步步复现,代码能跑通,曲线也对得上。

然后他用小资金实盘,两个月亏了12%,模型停用。

他问我:为什么会这样?


问题不是模型不够复杂

他学的顺序是这样的:Python → 机器学习 → 找策略代码 → 跑回测 → 上实盘。这个顺序看起来合理,但实际上跳过了量化最核心的东西。

我画了一张图,量化学习其实有五个阶段:

阶段 内容 大多数人从哪里开始
1 概率思维:理解不确定性、期望值、大数定律 ❌ 跳过
2 数据认知:理解样本、分布、幸存者偏差、过拟合 ❌ 跳过
3 策略逻辑:理解盈亏同源、夏普比率、最大回撤的含义 ❌ 跳过
4 工具实现:Python、回测框架、数据库 ✅ 从这里开始
5 实盘检验:滑点、冲击成本、心理承受 很少走到这一步

他从第4步直接跳进去,前面的地基一块没打。

这不是他的错。网上99%的量化入门教程都是这么教的:先装Anaconda,再学Pandas,然后跑一个双均线策略,看看回测曲线。这些教程教的是"怎么操作软件",不是"怎么理解市场"。


跳过前三步,后面每一步都会踩坑

第一阶段跳过(概率思维)的后果:

他跑出来的回测曲线,年化28%,最大回撤-18.5%,胜率62.4%。看到这个数字,他的第一反应是"这个策略能赚钱"。

但量化看一个策略,第一反应不应该是"能不能赚钱",而是"这个期望值的计算过程靠不靠谱"。

28%的年化收益是怎么算出来的?回测条件是什么?扣了交易成本吗?用了哪些年份的数据?这28%里,有没有某一年占了总收益的一半?他一个都没想。他看到的是一条向上的曲线,然后直接等同于"能赚钱"。

更底层的问题是:他学量化,心里想的其实还是"预测"。LSTM输入前20天的K线,输出明天的涨跌——这不就是预测吗?但量化处理的不是"明天涨不涨"这种判断题,而是"这一类交易重复一千次,长期下来值不值得做"这种概率题。

判断题思维关心的是准确率。概率题思维关心的是期望值:赢的时候赢多少,输的时候输多少,各有多大概率发生。

如果他先学过概率思维,就不会盯着"准确率62.4%"这种数字自我安慰。量化圈子里有个公认的事实:很多深度学习模型训练集准确率能到85%,实盘预测涨跌的准确率只有51.3%——比抛硬币强不了多少。更关键的是,哪怕准确率有60%,如果赢的时候赚1个点、输的时候亏2个点,长期期望值仍然是负的。

第二阶段跳过(数据认知)的后果:

他跑小市值因子策略,回测2010到2020年,年化收益29.7%。聚宽有一份研究报告,每年买入A股市值最小的100只股票,十年跑出来的收益就是这个数。但这个回测有一个隐藏的陷阱:股票池是"当前还在交易的股票"。

2010到2020年之间,有很多小市值股票后来退市了、ST了、被收购了。这些股票从回测池子里被踢掉了,因为它们"现在不存在"。存活下来的小市值股票,恰好是这十年里表现好的那部分。用它们的平均收益来代表"小市值策略"的收益,相当于问一群百万富翁"你怎么变富的",然后总结致富经验——你听不到破产者的声音。

这叫幸存者偏差。不先理解数据是怎么生成的、样本是怎么筛选的,回测就是在沙滩上盖楼。

更深层的问题还没完。29.7%这个数是"裸回测"的结果,没有考虑真实交易成本。A股散户佣金加印花税,单边至少0.15%;小市值股票日均成交额仅为大盘股的1/10,买卖滑点可能高达0.5%到0.8%。把这些成本叠加上去,年化收益会大幅缩水。有研究做过对比:加入退市股票和真实交易成本后,原本30%左右的年化大多会跌到15%-25%之间。

第三阶段跳过(策略逻辑)的后果:

回测曲线漂亮,不代表实盘能跑。回测和实盘之间至少隔着三道墙:滑点、冲击成本、参数过拟合。

前面说的那个LSTM教程,回测假设了零交易成本、零滑点、可以按收盘价成交。这三个假设在实盘中一个都不成立。A股散户佣金加印花税,单边至少0.15%;小盘股滑点可能0.5%以上;按收盘价成交在流动性差的股票上几乎不可能。把这些成本叠加上去,28%的年化可能直接腰斩。

他用的策略有六个参数,网格搜索找最优组合。这在数学上等价于:在训练集上试了上千种组合,选出历史表现最好的那一组。这不叫优化,这叫在答案揭晓之后选答案。样本内好看,样本外大概率崩。

如果先学过策略逻辑,他会知道"参数越少越鲁棒""回测好看可能是过拟合的征兆"这些基本道理,就不会对着一条漂亮的曲线激动三个月。


正确的第一步应该做什么

不是装Python。不是跑双均线。不是学LSTM。

正确的第一步,是一个不需要电脑就能完成的思维实验:

找一只你最近关注过的股票,或者一个你常用的交易方法。然后拿出纸笔,回答下面四个问题:

第一,这个方法的胜率是多少?

不要凭感觉说"大概六成吧"。去翻历史记录,数一下过去三年里,这个方法出现信号之后,上涨和下跌的次数各是多少。如果没有历史记录,那就承认"我不知道"——"不知道"比"猜一个数"更接近量化的起点。

第二,赢的时候平均赚多少,输的时候平均亏多少?

很多人只关心胜率,不关心盈亏比。一个胜率30%但盈亏比3:1的策略,长期期望值是正的;一个胜率70%但盈亏比0.5:1的策略,长期期望值是负的。胜率单独看没有意义,必须和盈亏比配对。

第三,最坏的情况下,连续错多少次?最大回撤会有多深?

期望值是长期平均,但路径是具体经历。一个期望值为正的策略,可能先连续亏八次,把本金打掉30%,然后才开始盈利。你能不能扛过那八次?不是心理上能不能扛,是资金上能不能扛——会不会在第八次的时候就被迫止损出局了?

第四,这个方法的"失效条件"是什么?

任何策略都有生命周期。趋势跟踪在震荡市失效,均值回归在趋势市失效,小市值在注册制之后失效。你的方法在什么市场环境下会失灵?失灵的时候你有没有退出机制?

这四个问题答完,你对"量化思维"的理解已经超过了市面上80%跑过回测的人。因为这四个问题强迫你从"预测一次"切换到"评估一类交易"。


为什么这个顺序不能颠倒

有人会觉得:我先学会Python和回测框架,再回头补概率思维,不行吗?

理论上可以,实际上很难。因为工具会反过来塑造思维。

当你已经会跑回测框架的时候,你的自然冲动是"多跑几个策略、多试几组参数"。回测工具太容易得到"结果"了——点一下运行按钮,三秒后出来一条曲线。这种即时反馈会让人上瘾,你会觉得"我在进步",但其实只是在收集更多好看的曲线。

而概率思维的训练是反直觉的。它要求你慢下来,不去跑代码,而是坐在那想:这个假设成立的前提是什么?数据的生成过程有没有偏差?这个结论能不能被证伪?这些东西没有即时反馈,不像跑回测那样点个按钮就有结果。所以一旦你先学会了工具,就很难再回头去啃那些"没有输出"的基础认知。

量化圈子里有个说法:回测是鸦片。第一次跑出一条向上的曲线,那种快感会让你误以为自己找到了圣杯。但如果你前面没有概率思维的防火墙,你分不清这条曲线是真实的Alpha还是过拟合的噪音。


那代码什么时候学

不是不学代码,而是不要第一步就学。

概率思维、数据认知、策略逻辑这三个阶段,每个阶段都有具体的检验标准:

  • 概率思维阶段:能用纸笔算出一个简单策略的期望值,理解为什么"胜率×盈亏比"比"准确率"更重要。
  • 数据认知阶段:能识别出一个回测报告里的三个常见陷阱(幸存者偏差、前视偏差、过拟合)。
  • 策略逻辑阶段:能独立设计一个"可证伪"的交易假设——也就是说,能清晰地说出什么情况下这个假设会被推翻。

这三个阶段过了,再碰代码。这时候你写的每一行代码都有明确的目的,你知道自己在验证什么假设、在排除什么偏差。代码是工具,不是起点。


写在最后

那个花三个月学LSTM的读者,后来怎么样了?

他花了一个月重新做那个思维实验。把自己过去两年的交易记录翻出来,一笔一笔分类统计。结果发现他自认为"胜率很高"的那个方法,实际胜率只有43%,盈亏比0.8:1,期望值是负的。

他不是在找更复杂的模型,他是在用一个更复杂的模型去包装一个本来就亏钱的交易逻辑。

很多人学量化,第一步走错,不是因为不够聪明、不够努力。恰恰相反,是因为太着急、太想找到一个"立刻能赚钱"的答案。但量化真正的起点,是承认市场的不确定性,然后学会在不确定中做有正期望的决策。

这个认知转换不依赖任何代码。一支笔、一张纸、一颗愿意慢下来的心,就够了。