做交易的朋友都知道,支撑和压力找不对,再辛苦也是白费。
传统的水平支撑阻力线太死板,行情一走趋势就失效。今天给大家分享一个实战很好用的工具——线性回归通道,跟着趋势动,边界看得清,压力、支撑就更容易识别。
咱们这里用的行情数据源是xtquant + miniQMT。 后续示例里会用到一些常见的Python 库: pandas, numpy, matplotlib,进阶部分还会涉及scipy, sklearn。在实际运行代码之前,记得先把环境配置好:
这样就能避免因为依赖缺失导致的报错。
以下是一个基于xtquant + miniQMT 获取股票行情的方法,后面的行情Dataframe 数据都会 通过这个方法来获取:
一、线性回归通道到底是什么?
你可以把它理解成:给股价画一条“趋势主干道”,再加上两条“护栏”。
它就三部分:
1.中间那条线:用线性回归拟合出来的趋势线,代表这一段的真实方向。斜向上就是涨势,斜向下就是跌势。
2.上轨:压力区。股价冲上去容易被压回来。
3.下轨:支撑区。股价跌下来大概率有承接。
和画死的水平线不一样,线性回归通道是跟着行情自动更新的,趋势行情里特别准。
二、和布林带是什么关系和区别
很多人一看“中线+上下轨”,就以为是布林带。其实逻辑完全不同,适用场景也不一样。
相同点:
1.都是“中轴线 + 上下轨”的形式;
2.都能用来判断压力位和支撑位;
3.都会随着行情波动而动态调整。
不同点:
(1)中轴线来源不同
布林线:中轴是移动平均线(MA),比如 20 日均线。
线性回归通道:中轴是线性回归拟合线,更贴合趋势。
(2)轨道宽度计算方式不同:
布林线:上、下轨 = 移动平均 ± k * 标准差(基于价格波动)。
线性回归通道:上、下轨 = 回归线 ± k * 标准差(基于回归残差)。
(3)适用场景不同
布林线:更适合震荡行情,股价经常在上下轨来回“碰撞”。
线性回归通道:更适合趋势行情,用来识别趋势通道里的压力与支撑。
三、公式的话就不需要背了,跟大家简单讲一下原理,毕竟代码会跑就行
核心思路:线性回归通道其实就是在股价走势图上,拟合一条最佳直线(趋势线),根据股价对直线的偏离程度,画出上下轨(压力位和支撑位)。
回归线公式:
假设我们有一段股价序列:
把时间序列记为:
线性回归的目标是找到一条直线:
使得所有股价点到直线的垂直距离平方和最小,即最小二乘法:
a = 斜率 → 反映趋势方向(上涨/下跌)
b= 截距 → 直线在时间轴起点的位置
公式可以直接解出来:
上下轨公式:
上下轨主要用股价偏离回归线的标准差来计算:
然后上下轨就是:
这里的k是调节参数,通常取2,表示大约 95% 的价格会落在通道内。
四、写在最后
线性回归通道,是趋势交易里简单、稳定、好用的一类工具。
不算花哨,但判断支撑压力很实在,配合QMT环境,回测、实盘都能快速落地。
下一篇我们直接上完整代码:供大家研究做参考,可以算回归线、画通道、用历史数据验证支撑压力效果,拿来就能跑。