Py学习  »  Python

Python量化策略:基于 CCI 与 STC 双指标实现量化交易

灵度智能 • 1 周前 • 45 次点击  

免责声明:本文所有内容‬仅用于交流学习‬,不构成任何投资建议!投资有风险,入市需谨慎!

策略介绍


一、CCI(商品通道指标)


CCI(Commodity Channel Index)即商品通道指标,由 Donald Lambert 于 1980 年提出,最初用于商品期货,现广泛用于股票、外汇等市场。它衡量当前价格相对于其统计均值的偏离程度,属于无界动量振荡器,无固定上下限,能有效捕捉极端行情而不易钝化。


计算上,先求典型价 TP=(高 + 低 + 收)/3,再算 TP 的 N 期(常用 20)简单移动平均与平均绝对偏差,最后归一化得到 CCI。约 70%–80% 数值落在 **±100之间:>+100 为超买 / 强多头 **,


主要用法:

①超买超卖:上穿 - 100 买入、下穿 + 100 卖出;

②趋势确认:持续 >+100 多头、持续

③背离:价格与 CCI 顶 / 底背离预示反转。


优势是趋势强时不钝化,劣势是震荡市易假信号。


二、STC(沙夫趋势周期指标)


STC(Schaff Trend Cycle)由 Doug Schaff 于 1999 年提出,融合MACD 趋势与随机指标周期特性,旨在比 MACD 更早捕捉趋势转折、减少滞后。它是有界振荡器,数值在0–100之间,便于跨品种比较动量强弱。


计算逻辑:先算 MACD 快慢线差值,再对该差值做双重随机平滑,最终归一化到 0–100。常用参数:快周期 23、慢周期 50、K 周期 10、D 周期 3。关键阈值:>75 强多头 / 超买、<25 强空头 / 超卖、50 为多空分水岭。


核心特点:

①领先性:比 MACD 快 1–3 根 K 线发出转折信号;

②抗噪性:双重平滑过滤杂讯;

③趋势 + 周期双识别:趋势市判方向、震荡市抓高低点。


适用于趋势与震荡并存市场,劣势是参数敏感、极端趋势中易高位 / 低位钝化。


三、基于 CCI 与 STC 的量化交易策略


策略核心逻辑


CCI 判趋势强度 + STC 抓周期拐点,二者互补:CCI 负责趋势过滤(避免震荡市假信号),STC 负责精准择时(提前入场 / 出场)。


策略优势与风险控制


优势:CCI 过滤趋势、STC 领先择时,双指标共振减少假信号;兼顾趋势与震荡市。


风险控制:①震荡市缩小仓位至 30% 以下;②极端趋势(CCI>200 或


策略实现


【 扫描文末二维码加入星球获取完整源码 


源码


计算 CCI 指标



计算 STC 指标



生成交易信号



运行回测



回测效果



虽然胜率只有 37.45%,但盈利因子达到 1.74,说明这是一个典型的「让利润奔跑、快速止损」的趋势跟随策略。


▌关于我们

我们致力于人工智能、量化交易领域前沿研究,分享前沿论文、模型代码、策略实现。如有相关需求,请私信与我们联系。

▌商务合作

请加微信“LingDuTech163”,或公众号后台私信“联系方式”。


关注【灵度智能】公众号,获取更多AI资讯。




Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/197025