news 2026/7/2 3:03:11

5年21倍,量化里面超牛的均线:让Python带你玩转KAMA自适应指标!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5年21倍,量化里面超牛的均线:让Python带你玩转KAMA自适应指标!
👇我的小册 54章教程:(小白零基础用Python量化股票分析小册),原价299,限时特价2杯咖啡,满100人涨10元。

大家好,我是菜哥

做量化交易的朋友都知道,均线是个好东西,我自己刚开始学量化的时候第一个学的指标就是MA/EMA。但是有很纠结,比如周期设短了,K线稍微动一下就给你发信号,结果十次有八次是假突破;周期设长了,等你反应过来,黄花菜都凉了,最肥的那段行情早跑没影了。

那么有没有一种均线,能在行情火爆的时候反应灵敏,在震荡磨人的时候又能淡定如水?

今天给大家安利一个指标:这个"有眼力见"的指标——KAMA自适应移动平均线

01.啥是KAMA

KAMA的全称是Kaufman's Adaptive Moving Average,中文叫考夫曼自适应移动平均线,是美国量化大师Perry Kaufman在上世纪90年代提出的。

是不是听起来特别牛,它的核心思想特别朴素:市场趋势明显的时候,我就灵敏点;市场来回拉锯的时候,我就钝一点。

听起来是不是很像个聪明人?行情好的时候冲在前面,行情乱的时候躲在后面观望。

KAMA怎么做到这一点的呢?关键在于一个叫"效率比率"(ER)的东西。

效率比率说白了就是:价格真正走了多远,相比它上上下下折腾的总路程,占了多大比例。

下面我用白话说:

假如10天前价格是100,现在是110,涨了10块,这是"净位移"。但这10天里价格可能今天涨2块、明天跌1块、后天又涨3块,折腾来折腾去加起来走了30块,这是"总波动"。那效率比率ER = 10/30 = 0.33。

  • 如果ER接近1,说明价格基本是直线上涨或下跌,趋势强劲

  • 如果ER接近0,说明价格来回拉锯,横盘震荡

咱们用Python算一下这个ER:

有了ER之后,KAMA会根据它来动态调整自己的"敏感度"。ER大的时候跑得快,ER小的时候走得慢,这就是"自适应"的精髓。

02.手把手教你用Python实现KAMA


理论说完了,咱们动手写代码。整个过程分三步:下载数据、计算KAMA、生成交易信号。

第一步:准备数据

我们用yfinance库下载苹果公司(AAPL)2020到2024年的股价数据:

这段代码跑完,你就拿到了苹果股票5年的开盘价、收盘价、成交量等数据。

第二步:计算KAMA

KAMA的计算稍微有点绕,但拆开来看其实不难。核心公式是:

KAMA[今天] = KAMA[昨天] + SC × (价格[今天] - KAMA[昨天])

这里的SC是"平滑常数",它由ER和快慢周期共同决定。ER越大,SC越大,KAMA变化越快;ER越小,SC越小,KAMA变化越慢。

代码里的fast=2和slow=30分别代表快速和慢速EMA的周期,你可以理解为KAMA在这两个极端之间灵活切换。

第三步:生成交易信号

策略逻辑很简单:价格上穿KAMA就买入,下穿就卖出

跑完这段代码,你就能看到5年里一共产生了多少次买入和卖出信号。

03.实战回测:5年21倍的收益是怎么来的


光有信号还不够,咱们得模拟真金白银地买卖,看看最后能赚多少钱。光说不练假把式!前面举例用的苹果的股价,下面我们用特斯拉然后换成AK库来获取数据!

好,假设你有1万美元的本金,每次信号来了就全仓操作(实际交易千万别这么干,这里只是为了演示):

我们抓住取特斯拉的5年的数据来看看效果:

回测代码有200多行,我就不打开了,不然篇幅太长了,简单说就是通过ak下载美股的特斯拉的数据,接着用python写kama指标的,然后去跑这个下载的5年数据进行交易,看看买入和卖出的点位,最后进行打印显示结果并可视化展示。

