什么是薛斯通道?上個世紀70年代,美國人薛斯最早發(fā)明了薛斯通道。 他本人曾是研究火箭運行的。 薛斯通道包括兩組通道指標,分別是長期大通道指標(100天)和短期小通道指標(10天)。 股價實際上是被短期小通道包容著在長期大通道中上下運行。 薛斯通道又可分為四條軌道線: 內(nèi)下軌(紫線)代表短期支撐,內(nèi)上軌(黃線)代表短期壓力。 外下軌(綠線)代表長期支撐,外上軌(白線)代表長期壓力。 理論上,薛斯通道價觸及大通道下軌時買進,在峰頂當股價觸及大通道上軌時賣出。 但在實際操作中,小通道下軌觸及大通道下軌也是買進時機,小通道上軌由上向下穿過大通道上軌也是賣出時機。 股價觸及大通道下軌,此時股價往往正處在谷底位置。 薛斯通道的公式講解參數(shù)說明: - CLOSE:收盤價,HIGH:最高價,LOW:最低價
“DMA(X,A):求X的動態(tài)移動平均。 A 為動態(tài)因子 Y = DMA(X,A) = A * X (1 - A) * Y' 其中Y'表示上一周期Y值 ” 公式推導(dǎo)如下: _tmp1 = (2*CLOSE HIGH LOW)/4 _tmp2 = MA20(CLOSE) AA = MA5(_tmp1) CC = ABS(_tmp1-_tmp2)/_tmp2 DD = DMA(CLOSE, CC)
CH1 = AA * N / 100 CH2 = AA * (200-N) / 100 CH3 = (1 M/100) * DD CH4 = (1 - M/100) * DD
python源碼def ma_x(data_list, x): _ma_list = [] for index, value in enumerate(data_list): tmp = round(sum(data_list[:index 1]) / (index 1), 3) \ if index < x else \ round(sum(data_list[index - x:index]) / x, 3) _ma_list.append(tmp) return _ma_list
def dma(data_list, cc_list): _dma_list = [0] for index, value in enumerate(data_list): _tmp = _dma_list[index] _dma_list.append(cc_list[index] * value (1 - cc_list[index]) * _tmp) del _dma_list[0] return _dma_list
def xs2(df, M, N): df['AA'] = (2 * df['收盤'] df['最高'] df['最低']) / 4 AA_list = df['AA'].to_list() CLOSE_list = df['收盤'].to_list() df['AA_MA5'] = ma_x(AA_list, 5) df['CLOSE_MA20'] = ma_x(CLOSE_list, 20) df['CC'] = abs(df['AA'] - df['CLOSE_MA20']) / df['CLOSE_MA20']
CC_list = df['CC'].to_list() df['DD'] = dma(CLOSE_list, CC_list)
df['CH1'] = df['AA'] * N / 100 df['CH2'] = df['AA'] * (200 - N) / 100 df['CH3'] = (1 M / 100) * df['DD'] df['CH4'] = (1 - M / 100) * df['DD'] df['XS_delta'] = 100 * (df['收盤'] - df['CH4']) / df['收盤'] return df
其中,'XS_delta'為CH4和收盤價歸一化的值,可用于量化,示例如下: 圖中的紅色虛線為收盤價戳破薛斯通道底線的位置。 后面有時間做一下回測驗證下。 粉絲突破1000時發(fā)這個抄底指標的數(shù)據(jù)表格。 最后本文, 包括本文所有數(shù)據(jù)圖表均由作者Python程序而來,實屬不易!~~
|