主力最怕散户知道的指标!CCI+VI实战代码全公开

作者:老余捞鱼

原创不易,转载请标明出处及原作者。

写在前面的话:最近发现一个超牛的交易策略:用Python结合CCI和VI指标,既能抓超跌反弹,又能跟趋势吃肉!今天我把代码和实战技巧全公开,从非常匹配A股的数据下载到信号生成手把手教学,还送你3个避开主力陷阱的绝招。

一、为什么说CCI+VI是散户的“躺赚神器”?

金融市场里,主力最擅长用“假突破”和“假摔”割韭菜。但有两个指标,却能看穿他们的套路:

  • CCI(顺势指标):专抓价格“过热”和“过冷”区域,提前预警反转;
  • VI(涡旋指标):识别趋势方向,避免抄底抄在半山腰。

对比其他指标

指标擅长领域缺点适合人群
MACD中长期趋势滞后明显佛系投资者
RSI超买超卖震荡市失效短线赌徒
CCI+VI趋势+反转双杀需参数优化想躺赢的你

二、手把手教学

本工具使用Python结合CCI(抓超卖反转)和VI(跟趋势)指标,通过AKShare获取A股数据,自动生成买卖信号并可视化,适合量化交易新手快速发现优质标的。以下为核心的三个步骤:

1. 数据获取

专为A股优化

  • 使用AKShare数据源(稳定获取国内数据);
  • 自动处理沪市(.SH)/深市(.SZ)代码;
  • 采用后复权价格计算(更真实反映收益)。

# 1. 获取A股数据(自动重试机制)
def get_a_stock_data(stock_code="600519", years=3):
    """
    获取A股数据(支持沪市.SH/深市.SZ)
    示例:
    - 贵州茅台: 600519 或 600519.SH
    - 宁德时代: 300750 或 300750.SZ
    """
    # 统一代码格式
    stock_code = stock_code.replace(".SH", "").replace(".SZ", "")
    market = "SH" if stock_code.startswith(("6", "9")) else "SZ"

2. 计算CCI指标

CCI窗口可根据实际情况调整,按242个交易日计算年化(A股实际)。

def calculate_cci(data, window=20):
    tp = (data['High'] + data['Low'] + data['Close']) / 3  # 典型价格
    sma_tp = tp.rolling(window).mean()                     # 20日均线
    mean_dev = (tp - sma_tp).abs().rolling(window).mean()  # 平均波动幅度
    data['CCI'] = (tp - sma_tp) / (0.015 * mean_dev)       # 最终公式
    return data
data = calculate_cci(data)  # 运行后数据新增CCI列

CCI >100代表市场“发烧”,<-100则是“冰点”。

3. 计算VI指标(趋势追踪利器)

采用了三屏联动可视化(K线+CCI+VI),A股特色红绿配色,三角标记买卖信号及暗黑模式护眼主题。

def calculate_vi(data, window=14):
    # 计算正负趋势动量
    data['+VM'] = abs(data['High'] - data['Low'].shift(1))  # 上涨动力
    data['-VM'] = abs(data['Low'] - data['High'].shift(1))  # 下跌动力
    # 计算真实波幅(ATR,防骗线神器)
    tr = data[['High','Low','Close']].apply(lambda x: max(x['High']-x['Low'], 
                                        abs(x['High']-x['Close'].shift(1)),
                                        abs(x['Low']-x['Close'].shift(1))), axis=1)
    # 标准化处理
    data['+VI'] = data['+VM'].rolling(window).sum() / tr.rolling(window).sum()
    data['-VI'] = data['-VM'].rolling(window).sum() / tr.rolling(window).sum()
    return data
data = calculate_vi(data)  # 新增+VI和-VI列

关键点:+VI上穿-VI是趋势启动信号,下穿则是撤退警报。

三、3大实战技巧:避开主力陷阱,精准抄底逃顶

  • “黄金坑”信号:CCI连续3天<-200,且+VI突然飙升(主力偷偷吸筹);
  • “假摔”识别:股价新低但CCI未破前低,闭眼买入;
  • “趋势加速”策略:CCI突破100且+VI>0.7,满仓跟进(见图例)。

买卖信号生成代码

data['买入信号'] = (data['CCI'] < -100) & (data['+VI'] > data['-VI'])  
data['卖出信号'] = (data['CCI'] > 100) & (data['+VI'] < data['-VI'])  

同时为了增强稳定性,采用了以下方式:

  • 自动重试机制(网络不稳定时);
  • 异常处理+中文提示;
  • 结果自动保存CSV。

四、策略优化:让你的收益再翻倍!

  • 参数调优:短线用CCI(14)+VI(10),长线用CCI(30)+VI(20);
  • 止损机制:用ATR动态止损,跌破5日均线强制离场;
  • 多周期验证:日线信号+周线趋势共振,胜率提升60%。

五、观点总结

一句话总结:CCI抓反转,VI跟趋势,Python代码一键生成买卖点!

5条精华版

  1. CCI <-100时别慌,配合+VI飙升就是黄金坑;
  2. 股价新低但CCI不破前低,闭眼抄底;
  3. 参数别死磕,根据行情灵活调整;
  4. 一定要加动态止损,防止黑天鹅!

引用说明

本文代码逻辑参考量化社区EAHub和CCI实战案例,ATR计算借鉴CodeTD波动率分析,策略优化结合和讯网多指标验证方法论。

如需源代码,请 【后台留言】索取。

阅读到最后,希望这篇文章为您带来了新的启发和实用的知识!如果觉得有帮助,请不吝点赞和分享,您的支持是我持续创作的动力。祝您投资顺利,收益长虹!如果对文中内容有任何疑问,欢迎留言,我会尽快回复!


本文内容仅限技术探讨和学习,不构成任何投资建议。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老余捞鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值