亚洲精品国产精品制服丝袜,亚洲欧美日韩精品a∨,97在线热免费视频精品视频,亚洲人成在线观看网站不卡

移動(dòng)平均:你知道的與你不知道的

發(fā)布時(shí)間:2016-10-11  |   來源: 川總寫量化

作者:石川

摘要:本文分析了移動(dòng)平均技術(shù)的本質(zhì),并比較了 5 種不同的算法。


1 引言


移動(dòng)平均(Moving Average,MA),又稱移動(dòng)平均線,簡(jiǎn)稱均線。作為技術(shù)分析中一種分析時(shí)間序列的常用工具,常被應(yīng)用于股票價(jià)格序列。移動(dòng)平均可過濾高頻噪聲,反映出中長(zhǎng)期低頻趨勢(shì),輔助投資者做出投資判斷。


根據(jù)計(jì)算方法的不同,流行的移動(dòng)平均包括簡(jiǎn)單移動(dòng)平均、加權(quán)移動(dòng)平均、指數(shù)移動(dòng)平均,更高階的移動(dòng)平均算法則有分形自適應(yīng)移動(dòng)平均、赫爾移動(dòng)平均等。這其中,簡(jiǎn)單移動(dòng)平均又最為常見。下圖為上證指數(shù)日線的 5 個(gè)不同計(jì)算窗口(20 日,50 日,120 日,200 日,300 日)的簡(jiǎn)單移動(dòng)平均線。


f1.png


簡(jiǎn)單移動(dòng)平均(Simple Moving Average, SMA)就是對(duì)時(shí)間序列直接求等權(quán)重均值,因此使用簡(jiǎn)單。但其最令人詬病的就是它的滯后性。從上圖不難看出,隨著計(jì)算窗口 T 的增大,移動(dòng)平均線越來越平滑,但同時(shí)也越來越滯后。以 120 日均線為例,在 2015 年 6 月份之后的大熊市開始了很長(zhǎng)一段時(shí)間之后,120 日均線才開始呈現(xiàn)下降趨勢(shì)。如果我們按照這個(gè)趨勢(shì)進(jìn)行投資,那這個(gè)滯后無疑造成了巨額的虧損。


事實(shí)上,任何移動(dòng)平均算法都會(huì)呈現(xiàn)一定的滯后性。它以滯后性的代價(jià)換來了平滑性,移動(dòng)平均必須在平滑性和滯后性之間取舍。然而,滯后性是怎么產(chǎn)生的呢?簡(jiǎn)單移動(dòng)平均在時(shí)間上滯后多少呢?有沒有什么高級(jí)的移動(dòng)平均算法能在保證平滑性的同時(shí)將滯后性減小到最低呢?這些就是本文要回答的問題。


2 移動(dòng)平均的本質(zhì)


移動(dòng)平均的本質(zhì)是一種低通濾波。它的目的是過濾掉時(shí)間序列中的高頻擾動(dòng),保留有用的低頻趨勢(shì)。如何從時(shí)間序列中抽取出真正的低頻趨勢(shì)呢?無論采取哪種移動(dòng)平均算法,理論上的計(jì)算方法都相同,下面我們簡(jiǎn)要說明。同時(shí),我們也會(huì)清晰地闡述該計(jì)算方法僅在理論上有效,而在實(shí)際應(yīng)用中是無法實(shí)現(xiàn)的,并由此揭示產(chǎn)生滯后性的原因。


假設(shè)一個(gè)時(shí)間序列 y = {…, y_(t-2), y_(t-1), y_t, y_(t+1), y_(t+2), …},如下圖所示。另外,假設(shè)我們有一個(gè)作用在時(shí)域 t 上的過濾函數(shù) F(注:這個(gè) F 的具體形式根據(jù)不同的移動(dòng)平均算法而不同)。

f2.png


在任意 t 時(shí)刻的低頻濾波(用 x_t?表示)在數(shù)學(xué)上可以表示為該時(shí)間序列 y 和過濾函數(shù) F 在整個(gè)時(shí)域上的卷積,即


image.png


