1.數字濾波器介紹:

(1)基本概念:

羣延遲響應:反映了各頻率分量通過濾波器後在時間上的延遲情況,如果濾波器通帶內 	au_{jomega}=常數 ,那麼濾波器對各頻率分量的延遲相同,為線性相位濾波器

(4)零極點:

在Z變換裏,零點的位置表示系統的「谷」,極點的位置表示系統的「峯」,我們把有峯的地方看做信號可以通過的地方,而有谷的地方看做信號被截止的地方。選擇單位圓為頻域的一個週期,那麼可以得出,如果無零點時,極點在虛軸左半邊為高通,極點在虛軸右邊為低通;如果無無極點時,而零點在虛軸左邊為低通,在虛軸右邊為高通;如果同時有零點和極點,以零點指向單位圓向量的模除以極點指向單位圓的模,對於一階系統,往往極點和零點靠的越近,其帶寬越大。

(5)線性濾波器,非線性濾波器:

設F為濾波函數,是否滿足F[ax(n)++by(n)]=aF[x(n)]+bF[y(n)]

在金融價格序列中,通常高頻短週期的毛刺信號視為隨機擾動雜訊,即需要低通濾波器濾除雜訊,觀測長週期趨勢

2.均線濾波器

2.1簡單均線

1

頻率響應函數

簡單曲線SMA的頻率響應特性

可以看出,簡單均線能起到一定的低通濾波效果,濾除短期高頻雜訊,但是時間上延遲非常大,對所有頻率分量SMA在時間上滯後了(N-1)/2

雙均線趨勢策略的原理解釋:濾除了高頻雜訊後,當存在趨勢時,由於短週期均線和長週期均線對低頻趨勢的滯後不同,有趨勢時短均線變化值大於長均線變化值,離差擴大,導致金叉和死叉。在市場趨勢不強時會不斷發生洗盤交易導致虧損。

2.2線性加權移動平均線

LWMA對近期數據增加權重減少了滯後性,以20天窗口為例,SMA滯後9.5天,對於高頻短週期小於25信號,WMA幾乎沒有滯後,對週期超過50的信號平均滯後6.5天左右。WMA是非線性相位濾波器,對短週期雜訊,幾乎沒有滯後,但是由於對短週期信號(<25)都在阻帶內,影響不大。

2.3指數加權移動平均線

指數加權移動平均(Exponential Moving Average, EMA)和線性加權移動平均類似,但不同之處是各數值的加權按指數遞減,而非線性遞減。此外,在指數衰減中,無論往前看多遠的數據,該期數據的係數都不會衰減到0,而僅僅是向0 逼近。因此,指數移動平均實際上是一個無窮級數,即無論多久遠的數據都會在計算當期的指數移動平均數值時有一定的作用,只不過離當前太遠的數據權重非非常低,因此它們的作用往往可以忽略。指數移動平均由於對近期的數據賦予了更高的權重,因此它比加權移動平均對近期的變化更加敏感,但這種效果並不顯著,指數移動平均也存在一定的滯後。無論是加權還是指數移動平均,它們都是通過對近期的數值賦予更高的權重來提高低頻趨勢對近期變化的敏感程度。

這是一個IIR濾波器,實際運算中不可能無限衝激響應,實際上是時刻0遞推到當前時刻,存在截斷效應。下面取N=20,截斷長度M=5N=100。超過100天的項影響可忽略不計

2.4HMA均線(Hull移動平均)

HMA計算過程:series表示原始時間序列

(1) 計算最近T=N/2期數據的加權移動平均,記為MA1,如果T=N/2不是整數則取整:MA1 = WMA(series,int(T))

(2) 計算整個T期數據的加權移動平均,記為MA2:MA2 = WMA(series,2T)

(3) 令:MA3 = MA1 + (MA1-MA2)

(4) 以MA3這個時間序列為對象,計算sqrt(T)期的加權移動平均,所得的結果就是HMA,如果sqrt(T)不是整數則取整:HMA = WMA(MA3,int(sqrt(2T)))

HMA的原理:假設最近的T(=10)個觀測數據為0到9:

