当前位置: 首页 > news >正文

量化交易入门必学之——动量策略,追涨杀跌也能赚钱?

本文目录

    • 一、什么是动量策略?说白了就是科学的追涨杀跌
    • 二、动量vs均值回归:一个追涨一个抄底,到底区别在哪?
    • 三、动量策略适合什么样的行情?它真的长期有效吗?
    • 四、动量策略选股:两个原则帮你避开大部分坑
      • 原则一:只选长期向上的标的,排除爆雷风险
      • 原则二:选相关性尽可能低的资产,避免行情轮动打脸
    • 五、20日动量因子Python代码实战
    • 写在最后:动量策略适合普通投资者吗?

本文观点仅供参考,不构成任何投资建议。投资有风险,入市需谨慎。

很多人听到"量化交易"四个字就觉得头大,什么阿尔法、贝塔、因子模型,一堆专业术语给你整懵了。其实量化没那么玄乎,很多经典策略逻辑简单得很,今天咱们就来讲讲最广为人知也最有争议的——动量策略。

一、什么是动量策略?说白了就是科学的追涨杀跌

你肯定听过"追涨杀跌"这个词,在散户圈子里这基本就是骂人的话,形容那些乱操作的韭菜。但有意思的是,动量策略本质上就是"追涨杀跌",可它却在全球市场被验证了200多年,至今还是很多大型量化基金的核心策略。

动量策略的逻辑太好懂了:
过去一段时间涨得好的资产,未来一段时间大概率还会继续涨;过去跌得惨的,未来大概率还会继续跌。

就这么简单?对,就这么简单。

举个生活中的例子你马上就懂:假设你去商圈吃饭,两家店挨在一起,一家排起长队,一家空无一人。你大概率会选择排队那家,对不对?你的逻辑就是:这么多人排队说明东西好吃,好吃的店接下来还会好吃,继续排队。这就是生活中的"动量效应"。

放到股市里也一样:一只股票从10块涨到15块,说明肯定有什么利好推动着它——公司业绩变好,或者行业风口来了。这个利好不会第二天就消失,价格涨势也不会一天就结束。所以你买入已经涨起来的股票,期待它继续涨,这就是动量策略做多。反过来,一只股票从10块跌到7块,说明公司肯定出问题了,你卖出它甚至做空它,这就是动量策略做空。

这个现象不是谁拍脑袋编出来的,是被无数学术研究实打实验证过的。1993年,两位学者Jegadeesh和Titman发了篇开创性论文,他们发现:买入过去3-12个月表现最好的股票,卖空表现最差的,扣除交易成本后每年还能赚12%的超额收益。后来这个发现在美国、欧洲、亚洲,甚至商品、外汇、加密货币市场都被反复验证过,时间跨度能追溯到1800年代——200多年了,动量效应从来没消失过。

那为什么动量效应一直存在?主要因为人性。

做投资的人都有几个根深蒂固的毛病:

  • 赚钱了就早早落袋为安,把涨得好的股票卖了,这反而减缓了上涨速度,让利好不会一步到位
  • 亏钱了就死扛,舍不得割肉,跌了也不卖,拖慢了下跌的速度
  • 看到别人赚钱就忍不住跟进,越涨越买,进一步把价格推上去
  • 好消息出来的时候,大家总是反应慢半拍,不会一步涨到合理价位,而是慢慢往上爬

这些人性弱点写在我们基因里,不会因为大家知道"动量效应"就消失。这就是为什么动量策略能长期有效。

当然,动量策略也不是稳赚不赔。它最大的风险叫"动量崩溃",最典型的例子就是2009年金融危机之后:之前跌得最惨的垃圾股突然暴力反弹,之前抗跌的好股票反而涨不动,这时候做多赢股做空输股的动量策略就两面挨打,一个月能亏掉40%。这种事一般发生在市场从极端暴跌突然V型反转的时候,这也是我们后面要说的——动量策略有它适合的行情。

二、动量vs均值回归:一个追涨一个抄底,到底区别在哪?

讲动量策略就不得不提它的"对手盘"——均值回归策略,很多人搞不清楚这俩到底啥区别,既然都说到这了,我们就一起来搞清楚。

均值回归的逻辑刚好反过来:价格涨多了会跌回来,跌多了会涨回去,终究会回到它该有的"正常水平"。

比如你去买奶茶,一家店今天做活动排队特别长,活动结束人就少了,这就是均值回归;一只股票因为一个无关紧要的利空暴跌20%,但公司本身没毛病,之后价格会涨回来,这就是均值回归的应用。