其中,F(xiàn)_i?為過濾函數(shù) F 在時(shí)刻 i 的取值。由于在實(shí)際中不可能用到無窮多的數(shù)據(jù),因此可以考慮給過濾加一個(gè)窗函數(shù),即過濾函數(shù) F 只在窗口長(zhǎng)度 T 內(nèi)有效、在窗口之外為 0,如下圖所示:


f3.png


加入長(zhǎng)度為 T 的窗函數(shù)后,在時(shí)刻t的低頻濾波變?yōu)樵摃r(shí)間序列 y 和過濾函數(shù) F 在這個(gè)窗口內(nèi)的卷積:


image.png


然而,無論是否使用加窗函數(shù),上述公式最大的問題是,在計(jì)算 t 時(shí)刻的低頻分量時(shí),利用到了未來的數(shù)據(jù)。換句話說,理論上的低通濾波(或者移動(dòng)平滑)必須要用事后數(shù)據(jù),其假設(shè)所有數(shù)據(jù)都發(fā)生后再在全局上計(jì)算所有時(shí)點(diǎn)的低頻分量。但這在實(shí)時(shí)數(shù)據(jù)中是不可能的,因?yàn)樵谌魏萎?dāng)前時(shí)刻 t,我們都沒有未來數(shù)據(jù)可以利用。正因如此,在實(shí)際應(yīng)用中,我們無法使用 t-(T-1)/2 到 t+(T-1)/2 之間的數(shù)據(jù),只能退而求其次使用 t-(T-1) 到 t 之間的數(shù)據(jù)。這相當(dāng)于我們把計(jì)算低頻趨勢(shì)的過濾窗函數(shù)在時(shí)域上向左平移 (T-1)/2 個(gè)單位,如下圖所示:

f4.png


如此處理后,對(duì)于實(shí)時(shí)數(shù)據(jù),在當(dāng)前時(shí)刻 t 的低頻濾波變?yōu)樵摃r(shí)間序列 y 和過濾函數(shù) F 在 t-T+1 到 t 之間的卷積:


image.png


沒有未來數(shù)據(jù)便是滯后的根本原因。對(duì)于簡(jiǎn)單移動(dòng)平均來說,在窗口 T 內(nèi),過濾函數(shù)在每個(gè)時(shí)點(diǎn)的取值都是 1/T。利用上述公式計(jì)算得到的實(shí)際上是 t-(T-1)/2 時(shí)刻(而非 t 時(shí)刻)的低頻趨勢(shì),而我們把它當(dāng)作 t 時(shí)刻的低頻趨勢(shì)使用,這便產(chǎn)生了 (T-1)/2 的滯后。當(dāng)我們使用簡(jiǎn)單移動(dòng)平均時(shí),在當(dāng)前時(shí)刻 t,對(duì)于給定的時(shí)間窗口 T,我們僅能求出 t-(T-1)/2 時(shí)刻之前的低頻趨勢(shì),而無法求出 t-(T-1)/2 之后的低頻趨勢(shì)。這也解釋了為什么時(shí)間窗口 T 越大,滯后 (T-1)/2 越多。這就是為什么看股票數(shù)據(jù)里面 MA20、MA30、MA50 等日均線這種,計(jì)算均線的窗口 T 越大,得到的移動(dòng)平滑曲線越滯后。


既然無論如何都沒有未來數(shù)據(jù),那么是否意味著我們就只能接受移動(dòng)平均的滯后性呢?答案是否定的。換個(gè)角度來考慮這個(gè)問題,滯后性說明由簡(jiǎn)單移動(dòng)平均計(jì)算得到的低頻趨勢(shì)對(duì)近期的最新數(shù)據(jù)不夠敏感。這是由于它在計(jì)算低頻趨勢(shì)時(shí),對(duì)窗口內(nèi)所有的數(shù)據(jù)點(diǎn)都給予相同的權(quán)重。按著這個(gè)思路延伸,自然的想法就是在計(jì)算移動(dòng)平均時(shí),給近期的數(shù)據(jù)更高的權(quán)重,而給窗口內(nèi)較遠(yuǎn)的數(shù)據(jù)更低的權(quán)重,以更快的捕捉近期的變化。由此便得到了加權(quán)移動(dòng)平均和指數(shù)移動(dòng)平均。


