量化指标解码21:逻辑回归支撑阻力 - 让逻辑回归给关键价位打分
本文是《量化指标解码》系列的第21篇,我们将深入解码逻辑回归支撑阻力指标,从枢轴确认到概率打分,从二值特征到单趟在线训练,让你掌握用机器学习筛选关键价位的方法。

写在前面
上一篇讲了谐波形态识别,有读者私信说:图上枢轴高点低点一画一大堆,真正用起来不知道哪条线靠谱,能不能给这些价位排个序?
这个问题我自己也踩过坑。传统支撑阻力全靠肉眼数触点,画到最后满屏都是线,跟没画一样。前阵子在策略开发系列里我刚做完逻辑回归的交易实验,直接拿它预测涨跌,48 组回测全亏。但有意思的是,同一个模型换个用法就活了------不让它预测方向,只让它给枢轴打分:这个高点低点,有多大概率成为真正的支撑阻力?
这篇讲的逻辑回归支撑阻力指标,就是干这个的。策略要它算命,太难;指标让它当裁判,刚好。
逻辑回归支撑阻力是什么?
一句话说清:指标先按常规方法找出枢轴高低点,再用逻辑回归给每个枢轴算一个"成为有效支撑/阻力的概率",只把超过阈值的画出来。
核心思想:不是所有枢轴都值得画在图上,让模型先过滤一遍,少即是多。
举个例子。螺纹钢 15 分钟图上,最近半年能数出一百多个枢轴点。这个指标跑完,只剩 28 条线,每条线上标着概率:87%、90%、94%。你要挂单、设止损,先围着这些高分线想办法,剩下七十多个低分枢轴,不看也罢。
逻辑回归支撑阻力的计算原理
整个计算分四步,一步步看。
第一步:枢轴确认,右侧K线不齐不算数
枢轴高点指左右各 14 根K线里最高的那根高点,低点镜像。注意"右侧 14 根"这个条件:一个高点要等后面 14 根K线全部走完才能确认,确认之前它不参与任何计算。
python
center = index - pivot_length # 候选枢轴至少要有右侧14根
is_pivot_high = all(
highs[center] > highs[i]
for i in range(center - pivot_length, center + pivot_length + 1)
if i != center
)
这条纪律决定了指标没有未来函数:图上看到的每条线,在它被画出来的那个时点,右侧数据已经全部就绪。
第二步:特征二值化,只要两个开关
模型不看原始数值,只看两个是非题:枢轴那根K线的 RSI(14) 大于 50 吗?K线实体(收盘减开盘的绝对值)大于 ATR(14) 吗?答案各记 +1 或 -1。
python
rsi_bin = 1 if pivot_rsi > 50 else -1
body_bin = 1 if pivot_body > atr else -1
情绪过热还是冰冷、放量大K还是缩量小K,粗粒度反而抗噪。
第三步:单趟在线"训练",给新枢轴算概率
每确认一个新枢轴,模型就做一次预测:权重从 (1,1,1) 出发,对同侧(同为支撑或同为阻力)的全部历史枢轴逐个过一遍,每个样本按它后来被尊重的次数打 ±1 标签,用梯度步更新权重,最后用更新完的权重给新枢轴算 sigmoid 概率。
python
for cur in same_side_pivots:
y = 1.0 if cur.times_respected >= target_respects else -1.0
p = sigmoid(1 + rsi_bias * cur.rsi_bin + body_bias * cur.body_bin)
loss = -y * log(p) - (1 - y) * log(1 - p)
rsi_bias -= 0.008 * (p + loss) * cur.rsi_bin
body_bias -= 0.008 * (p + loss) * cur.body_bin
prediction = sigmoid(1 + rsi_bias * rsi_bin + body_bias * body_bin)
这里要交代一句:±1 标签配这个损失函数,不是教科书上的逻辑回归。
第四步:概率过筛画线,跟踪回测与破位
概率超过阈值(默认 0.7)的枢轴才画成水平线。之后每根K线检查价格与线的交互:下影刺破但收回线上,记一次"尊重",标 R;收盘价破线,线到此为止,标 B。尊重次数按每根触及K线累计,R 标签有 3 根K线的冷却期防止刷屏。
四步串起来:枢轴确认,二值特征,单趟训练打分,过筛画线跟踪。模型自始至终只回答一个问题------这个枢轴靠不靠谱。
逻辑回归支撑阻力怎么用?
先看一张系统里的实际运行图,螺纹钢 rb2701 的 15 分钟K线。