0 1 2 3 4 5 6 7 8 9

如果按照簡單移動平均計算的話,在當前時點得到的均值為4.5,它和當前時點的實際值9相差甚遠,滯後性很大,4.5根本無法反映近期數據的變化趨勢。Hull的做法是將這10期的數據一分為二,考慮最近的T/2(=5)個數據,即5,6,7,8,9。它們的簡單平均為7,反映最近這T/2期數據的(滯後)趨勢。接下來的步驟最為關鍵:Hull用最近T/2期的均值7減去整個T期的均值4.5,並把它們的差2.5再加到最近T/2期的均值7上,得到最終的數據9.5。用整個T期觀測值計算出來的均值4.5近似為T/2時點(而非T時點)附近的低頻趨勢;同理,用最近T/2期的觀測值計算出來的均值7為0.75T時點附近的低頻趨勢。因此,它們的差值(在本例中是2.5)反映了低頻趨勢在T/2時點到0.75T時點之間的變化;最後假設該趨勢的變化會延續,從而將它的值(2.5)與最近T/2期的均值(7)相加,便得到了T時刻的低頻趨勢9.5。簡而言之,Hull通過將T時刻的數據分解為長短兩個部分,給近期的數據更高的「權重」,捕捉近期低頻趨勢的變化,從而減小移動平均演算法固有的滯後性。在實際應用中,為了更有效的捕捉趨勢變化,在計算長短兩個不同時期的均值時,Hull以加權移動平均代替了簡單移動平均。這樣的結果是對滯後性降低的非常明顯,但卻犧牲了部分平滑性。為此,在HMA的演算法中,Hull採用了最後一步,即將上面步驟得到的均值做了最後一次加權移動平均。這是為了確保在實際觀測數據沒有劇烈變化時,低頻趨勢也足夠平滑。考慮到這個最後的平滑過程不應該破壞低滯後性,Hull採用的平滑窗口是T的開方sqrt(T)

記H_WMA(z,N)表示窗口長度為N的WMA的系統函數,由於H_WMA(z,N)是線性濾波器

H_HMA(z,N)表示窗口長度為N的HMA的系統函數

那麼:H_HMA(z,N) =H_WMA(z,M)( 2*H_WMA(z,T)- H_WMA(z,2T))

2.5考夫曼自適應均線KAMA(series,n,f=2,s=30)

計算過程:KAMA 的本質是動態計算衰減係數的指數平均線

(1)先根據最近n天的價格序列計算當前時刻t的效率係數,n為滑動窗口大小:

ER_t=frac{left| P_t-P_{t-n} 
ight|}{sum_{i=t-n+1}^{t}{left| P_i-P_{i-1} 
ight|}}

(2)計算趨勢速度:需要兩個快慢參數,通常默認f=2,s=30:

在考夫曼均線KAMA 的計算中,用到了快、慢兩個時間窗口,它們作為輸入的常數,用於產生快、慢兩個默認的衰減係數。令f(fastest)和s(slowest)分別代表快、慢兩個時間窗口的長度,則兩個衰減係數為: alpha_f = frac{1}{f+2},alpha_s=frac{1}{s+2}

在t 時刻,KAMA 的衰減係數為: alpha_t = left[ ER_t	imes left(alpha_f-alpha_s 
ight)+alpha_s 
ight]^{2}

(3)計算KAMA均線: KAMA_t=alpha_t	imes P_t+(1-alpha_t)	imes KAMA_{t-1}

2.6FRAMA均線:分形自適應移動平均FRIMA(series,n,h=0.2),n=2T

計算過程:FRAMA 的本質是動態計算衰減係數的指數平均線

具體的,對於當前時點t和給定的窗口n=2T,該方法用到了三個時間窗口,即t到t-T+1(記為窗口W1,長度為T),t-T到t-2T+1(記為窗口W2,長度為T),以及t到t-2T+1(記為窗口W,長度為2T)。不難看出,W=W1+W2。FRAMA的計算過程如下:

(1) 用窗口W1內的最高價和最低價計算:N1=(W1最高價–W1最低價)/T

(2) 用窗口W2內的最高價和最低價計算:N2=(W2最高價–W2最低價)/T