3 加權(quán)移動(dòng)平均


在計(jì)算加權(quán)移動(dòng)平均(Weighted Moving Average, WMA)時(shí),窗口內(nèi)的過濾函數(shù)的取值從當(dāng)前數(shù)據(jù)到之前第 T-1 期的數(shù)據(jù)依次線性遞減。因此,第 t-i 期的 F_(t-i) 為 2(T-i)/(T(T+1)),i = 0, 1,……, T-1。該權(quán)重是 i 的單調(diào)線性遞減函數(shù)。下圖為 T = 15 時(shí)不同 i 的取值對(duì)應(yīng)的權(quán)重(圖片來自 wiki)。


Weighted_moving_average_weights_N=15.png


在確定了權(quán)重后,t 時(shí)刻的加權(quán)移動(dòng)平均(記為 WMA_t)由下式得到:


image.png


值得一提的是,由于嚴(yán)格的按照線性遞減,因此權(quán)重會(huì)最終在當(dāng)前時(shí)刻之前的第 T 期時(shí)點(diǎn)衰減為 0。以上證指數(shù)過去 10 年的日數(shù)據(jù)為例,下圖比較了 T = 100 時(shí)的簡(jiǎn)單移動(dòng)平均和加權(quán)移動(dòng)平均的過濾效果。加權(quán)移動(dòng)平均比簡(jiǎn)單移動(dòng)平均對(duì)近期的變化更加敏感,尤其是在牛熊市轉(zhuǎn)換的時(shí)候,加權(quán)移動(dòng)平均的滯后性小于簡(jiǎn)單移動(dòng)平均。但是,由于僅采用線性權(quán)重衰減,加權(quán)移動(dòng)平均仍然呈現(xiàn)出滯后性。


exp1.png


4 指數(shù)移動(dòng)平均


指數(shù)移動(dòng)平均(Exponential Moving Average, EMA)和加權(quán)移動(dòng)平均類似,但不同之處是各數(shù)值的加權(quán)按指數(shù)遞減,而非線性遞減。此外,在指數(shù)衰減中,無論往前看多遠(yuǎn)的數(shù)據(jù),該期數(shù)據(jù)的系數(shù)都不會(huì)衰減到 0,而僅僅是向 0 逼近。因此,指數(shù)移動(dòng)平均實(shí)際上是一個(gè)無窮級(jí)數(shù),即無論多久遠(yuǎn)的數(shù)據(jù)都會(huì)在計(jì)算當(dāng)期的指數(shù)移動(dòng)平均數(shù)值時(shí)有一定的作用,只不過離當(dāng)前太遠(yuǎn)的數(shù)據(jù)權(quán)重非非常低,因此它們的作用往往可以忽略。


在實(shí)際應(yīng)用中,t 時(shí)刻的指數(shù)移動(dòng)平均(記為 EMA_t)可以按如下方法得到:


image.png


其中 alpha?表示權(quán)重的衰減程度,取值在 0 和 1 之間。alpha?越大,過去的觀測(cè)值衰減的越快。雖然指數(shù)移動(dòng)平均是一個(gè)無窮級(jí)數(shù),但在實(shí)際應(yīng)用時(shí),我們也經(jīng)??吹?T 期指數(shù)移動(dòng)平均的說法。這里的 T 是用來計(jì)算 alpha?的參數(shù),它不表示指數(shù)衰減在 T 期后結(jié)束。alpha?和 T 的關(guān)系為 alpha?= 2/(T+1)。下圖為 T = 15 時(shí)不同時(shí)刻的權(quán)重(圖片來自 wiki)。可以看到,任何一期的權(quán)重都不會(huì)衰減到 0。


Exponential_moving_average_weights_N=15.png

下圖比較了 T = 100 時(shí)簡(jiǎn)單移動(dòng)平均、加權(quán)移動(dòng)平均和指數(shù)移動(dòng)平均的平滑效果。指數(shù)移動(dòng)平均由于對(duì)近期的數(shù)據(jù)賦予了更高的權(quán)重,因此它比加權(quán)移動(dòng)平均對(duì)近期的變化更加敏感,但這種效果在本例中并不顯著,指數(shù)移動(dòng)平均也存在一定的滯后。


