作者:量化投资学
题图:量化投资学微信公众号
本文介绍以下几个技术指标:HMA、HWMA、JMA、KAMA、LINREG。这几个指标都属于均线类型的指标。
本系列中的各项指标都可以通过调用 Pandas TA 库来实现,Pandas TA 库的使用详见《量化宝藏工具箱:技术指标库 Pandas TA 教程》一文。
1. HMA(Hull Exponential Moving Average,赫尔指数移动平均线)
hma函数用于计算Hull移动平均线(Hull Moving Average,简称HMA)。Hull移动平均线的目标是减少或消除移动平均线的滞后,使得移动平均线能够更快速地反应价格变动。
HMA的主要特点是其快速反应价格变化的能力,这得益于其特殊的计算方法。相比于一般的移动平均线,HMA能够更快地捕捉价格的变化趋势,尽管付出的代价是可能会有更多的假信号。
Hull移动平均线的计算方式如下:
1. 计算半窗口长度和平方根窗口长度的加权移动平均线(WMA)。
2. 计算2倍的半窗口长度WMA与窗口长度WMA的差,得到一个新的序列。
3. 对这个新的序列计算平方根窗口长度的WMA,得到HMA。
该指标在 Pandas TA 库中的函数是:
hma(close, length=None, offset=None, **kwargs)
2. HWMA (Holt-Winter Moving Average,Holt-Winter 移动平均线)
HWMA是一种可以处理季节性数据的指数平滑法。HWMA包括了平滑系数、趋势系数以及季节性系数,能够很好地捕捉和预测时间序列数据中的趋势和季节性变化。
HWMA的特点是:
1)处理季节性数据:HWMA是一种可以处理季节性数据的方法,适用于分析和预测季度、月度等包含季节性因素的金融数据。
2)动态适应:HWMA的参数可以根据数据的变化动态调整,能够更好地适应数据的非线性和非稳态特性。
3)预测能力:由于包含了平滑、趋势和季节性调整因素,HWMA具有较强的预测能力。
HWMA的计算方式如下(F、V、A分别代表预测、趋势、季节性):
F[i] = (1-na) * (F[i-1] + V[i-1] + 0.5 * A[i-1]) + na * Price[i]
V[i] = (1-nb) * (V[i-1] + A[i-1]) + nb * (F[i] - F[i-1])
A[i] = (1-nc) * A[i-1] + nc * (V[i] - V[i-1])
HWMA[i] = F[i] + V[i] + 0.5 * A[i]
其中:
- 'na'表示平滑序列的参数,范围在0到1之间。默认值为0.2。
- nb表示趋势的参数,范围在0到1之间。默认值为0.1。
- nc表示季节性的参数,范围在0到1之间。默认值为0.1。
Holt-Winter移动平均线的目标是通过三个参数(平滑序列参数、趋势参数、季节性参数)来进行预测。这种移动平均线能够更好地适应时间序列的趋势和季节性变化。
该指标在 Pandas TA 库中的函数是:
hwma(close, na=None, nb=None, nc=None, offset=None, **kwargs)
3. JMA(Jurik Moving Average, Jurik移动平均线)
JMA是一种平滑指标,在减少延迟(lag)和保持平滑度方面优于大多数其他类型的移动平均线。JMA的基本原理是根据市场价格变动的速度和波动性进行自我调整,以在减少延迟和保持平滑度之间找到最佳平衡。
JMA的主要特点是其灵活性和精确性。由于其能够根据市场条件进行自我调整,因此JMA可以更快地反应市场变化,同时保持平滑,减少噪声。
该指标在 Pandas TA 库中的函数是:
jma(close, length=None, phase=None, offset=None, **kwargs)
4. KAMA(Kaufman's Adaptive Moving Average,Kaufman自适应移动平均线)
KAMA是一个由Perry Kaufman开发的设计用来考虑市场噪声或波动性的移动平均线。相对于传统的移动平均线,KAMA能够根据市场波动性自我调整。
KAMA的主要特点是其自适应性。通过根据市场波动性调整其平滑参数,KAMA能够灵活地适应市场变化。当市场波动性增加时,KAMA将变得更平滑,以减少假信号。当市场波动性减少时,KAMA将更紧密地跟随价格,以捕捉趋势变化。因此,KAMA可以用来确认趋势,识别潜在的转折点,以及过滤出无关的价格波动。
KAMA的步骤如下:
1)计算效率比例(ER):ER是绝对价格变化与价格波动的比例。绝对价格变化是过去N期的收盘价与N期前的收盘价的差值。价格波动是过去N期每期收盘价与前一期收盘价差值的绝对值之和。
ER = (当前价格 - N期前的价格) / (过去N期每期价格与前一期价格的差值的绝对值之和)
2)计算平滑常数(SC):SC是根据ER计算的,它的范围在快速SC和慢速SC之间。快速SC等于2 / (快速长度 + 1),慢速SC等于2 / (慢速长度 + 1)。
SC = [ER * (快速SC - 慢速SC) + 慢速SC]^2
3)计算KAMA:KAMA是用当前价格和前一期的KAMA计算的。
KAMA = 前一期的KAMA + SC * (当前价格 - 前一期的KAMA)
该指标在 Pandas TA 库中的函数是:
kama(close, length=None, fast=None, slow=None, drift=None, offset=None, **kwargs)
5. LINREG(Linear Regression Moving Average,线性回归移动平均线)
线性回归移动平均线(LINREG)是标准线性回归模型的一个简化版本。线性回归模型通常是在两个或多个变量之间进行的,而LINREG则是对单一变量进行滚动回归。
线性回归是统计学中的一种基本形式的预测方法,它研究的是因变量y(目标)和自变量x(特征)之间的线性关系。而线性回归移动平均线是一个更简单的版本,它只使用一个变量y(比如股票的收盘价)进行计算,自变量x为 [1, 2, ..., n]。
线性回归移动平均线的计算方法是对过去一段时间内的价格数据进行线性回归分析,从而得到一个可以表示价格趋势的直线。这个直线的斜率和截距会随着时间的推移而改变,因此也就形成了一条移动的线。
线性回归移动平均线(LINREG)与其他常见的移动平均线如简单移动平均线(SMA)、指数移动平均线(EMA)相比,主要有以下一些特点:
1)趋势定位:线性回归移动平均线通过最小化价格与趋势线之间的距离来确定趋势,因此在某种程度上,它可能更能准确地反映市场的实际趋势。相比之下,其他常见的移动平均线方法如SMA或EMA只是简单地计算一段时间内的平均价格,可能无法准确捕捉到市场的趋势。
2)趋势敏感度:线性回归移动平均线的斜率可以被视为一个动量指标,当斜率改变的时候,可能表示市场趋势的改变。这使得线性回归移动平均线在某些情况下比其他移动平均线更敏感。
3)线性趋势:线性回归移动平均线更加关注价格数据的线性趋势。这意味着它在处理那些显示出清晰趋势的价格数据时可能更有效。
4)适用性:虽然线性回归移动平均线在追踪明确的趋势时可能表现更好,但在震荡市场或者没有明显趋势的市场中,其表现可能就不如SMA或EMA那样稳定。
该指标在 Pandas TA 库中的函数是:
linreg(close, length=None, offset=None, **kwargs)
版权声明:文章版权归原作者所有,部分文章由作者授权本平台发布,若有其他不妥之处的可与小编联系。