维度动量策略均值回归策略
核心逻辑强者恒强,弱者恒弱物极必反,盛极而衰
对应操作追涨杀跌高抛低吸
适合时间短期-中期(1-12个月)超短期、长期(3-5年以上)
赚钱场景趋势明确的单边市区间震荡的盘整市
最大风险趋势突然反转(V型底)基本面恶化,再也回不去

看到没?它俩其实不是完全对立的,而是在不同时间尺度上同时存在。有个总结特别到位:

  • 超短期(日内到几天):微观结构影响,一般是均值反转
  • 短期到中期(1-12个月):动量效应最明显
  • 长期(3-5年以上):又变成均值回归

还是举个栗子:茅台从2015年开始走牛,每个阶段都不一样。2016-2018年,业绩持续超预期,股价一路涨,这时候用动量策略买入持有,能赚很多钱;到了2019-2020年,估值被炒得太高,远高于合理水平,之后两年持续下跌,这就是长期均值回归;如果在短期震荡的时候,比如2023年茅台在1600-1800区间来回晃,这时候高抛低吸做均值回归就比动量赚钱。

所以说,没有绝对的谁对谁错,不要想着就靠一个策略全场通吃,看你在什么时间尺度,什么行情下用它。

三、动量策略适合什么样的行情?它真的长期有效吗?

很多人说动量策略是"长期有效",这句话没错,但它不是在所有行情都好用,它有自己舒服的周期。还是那句话,没有圣杯,没有能够全场通吃的策略。

先给结论:动量策略最喜欢趋势明确、波动率低的单边行情,最讨厌来回震荡、V型反转的猴市。

前面我们说过,动量策略赚的是趋势的钱,它天生不喜欢波动。价格来回晃的时候,你追进去涨两天就跌,杀跌完又反弹,反复打脸,几次止损下来钱就亏没了。只有当趋势走出来,不管上涨还是下跌,它才能赚到钱。

动量策略不管在哪个市场都是有效的,我们就拿大家熟悉的美股和不太熟悉的B圈举个栗子给大家看看。

股市例子:美股十年慢牛

美股从2009年到2020年走了十几年慢牛,整体趋势向上,波动率不高,这简直是动量策略的天堂。

为什么?因为慢牛里龙头公司就是不断创新高,苹果、微软、英伟达,你拿着动量策略,哪个创新高买哪个,一路持有,就能吃到大部分涨幅。反观那些天天想着抄顶摸底做均值回归的,早早就卖飞了,赚不到大钱。

但像最近这段行情,自从特不靠谱老头子在中东挑事,地缘冲突加剧,行情随着局势剧烈变化,市场来回震荡,一会儿涨一会儿跌,这时候动量策略就很难受,追涨就被套,杀跌就反弹,效果远不如均值回归。

B圈例子:2021年BTC牛市

币圈的趋势性比股市强多了,2021年BTC从一万美元涨到六万多,一路上涨不回头,这时候动量策略赚得盆满钵满。你在涨到两万、三万的时候追进去,它还能继续涨,每次创新高都加仓,最后能赚好几倍。

但到了年底,BTC从六万多跌到三万,然后又从三万涨到四万,来回震荡,这时候动量策略就惨了:跌的时候追空,刚空完就反弹;涨的时候追多,刚多完就跌,几个来回下来本金都亏没了。

那动量策略真的长期有效吗?我给你看数据:从1800年代到现在,不管哪个市场,动量策略长期下来都是正收益,它确实是金融市场上最稳健的"异象"之一。但它不是每年都赚钱,它往往是亏很多次小钱,然后抓住一次大趋势赚一波大的,把之前亏的都赚回来还能盈利。

就像开赌场,大部分赌客都是小输,偶尔几个大赢,整体长期下来还是赚的。动量策略也是这个道理,你得严格执行信号,不能因为几次连续亏损就放弃,否则你就错过那个大趋势了,所以,关键还是得拿的住,你必须相信你的策略。

你看,每个策略都有它的高潮也有它的低谷。我非常喜欢一句话:不在巅峰慕名而来,不在低谷转身而去。你没有勇气承担30%的回撤,就没有资格享受300%的盈利。

四、动量策略选股:两个原则帮你避开大部分坑

很多人用动量策略效果不好,不是因为动量失效了,是选股选错了。做动量选股,记住两个原则就够了:

原则一:只选长期向上的标的,排除爆雷风险