我们看一下结果:

图上有3根曲线:

深蓝是kama策略的资金曲线

绿色是买入就不动的

红色虚线是初始资金

下面是回测的数据:

回测周期: 2020-01-02 至 2025-12-31

初始资金: $10,000.00

最终资产: $225,211.52

总收益率: 2152.12%

年化收益率: 68.11%

最大回撤: -36.37%

交易次数: 222次

胜率: 27.93%

简单说一下:

买入并不动,大概收益率: 1467.84%(特斯拉还是很猛的)

策略是21.5倍,大概赚超额收益: 684.27%

04.写在最后


KAMA的魅力在于它的"眼力"——知道什么时候该冲,什么时候该稳。

这种自适应的思想在量化交易中非常重要。市场不是一成不变的,一套参数打天下的时代早就过去了。好的策略应该像KAMA一样,能根据市场环境自我调整。

当然,单纯靠一个指标就想稳赚不赔是不现实的。量化路漫漫,我们下一篇再聊!

如果你对量化交易感兴趣,可以看一下我们的入门小册,考虑清楚了,合适了再下手哈!买了之后有我们专门的新手量化交流群可以讨论。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 20:58:10

如何提高音色相似度?GLM-TTS核心技巧

如何提高音色相似度?GLM-TTS核心技巧 在实际使用GLM-TTS进行语音克隆时,你是否遇到过这样的情况:明明上传了清晰的参考音频,生成的语音听起来却“不像本人”?语调生硬、口型错位、语气平淡,甚至关键音色特…

作者头像 李华
网站建设 2026/7/1 20:55:21

小白也能用的AI绘画神器:Qwen-Image-Lightning极简教程

小白也能用的AI绘画神器:Qwen-Image-Lightning极简教程 【免费下载链接】Qwen-Image-Lightning 项目地址: https://ai.gitcode.com/hf_mirrors/lightx2v/Qwen-Image-Lightning 你有没有试过在深夜灵感迸发,想把“敦煌飞天乘着量子飞船穿越银河”这个画…

作者头像 李华
网站建设 2026/7/1 20:55:22

小白必看!GLM-4-9B-Chat-1M模型Web界面搭建全流程

小白必看!GLM-4-9B-Chat-1M模型Web界面搭建全流程 你是不是也遇到过这些情况: 想试试号称支持100万字上下文的GLM-4-9B-Chat-1M大模型,却卡在第一步——根本不知道怎么启动? 看到“vLLM部署”“Chainlit前端”这些词就头大&#…

作者头像 李华
网站建设 2026/7/1 20:55:00

Clawdbot+Qwen3-32B基础教程:Web界面多用户会话隔离与权限管理配置

ClawdbotQwen3-32B基础教程:Web界面多用户会话隔离与权限管理配置 1. 为什么需要多用户会话隔离与权限管理 你可能已经试过用Clawdbot跑通Qwen3-32B,输入几句话就能看到大模型流畅输出——但一旦团队里有多个成员同时使用,问题就来了&#…

作者头像 李华
网站建设 2026/7/1 20:58:24

ChatGLM-6B完整教程:从镜像启动到浏览器访问全过程

ChatGLM-6B完整教程:从镜像启动到浏览器访问全过程 1. 什么是ChatGLM-6B智能对话服务 你可能已经听说过“大模型”这个词,但真正用起来,常常卡在第一步:怎么让模型跑起来? ChatGLM-6B 就是这样一个能让你“跳过所有配…

作者头像 李华
网站建设 2026/7/1 17:19:37

OFA视觉蕴含模型在电商平台的应用案例:商品主图与文案一致性校验

OFA视觉蕴含模型在电商平台的应用案例:商品主图与文案一致性校验 1. 为什么电商需要“图文一致”这道关? 你有没有遇到过这样的情况:在电商平台上看到一张特别诱人的商品图——比如一盒包装精致的巧克力,金箔点缀、丝带缠绕、背…

作者头像 李华