exp2.png


當(dāng) alpha?= 1/T 時(shí),得到的指數(shù)移動(dòng)平均又稱為修正移動(dòng)平均(Modified Moving Average,MMA)或平滑移動(dòng)平均(SMoothed Moving Average,SMMA),它們?cè)趹?yīng)用中也十分常見。比如,在計(jì)算技術(shù)指標(biāo) ADX 的時(shí)候,就應(yīng)用到了平滑移動(dòng)平均。感興趣的讀者可參考文章《精選技術(shù)指標(biāo)系列(1):ADX》。


無論是加權(quán)還是指數(shù)移動(dòng)平均,它們都是通過對(duì)近期的數(shù)值賦予更高的權(quán)重來提高低頻趨勢(shì)對(duì)近期變化的敏感程度。然而,它們的計(jì)算表達(dá)式(或算法結(jié)構(gòu))是固定的,在整個(gè)時(shí)間序列上的各個(gè)時(shí)點(diǎn)都使用同樣的結(jié)構(gòu)(即一成不變的權(quán)重分配方法)計(jì)算移動(dòng)平均,而不考慮時(shí)間序列自身的特點(diǎn)。一個(gè)優(yōu)秀的移動(dòng)平均算法計(jì)算出來的均線應(yīng)在時(shí)間序列自身波動(dòng)不明顯的時(shí)點(diǎn)足夠平滑,而在時(shí)間序列自身發(fā)生巨變時(shí)迅速捕捉、將滯后最小化。要想達(dá)到這種效果,就必須利用時(shí)間序列自身的特點(diǎn)。分形自適應(yīng)移動(dòng)平均算法就是這樣一個(gè)有力的工具。


5 分形自適應(yīng)移動(dòng)平均


顧名思義,分形自適應(yīng)移動(dòng)平均(FRactal Adaptive Moving Average,F(xiàn)RAMA)利用了投資品價(jià)格序列的分形特征(關(guān)于什么是分形,請(qǐng)參考《分形市場(chǎng)假說》)。簡(jiǎn)單的說,該算法通過一個(gè)簡(jiǎn)單的公式計(jì)算從時(shí)間序列從當(dāng)前時(shí)點(diǎn)往前 2T 長(zhǎng)度的時(shí)間窗口內(nèi)的分形維數(shù) D,并利用分形維數(shù)進(jìn)一步求解指數(shù)移動(dòng)平均的參數(shù) alpha。


分形維數(shù)描述時(shí)間序列的趨勢(shì),其取值在 1 到 2 之間,越大說明趨勢(shì)越明顯,越小說明時(shí)間序列越隨機(jī)。因此,通過連續(xù)的計(jì)算時(shí)間序列局部的分形維數(shù),該算法可以動(dòng)態(tài)的、自適應(yīng)的根據(jù)時(shí)間序列的特征計(jì)算平滑所用的參數(shù)。由于 alpha?是 D 的減函數(shù),因此 D 越大(趨勢(shì)越明顯),alpha?越小,即指數(shù)平滑時(shí)對(duì)過去的數(shù)值衰減的越慢;D 越?。S機(jī)性越強(qiáng)),alpha?越大,即指數(shù)平滑時(shí)對(duì)過去的數(shù)值衰減的越快、對(duì)最新數(shù)據(jù)的變化越敏感。


具體的,對(duì)于當(dāng)前時(shí)點(diǎn) t 和給定的窗口 T,該方法用到了三個(gè)時(shí)間窗口,即 t 到 t-T+1(記為窗口 W1,長(zhǎng)度為 T),t-T 到 t-2T+1(記為窗口 W2,長(zhǎng)度為 T),以及 t 到 t-2T+1(記為窗口 W,長(zhǎng)度為 2T)。不難看出,W = W1+W2。該方法的步驟如下:


1. 用窗口 W1 內(nèi)的最高價(jià)和最低價(jià)計(jì)算 N1 = (最高價(jià) – 最低價(jià)) / T;

2. 用窗口 W2 內(nèi)的最高價(jià)和最低價(jià)計(jì)算 N2 = (最高價(jià) – 最低價(jià)) / T;