动量策略是"顺趋势",你选的标的本身得有长期向上的动力,不然就是踩雷。什么意思?如果一家公司基本面越来越差,行业都没了,比如当年的胶片巨头柯达,它一路下跌不是"动量",是真的要死了,你这时候去做空当然能赚钱,但你如果以为跌多了会反弹去抄底(反过来做动量),那肯定血本无归。

所以选股第一步,先把那些明显有爆雷风险的去掉:

  • 连续亏损的ST股不要
  • 行业被技术迭代淘汰的不要
  • 财务造假嫌疑的不要
  • 基本面已经明显恶化的不要

我们做动量,是赚趋势延续的钱,不是赌垃圾股反转,也不是赌问题公司起死回生。把时间留给那些本身就在不断成长的公司,成功率高得多。

原则二:选相关性尽可能低的资产,避免行情轮动打脸

动量策略一般都有一个选股池,要么是动态的要么是静态的。关于这个选股池怎么选,其实是很有讲究的,并非随便乱选。比如,我现在在模拟交易系统中正在跑的两个ETF动量策略,就是一个小池,一个大池。很多人一看池里有黄金、纳指,就说这个策略肯定是过拟合了,故意选这两个近几年表现好的大类资产,当然赚钱了,但以后你还能保证这俩还能这么赚钱吗?确实,谁都不敢保证以后的行情会怎么样。但是,我想说的是,为啥经常ETF类的动量策略会选它们俩,其实并不是因为它们最近几年涨得多,最主要的原因是因为它们的价格相关性很低。下面这张图是我拉了几个常见指数类动量标的的十年价格数据,做了一个相关性矩阵,大家可以看看它们的相关性是不是很低。除了黄金和白银的相关性达到65%左右,其他基本都在30%以下,相关性是比较低的。

为啥动量组合里面的标的相关性要很低,这个点很多人不知道,但非常重要。所以这里就涉及到一个做动量组合的原则,就是尽量选相关性低的不同资产,别都窝在一个赛道里。为什么?还是举个简单栗子,你的持仓全是AI股,哪怕都是动量排名靠前的,它们同涨同跌,一旦AI板块回调,所有股票一起跌,你的组合回撤会非常大。但如果你 AI、消费、医药、能源各配一点,它们之间相关性低,这个跌那个可能涨,整体回撤就能小很多,心态也好很多。

举个极端例子:假设你选了两个完全负相关的资产,一个涨一个必然跌。动量策略会做多涨的那个,做空跌的那个,看起来是对冲,但实际上它俩的趋势其实是同一个因素驱动的,相当于你只压了一个方向,根本没分散风险。

所以记住:相关性越低,分散效果越好,组合净值曲线越平稳,你拿得住,才能赚到长期的钱。

五、20日动量因子Python代码实战

讲了这么多理论,咱们来点真家伙——动量因子到底怎么算?我给你写一个最简单的20日动量选股例子,代码你可以直接拿去用。

20日动量的逻辑特别简单:计算一只股票过去20天的涨跌幅,这个涨跌幅就是它的动量因子。然后把所有股票按动量因子排序,选涨得最多的前N只买入,就是最简单的动量选股策略。

我们用pandas来实现,假设你已经有了所有股票的收盘价数据,代码如下:

importpandasaspdimportnumpyasnpdefcalculate_20d_momentum(price_df:pd.DataFrame)->pd.DataFrame:""" 计算20日动量因子 参数: price_df: 收盘价DataFrame,每行是一个日期,每列是一只股票 返回: momentum_df: 每只股票的20日动量值,动量 = (当前收盘价 / 20日前收盘价) - 1 """# 计算20日涨跌幅,就是动量因子momentum_df=price_df/price_df.shift(20)-1returnmomentum_dfdefselect_top_momentum_stocks(momentum_df:pd.DataFrame,top_n:int=10)->list:""" 筛选动量最大的前N只股票 参数: momentum_df: 计算好的动量因子DataFrame top_n: 选多少只股票,默认10只 返回: 选中的股票代码列表 """# 取最新一天的动量值进行排序latest_momentum=momentum_df.iloc[-1].dropna()# 从大到小排序,取前top_n只top_stocks=latest_momentum.sort_values(ascending=False).head(top_n).index.tolist()returntop_stocks# ------------------- 使用示例 -------------------if__name__=="__main__":# 假设你已经通过Tushare、AkShare等接口获取了收盘价数据# 这里模拟一个价格数据,实际使用时替换成你自己的数据dates=pd.date_range(start='2025-01-01',end='2025-03-31',freq='B')stocks=['StockA','StockB','StockC','StockD','StockE','StockF','StockG','StockH','StockI','StockJ']# 随机生成模拟价格,实际使用替换成真实收盘价np.random.seed(42)price_data=np.cumprod(1+np.random.normal(0,0.02,size=(len(dates),len(stocks))),axis=0)price_df=pd.DataFrame(price_data,index=dates,columns=stocks)# 计算20日动量momentum=calculate_20d_momentum(price_df)# 选动量最大的4只股票selected=select_top_momentum_stocks(momentum,top_n=4)print("最新交易日20日动量最大的4只股票:")print(selected)print("\n最新动量值:")print(momentum.iloc[-1][selected])

