Table of Content
- Overlaps Functions
-
- MIDPOINT - MidPoint over period
- SMA - Simple Moving Average
- WMA - Weighted Moving Average
- TRIMA - Triangular Moving Average
- MAVP - Moving average with variable period
- BBANDS - Bollinger Bands
- EMA - Exponential Moving Average
- DEMA - Double Exponential Moving Average
- TEMA - Triple Exponential Moving Average
- KAMA - Kaufman Adaptive Moving Average
- T3: Triple exponential Moving Average T3:
- TRIX - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
- MAMA - MESA Adaptive Moving Average
- HT_TRENDLINE - Hilbert Transform - Instantaneous Trendline
- SAR - Parabolic Stop and Reveres
- Momentum Indicator
-
- Momentum
- ROC - Rate of change : ((price/prevPrice)-1)*100
- DX - Directional Index
- ADX - Average Directional Movement Index
- ADXR - Average Directional Movement Index Rating
- PPO - Percentage Price Oscillator
- APO - Absolute Price Oscillator
- MACD - Moving Average Convergence/Divergence
- MFI - Money Flow Index
- RSI - Relative Strength Index
- CMO - Chande Momentum Oscillator
- AROON - Aroon
- BOP - Balance Of Power
- CCI - Commodity Channel Index
- Oscillator
- Volume Indicator Function
- Cycle Indicator Functions
- Other
Overlaps Functions
MIDPOINT - MidPoint over period
M i d P o i n t = h i g h + l o w 2 MidPoint= \frac{high+low}{2} MidPoint=2high+low
SMA - Simple Moving Average
特征:资金的涌入价格的提升,资金的流出带来价格的下降,Moving average实际上是人们的仓位的体现,因为建仓有时延,lag其实有时候是必要的特征,并不是zero lag就会更好。
移动平均线一定要小心Lag,要清楚的知道当前计算的参数的lag是多少,否则会不知道这个参数应该有多少的时间领先。
例如:
- SMA的lag是(N-1)/2
- WMA: (N-1)/3
- EMA: (1-alpha)/ alpha ,如果alpha等于2/(N+1),那么他的lag就会和SMA一致,这也是ta-lib中的取值
WMA - Weighted Moving Average
加权平均,按照线性赋予权重,越近的权重越大
TRIMA - Triangular Moving Average
等边三角形权重加权,周期中间的日期权重最大。
MAVP - Moving average with variable period
real = MAVP(close, periods, minperiod=2, maxperiod=30, matype=0)
其中,close和periods应该是要求等长度的,等于对于每一个点上取的不同period的sma对应的该点数值。
当periods=[2, 3, 4]时候,那么前三个数字就是[SMA(close, timepeirod=2)[0], SMA(close, timepeirod=3)[1], SMA(close, timepeirod=4)[2]]。通过minperiod和maxperiod对于periods进行cap和floor,不是很清楚它的实际意义,感觉很容易过拟合。
BBANDS - Bollinger Bands
布林线,通常SMA的周期选20,F系数通常选2。当布林线变窄的时候则说明volatility比较小。
T P ( t y p i c a l p r i c e ) = h i g h + l o w + c l o s e 3 M i d B a n d = S M A ( T P ) U p p e r B a n d = M i d B a n d + F × σ ( T P ) L o w e r B a n d = M i d B a n d − F × σ ( T P ) TP(typical price) = \frac{high+low+close}{3} \\ MidBand = SMA(TP) \\ UpperBand = MidBand+F \times \sigma(TP) \\ LowerBand = MidBand - F\times \sigma(TP) TP(typicalprice)=3high+low+closeMidBand=SMA(TP)UpperBand=MidBand+F×σ(TP)LowerBand=MidBand−F×σ(TP)
应用:Momentum,应用规则是这样的:当一只股票在一段时间内股价波幅很小,反映在布林线上表现为,股价波幅带长期收窄,而在某个交易日,股价在较大交易量的配合下收盘价突破布林线的阻力线,而此时布林线由收口明显转为开口,此时投资者应该果断买入(从当日的K线图就可明显看出),这是因为,该股票由弱转强,短期上冲的动力不会仅仅一天,短线必然会有新高出现,因此可以果断介入。
EMA - Exponential Moving Average
Exponential Moving Average
其中的2是为了考虑tail effect
α = 2 n + 1 \alpha=\frac{2}{n+1} α=n+12
E M A t = α × x t + ( 1 − α ) × E M A t − 1 EMA_{t} = \alpha \times x_t + (1-\alpha) \times EMA_{t-1} EMAt=α×xt+(1−α)×EMAt−1
How to understand the lag and halflife?
H a l f L i f e = l o g [ 1 / 2 ] l o g ( 1 − α ) HalfLife = \frac{log[1/2]}{log(1-\alpha)} HalfLife=log(1−α)log[1/2]
L a g = 1 α − 1 Lag = \frac{1}{\alpha} - 1 Lag=α1−1
When Halflife is large, lag is about 1.4 HalfLife
DEMA - Double Exponential Moving Average
相比于EMA,它更加的平滑且延迟更小,相当于用EMA减去一个更慢的波来过滤。虽然这个指标对于理想脉冲的lag是零,但是还是会存在实际上的延迟。
实际过程中DEMA更多的是一种趋势信号,很难及时反馈出反转。
D E M A t = 2 × E M A t − E M A ( E M A t ) DEMA_t = 2\times EMA_t - EMA(EMA_t) DEMAt=2×EMAt−EMA(EMAt)
TEMA - Triple Exponential Moving Average
T E M A t = 3 × E M A t − 3 × E M A ( E M A t ) + E M A ( E M A ( E M A t ) ) TEMA_{t} = 3 \times EMA_t - 3\times EMA(EMA_t) + EMA(EMA(EMA_t)) TEMAt=3×EMAt−3×EMA(EMAt)+EMA(EMA(EMAt))
KAMA - Kaufman Adaptive Moving Average
特征:KAMA能够在相对震荡的时候保持指标的稳定,在单边方向运行的时候能够及时响应,是一个趋势跟踪信号。
因为它反应速度快,也容易具有一些噪音
定义
ER来表示这一段时间的变化站总的波动的多少,如果单方向上行,那么就是1,如果完全的横盘那就是0。
D i r e c t i o n = x t − x t − n V o l a t i l i t y = ∑ t − n + 1 t a b s ( x i − x i − 1 ) E R ( E f f e c t i v e R a t i o ) = d i r e c t i o n v o l a t i l i t y f a s t = 2 F a s t P e r i o d + 1 , s l o w = 2 S l o w P e r i o d + 1 S C ( S m o o t h i n g C o n s t a n t ) = [ E R × ( f a s t − s l o w ) + s l o w ] 2 K A M A t = K A M A t − 1 + S C × ( c l o s e t − K A M A t − 1 ) Direction = x_t-x_{t-n} \\ Volatility = \sum_{t-n+1}^t abs (x_i - x_i-1) \\ ER(EffectiveRatio) = \frac{direction}{volatility} \\ fast = \frac{2}{FastPeriod + 1}, slow = \frac{2}{SlowPeriod + 1} \\ SC(SmoothingConstant)=[ER\times (fast-slow)+slow]^2 \\ KAMA_t = KAMA_{t-1} + SC \times (close_t - KAMA_{t-1}) Direction=xt−xt−nVolatility=t−n+1∑tabs(xi−xi−1)ER(EffectiveRatio)=volatilitydirectionfast=FastPeriod+12,slow=SlowPeriod+12SC(SmoothingConstant)=[ER×(fast−slow)+slow]2KAMAt=KAMAt−1+SC×(closet−KAMAt−1)
应用:(参考)[http://blog.sina.com.cn/s/blog_62d0bbc701010p7d.html]包括一个策略的参考
T3: Triple exponential Moving Average T3:
特征
这个函数相具备了六阶EMA,相比于EMA和DEMA会更加responsive,应用也更加广泛。
定义
- GD: Generalized DEMA。
- 如果vfactor等于1的话GD就是单纯的DEMA,如果是0,则退化成EMA
G D ( x ) = E M A ( x ) × ( 1 + v f a c t o r ) − E M A ( E M A ( x ) ) × v f a c t o r T 3 = G D ( G D ( G D ( x ) ) ) GD(x) = EMA(x) \times (1+vfactor) - EMA(EMA(x)) \times vfactor \\ T3 = GD(GD(GD(x))) GD(x)=EMA(