(3) 用整個窗口W內的最高價和最低價計算:N3=(W最高價–W最低價)/(2T)

(4) 計算分形維數: D=log_2left( frac{N1+N2}{N3} 
ight)

(5) 計算指數移動平均的參數: alpha_t = e^{-4.6(D-1)}

D的取值在1~2之間, alpha_t 在0.01~1之間

(6)計算FRAMA均線: FRAMA_t=alpha_t	imes P_t+(1-alpha_t)	imes FRAMA_{t-1}

2.7 Laguerre濾波器

Laguerre過濾器會在濾波器係數中扭曲時間

- 只需幾個濾波器項即可實現極端平滑

?NonLinear Laguerre過濾器測量當前價格與上次計算的濾波器輸出之間的差異。

- 目標是將此「錯誤」驅動為零

- 在選定時間段內歸一化到誤差範圍的「誤差」是Laguerre濾波器的alpha

2.8MAMA均線濾波器:MAMA(series,fastlimit,slowlimit)

本質:動態計算衰減係數alpha的EMA。MESA自適應移動平均線(MAMA)以全新且獨特的方式適應價格變動。 這種自適應是基於希爾伯特變換鑒別器測量的相位速率變化。這種自適應方法的優點是它具有快速的攻擊平均值和緩慢的衰減平均值,因此複合平均值迅速增加。 價格變化並保持平均值,直到下一個週期出現。MAMA的概念是將相位變化率與EMA alpha相關聯,從而使EMA自適應。循環階段在每個循環中從0度到360度。 相位是連續的,但通常在每個循環開始時快速繪製。 因此,相位變化率為每循環360度。 週期越短,相變率越快。 例如,36bar的循環的相位變化率為每bar10度,而10bar的循環的變化率為每bar36度。 當市場處於趨勢模式時,週期時間往往更長。

循環階段是從正交分量與InPhase分量的比率的反正切值計算的。通過取連續相位測量的差值來獲得相位變化率值。反正切函數僅測量半個週期的相位,從-90度到+90度。由於相位測量每半個週期快速恢復,因此每半個週期的相位的巨大負的速率變化是由相位的速率變化的計算引起的。當市場處於趨勢模式時,也可以發生測量的負相位變化。從理論上講,任何負相位變化都是不可能的,因為隨著時間的推移,相位必須提前。因此,將相位的所有速率變化限制為不小於1。

允許MAMA中的alpha在最大值和最小值之間的範圍內,這些值被建立為輸入。建議的最大值為FastLimit = 0.5,建議的最小值為SlowLimit = 0.05。變數alpha計算為FastLimit除以相位變化率。每當存在負相位變化率時,alpha的值被設置為FastLimit,因為相位變化率可以不小於1.如果相位變化率很大,則變數alpha在SlowLimit處有界。這使得MAMA無法對較短的市場週期做出反應。

反正切函數產生-90度到+90度之間的相位響應,相位迴繞到-90度。這個相位包裹邊界的相位存在巨大的負速率變化。通過將相位的負速率變化限制為+1,EMA中使用的alpha設置為FastLimit。由於希爾伯特變換的90度滯後,相位纏繞邊界發生在理論正弦波的零度和180度處。

由於測量的相位快速恢復,變數α保證每半個週期設置為FastLimit。這個相對較大的alpha值使MAMA快速接近價格。在相位快照恢復之後,alpha返回到通常較小的值。 alpha值較小會導致MAMA幾乎保持alpha在FastLimit時所達到的值。在相對較大和相對較小的α值之間切換會產生您在波形中觀察到的棘輪動作。當市場處於趨勢模式時,棘輪發生的頻率較低,因為在這些情況下循環週期較長。

如果將MAMA應用於第一個MAMA線以產生以下自適應移動平均值(FAMA),則會產生一組有趣的指標。通過在FAMA中使用的alpha值是MAMA中alpha值的一半,FAMA與MAMA具有時間同步的步驟,但垂直移動不是那麼大。因此,除非市場方向發生重大變化,否則MAMA和FAMA不會交叉。這表明自適應移動平均線交叉系統幾乎沒有洗盤交易。