代码非常简单,核心逻辑就是一句话:动量 = 最新价 / 20天前的价格 - 1,就是过去20天的涨跌幅。涨得越多,动量越大,我们就买它。

当然,这只是最基础的版本,实盘你还要加这些东西:

  1. 去掉停牌、成交量太低的股票,保证能买进去
  2. 设定再平衡周期,比如每个月换一次仓,重新计算选股
  3. 加上止损止盈,控制单次亏损
  4. 如果要更平滑,可以用5日、10日、20日动量结合,或者用换手率加权

但核心逻辑就是这么简单,不信你可以找历史数据回测一下,就会发现这个最简单的策略长期下来收益并不差。

写在最后:动量策略适合普通投资者吗?

看完这篇,你可能会问:我一个散户,适合做动量策略吗?

我的答案是:适合,但你得能接受它的缺点。

动量策略的优点是逻辑简单,容易执行,只要你严格按信号操作,在有趋势的行情里赚得很爽;缺点就是震荡行情会连续止损,心态不好的人扛不住,很容易在连续亏损之后放弃,结果错过后面的大趋势。

说白了,动量策略赚的就是"亏小钱赚大钱"的钱,你得接受很多次小亏,才能等到那一次大赚。对散户来说,最难的不是选股不是计算,是严格执行信号,管住手不瞎操作。

http://www.jsqmd.com/news/578922/

相关文章:

  • GESP2025年3月认证C++三级( 第一部分选择题(9-15))
  • 不用重新训练!用预训练ResNet和KNN搞定工业缺陷检测(附SPADE论文复现笔记)
  • 成都KTV团购亲测:性价比最高排行分享
  • Abaqus中Vumat子程序的Puck损伤准则:基于指数(线性)损伤演化的研究
  • 5分钟搞定OpenClaw+千问3.5-27B:星图平台镜像一键体验方案
  • AI-Python机器学习、深度学习及Agent(如何运用“氛围编程”用自然语言指挥AI编程,以及构建OpenClaw智能体(Agent),实现从数据分析到报告生成的自动化工作流。
  • OpenClaw+Qwen3.5-9B双剑合璧:自动化生成图片社交文案
  • ai赋能配置:让快马kimi模型为你动态生成个性化jdk环境配置方案
  • 三个月测一站-漏洞挖掘纯享版
  • 基于深度学习的文本情感分析改进模型实验方案
  • HTML 玫瑰花
  • RailSAM:驯 服 SAM与 适 配 器 的 铁 路 分 割精读
  • ESP8266/ESP32 轻量级 OTA 升级库设计与实践
  • My SQL 数据库基础实例教程(第二单元学习笔记)
  • OpenClaw跨平台控制:千问3.5-27B同步操作多台电脑的实践
  • 嵌入式图形原语抽象层:面向MCU的轻量绘图核心设计
  • PreviewShapeBox
  • Java的Scanner交互功能
  • 目录结构数据展示
  • springboot基于深度学习的图书推荐系统_ry1n8702_c006
  • POIKit:地理数据全流程处理的高效解决方案
  • 程序员副业指南:从技术到变现全攻略
  • 基于深度学习的文本情感分析改进模型实验方案(修订版)
  • DrawingContextExtension
  • OpenClaw怎么部署?2026年1分钟部署OpenClaw、配置百炼APIKey、集成Skill保姆级图文教程
  • OpenClaw学术研究助手:Qwen3.5-9B-AWQ-4bit解析论文图表数据
  • PCIe AVIP架构
  • OpenClaw+gemma-3-12b-it组合优化:降低长链条任务Token消耗的3个技巧
  • 基于BEMD-MPE-MVMD-SSA-iMLP的碳价格预测模型
  • Linux下C/C++高效调试工具与技巧全解析