3. 用窗口 T 內(nèi)的最高價(jià)和最低價(jià)計(jì)算 N3 = (最高價(jià) – 最低價(jià)) / (2T);

4. 計(jì)算分形維數(shù) D = [log(N1+N2) – log(N3)] / log(2);

5. 計(jì)算指數(shù)移動(dòng)平均的參數(shù) alpha = exp(-4.6*(D-1)),并使其滿足在 0.01 和 1 之間;

6. 將 alpha 帶入指數(shù)移動(dòng)平均的公式求解 t 時(shí)刻的 FRAMA 移動(dòng)平均值。


下圖比較了?T = 100?時(shí)指數(shù)移動(dòng)平均以及分形自適應(yīng)移動(dòng)平均的平滑效果。很明顯,由于利用了時(shí)間序列自身的分形特征,F(xiàn)RAMA 均線對(duì)滯后性的提高非常明顯,這意味著在價(jià)格趨勢(shì)發(fā)生變化的時(shí)候它捕捉的更加及時(shí)。當(dāng)然,取決于選取的參數(shù),F(xiàn)RAMA 均線在一些局部可能不夠平滑,它體現(xiàn)了一種動(dòng)態(tài)的對(duì)平滑度和靈敏度的取舍。


exp3.png


6 赫爾移動(dòng)平均


最后,我們?cè)俳榻B一種業(yè)界常用的高級(jí)移動(dòng)平均算法,即赫爾移動(dòng)平均(Hull Moving Average,HMA)。它由 Alan Hull 發(fā)明,故由此得名。該算法最大的特點(diǎn)是在減少滯后的同時(shí)有效的提高了均線的平滑程度。在本文中,我們并不對(duì)它背后的邏輯做太多的剖析,這將留到今后某一期的精選技術(shù)指標(biāo)中介紹。我們直接給出它的計(jì)算步驟。對(duì)于給定的窗口 T:


1. 計(jì)算窗口為 T/2 的加權(quán)移動(dòng)平均,并把結(jié)果乘以 2(如果 T/2 不是整數(shù)則取整);

2. 計(jì)算窗口為 T 的加權(quán)移動(dòng)平均;

3. 用第 1 步的結(jié)果減去第 2 部的結(jié)果,得到一個(gè)新的時(shí)間序列;

4. 以第 3 步得到的時(shí)間序列為對(duì)象,計(jì)算窗口為 sqrt(T),即根號(hào) T,的加權(quán)移動(dòng)平均(如果根號(hào) T 不是整數(shù)則取整)。


上述步驟的數(shù)學(xué)表達(dá)式為:


image.png


最后,比較 T = 100 時(shí)分形自適應(yīng)移動(dòng)平均和赫爾移動(dòng)平均的平滑效果。令人驚喜的看到,HMA 均線有著不輸 FRAMA 均線的靈敏性(滯后性非常低),并且在局部也提高了平滑性,確實(shí)做到了在保證平滑性的同時(shí)最大的降低了滯后性。


exp4.png


7 結(jié)語


作為技術(shù)分析的利器,移動(dòng)平均線人人都在看、人人都在用??捎钟卸嗌偃讼氲们宄⒂玫拿靼啄??本文詳盡的分析了移動(dòng)平均技術(shù)的本質(zhì),揭示了滯后性產(chǎn)生的原因。通過對(duì)五種不同過濾技術(shù)的分析和對(duì)比,說明了高級(jí)的移動(dòng)平均技術(shù)(比如 FRAMA 和 HMA)可以有效的降低滯后性并保證均線的平滑性。



免責(zé)聲明:入市有風(fēng)險(xiǎn),投資需謹(jǐn)慎。在任何情況下,本文的內(nèi)容、信息及數(shù)據(jù)或所表述的意見并不構(gòu)成對(duì)任何人的投資建議。在任何情況下,本文作者及所屬機(jī)構(gòu)不對(duì)任何人因使用本文的任何內(nèi)容所引致的任何損失負(fù)任何責(zé)任。除特別說明外,文中圖表均直接或間接來自于相應(yīng)論文,僅為介紹之用,版權(quán)歸原作者和期刊所有。