图上青色线是支撑、红色线是阻力,线上的百分比就是模型概率。右上角 HUD 一目了然:支撑枢轴 31 个、阻力枢轴 34 个,过筛后活跃线只剩 10 条,最新一个枢轴的预测概率 85%。
哪条线值得围着做?
只看高分线。比如图上 92%、91% 那两条阻力,还有 85% 的支撑,这些是模型在历史尊重次数里验证出来的区域。低分枢轴根本不画,也就不存在"这条弱线要不要防"的内耗。
不过要交代一句实话:我在螺纹钢数据上测试时,概率最高的一条 94% 支撑线,后来也被收破过。概率是质量分,不是保险单。它告诉你哪条线值得重点观察,不保证线一定守得住。
R 和 B 标签怎么读?
R 是尊重确认:价格刺破线但收了回去,线经受住一次考验。尊重次数累到设定值(默认 3 次),这条线就升级成"达标水平",是模型下一轮训练里的优等生样本。
B 是结构失效:收盘价破线,线停止延伸。支撑线的 B 出现在线上方,提醒你这个区域别再接了。原脚本还给四种事件都配了实时告警,我们的转换版保留了全部事件流,告警接入是后续的事。
参数怎么配合自己的品种?
三个核心参数。Pivot Length 控制枢轴的"分量",14 是原版默认,小周期剥头皮可以降到 5-8,做日线波段可以加到 20。Probability Threshold 控制画线数量,0.7 是原版默认,嫌线多提到 0.8,想看更多候选降到 0.6。Target Respects 控制"有效"的严格度,默认 3 次尊重才算达标。

AI智能解读
系统会实时读取指标状态,给出文字解读:当前活跃的支撑阻力各是哪几条、概率多少、最近哪条线被尊重或破位、模型一共见过多少个枢轴样本。右上角 HUD 同步显示两侧枢轴数、达标水平数和最新预测值,扫一眼就知道市场结构状态。
实战经验与避坑指南
第一,枢轴必须等确认。 右侧 14 根K线没走完,那个高点就不是高点,别拿未确认的极值当信号用。
第二,概率是过滤不是预测。 94% 的线照样会破,概率解决的是"看哪条",不是"必守住",止损照设。
第三,远线该藏就藏。 开启 Hide Far Lines,离现价超过 7 倍 ATR 的老线自动隐藏,图面留给当前有交易价值的区域。
第四,指标用法和策略用法是两回事。 同一个逻辑回归,做策略全亏、做指标好用,差别在它只需排序不需择时,别把两边的结论混用。
就这几点。话不多,但都是实战踩坑总结出来的。
写在最后
到这里,逻辑回归支撑阻力的核心内容基本讲完了。从枢轴确认到概率过筛,最重要的是理解这个指标的本质:它是一台枢轴打分器,用机器学习把"哪条线值得看"从经验题变成了概率题。
不要指望这个指标能告诉你涨跌方向,它只能告诉你:在这些经过验证的价位附近,市场更可能给出反应。方向的事,还得趋势指标和结构判断来说话。
下一篇准备讲 ATR。这篇里实体与 ATR 的比较只是个引子,ATR 本身从波动率度量到止损仓位管理,值得单独拆一篇。
先写到这,有问题欢迎留言交流。
本文是《量化指标解码》系列的第21篇,ATMQuant量化交易系统已开源至GitHub:https://github.com/seasonstar/atmquant
逻辑回归支撑阻力增强版指标为付费会员专享功能,加入知识星球即可获取完整源码和配置教程。
本文内容仅供学习交流,不构成任何投资建议。交易有风险,投资需谨慎。
加入「量策堂·AI算法指标策略」
想系统性掌握策略研发、指标可视化与回测优化?加入我的知识星球,获得持续、体系化的成长支持:

往期文章回顾
量化策略开发系列
以AI量化为生系列
量化指标解码系列
相关标签 #量化交易 #技术指标 #支撑阻力 #逻辑回归 #机器学习 #Python #vnpy