3.順序統計濾波器Order Statistic(OS):

中值濾波器、中值差分濾波器、Ether濾波器等等。與保持樣本的時間順序的線性濾波器相比,OS濾波器基於濾波器窗口內的樣本的排序來進行操作。數據按其匯總統計排序,例如它們的中位數或方差,而不是它們的時間位置。

3.1中值濾波器MedianFilter(series,n)

MedianFilterMovingAverage中位數濾波器:

?排序過濾器

?易於計算

?通常用於銳化視頻圖像

?通過忽略異常值有助於平滑脈衝雜訊

中值濾波是一種非線性數字濾波器技術,經常用於去除圖像或者其它信號中的雜訊。這個設計思想就是檢查輸入信號中的採樣並判斷它是否代表了信號,使用奇數個採樣組成的觀察窗實現這項功能。觀察窗口中的數值進行排序,位於觀察窗中間的中值作為輸出。然後,丟棄最早的值,取得新的採樣,重複上面的計算過程。

Median_t=medianleft[ P(n),P(n-1),...,p(n-k-1) 
ight]

在OS濾波器中,中值濾波器是最為人所知的。它用於視頻電路中以銳化圖像邊緣並消除脈衝雜訊。在中值濾波器中,輸出是觀察窗口內所有數據值的中值。與平均濾波器相反,中值濾波器簡單地丟棄除中值之外的所有數據。通過這種方式,可以消除衝動雜訊峯值和極端價格數據,而不是包含在平均值中。中值可以落在數據窗口中的第一個樣本,最後一個樣本或兩者之間的任何位置。因此,時間特徵丟失。例如,如果輸入到五抽頭FIR濾波器的數據是順序的[3 4 3 3 9],則中值為4.該中值既不是平均值(4.4是平均值)也不是濾波器中心的值。在這種情況下,忽略9的大數據尖峯值。另一個例子,如果數據輸入為[3 3 3 8 9],則中值為8,而平均值為5.2。此示例顯示中值過濾器可以快速跟蹤數據的快速變化。

中值濾波器傾向於消除導致線性濾波器進行洗盤交易的短期變化。另一方面,響應於急劇和持續的價格變動的中值濾波器的滯後是很大的-它必然是濾波器窗口寬度的大約一半

3.2中值差分濾波器MedianMA(series,n,Threshold)

本質:動態計算衰減係數alpha的EMA,根據當前中值和均值濾波器的差分調整EMA的alpha

?考慮10個1s的價格數據,其中位數和MA均為1,新價格數據點的值為10

- 中位數輸出仍為1,SMA值為1.9

?搜索輸出差異低於所選閾值的濾波器長度:快速變化的市場將產生響應快的過濾器

EMA默認: alpha=frac{2}{n+1}

設定中位數和均值的差異閥值:Threshold

diff=left| Median(series,n)-EMA(series,n) 
ight|

搜索使得frac{diff}{Median(series,n)}<Threshold最大的n(最小的 alpha

3.3可變指數動態移動平均VIDMA(series,n,m=None,h=0.2)

?可變指數動態移動平均:Variable Index Dynamic Moving Average

?Developed by Tushar Chande and Stanly Kroll in 「The new Technical Trader」,John Wiley&Sons,1984

本質:動態計算衰減係數alpha的EMA

?根據一段時間內價格標準差與長期價格標準差的比率,動態調整EMA的衰減係數alpha值

計算步驟:

(1) 在t時刻,計算短窗口和長窗口的價格標準差的比率(默認m=int(n/3)):

r_t=frac{stdleft[ P_t,P_{t-1},...,P_{t-m-1} 
ight]}{stdleft{ left[ P_t,P_{t-1},...,P_{t-n-1} 
ight] 
ight} }

(2)計算動態衰減係數: alpha_t=h	imes r_t ,默認h=0.2

(3)計算VIDMA均線: VIDMA_t=alpha_t	imes P_t+(1-alpha_t)	imes VIDMA_{t-1}

3.4Etherl濾波器

推薦閱讀:

查看原文 >>
相關文章