ema均線和趨勢線對比(法力無邊的移動平均線EMA)
2023-05-27 06:06:31
刨根問底技術指標(三)
今天繼續講解法力無邊的移動平均線。前面已經有兩篇文章講解簡單移動平均線MA和加權移動平均線SMA的具體算法,沒看過的朋友可以向前翻閱相關的兩篇文章:
法力無邊的移動平均線——股市殺手鐧「2」
法力無邊的移動平均線——股市殺手鐧「1」
現在該輪到EMA的講解了。EMA是Exponent Moving Average的縮寫,也就是指數移動平均線。為啥叫指數呢?指數又體現在哪裡?要先從EMA的公式一點點的往外扒。
上證指數的EMA(20)曲線
畢竟是指數,計算肯定要比算術複雜。關於公式,提前預警,前方高能,請準備好紙
諸君請放心,閱讀本文保證不會流鼻血
紙準備好了嗎?如果方便,順便也準備一支筆,自己跟著推演一下。
先看EMA最終算法,它的計算公式是醬嬸兒的:
其中:
Yk是第k天的EMA計算數值,對應的Yk-1就是前一天的EMA數值
Xk是第k天的股票價格數值
N為EMA的計算參數
公式形式看起來似乎有點怪,為什麼Xk前面要乘以2,分母N 1是咋回事。這個問題要進行下一步的推導和變形,才能很好的給出解釋。有時候公式就像變形金剛,變形之後才能看出來他到底是個啥東西。
將EMA計算公式簡單進行的變形:
引入一個變形齒輪!如果令
則可以得到:
對於給定一個任意的Y0(Y0通常取更前面N日股票收盤價的簡單移動平均線MA數值),我們可以輕鬆地計算出來EMA的第一個數值Y1:
有了EMA的第一個數值,第二個Y2就更容易了:
進一步計算可以得到EMA的第三個數值Y3:
根據數學歸納法,我們可以將Y3推廣到Yk,得到更一般情形下的計算公式形式:
根據m的形式,我們可以很容易的得到0<m<1的結論。當k足夠大時,公式中Y0項的係數m^k是趨向於0的。因此,可以把初始值Y0的影響忽略。
從EMA的最終展開公式中我們可以看到:
往前面一個周期的價格影響力是以m為底數的指數進行衰減。這也就是EMA為什麼被稱作指數移動平均的原因。
對於學文科的同學,如果對上面的公式推導看了頭大,可以直接忽略。但關鍵是要記住一點,EMA之所以叫指數移動平均線,是因為每往前面一個周期,價格對均線數值的影響力都是呈指數級數逐步衰減的。
EMA的公式如果用C 、Python等高級語言進行實現,和SMA的代碼應該是差不多的。做Moving Window的時候,多記錄一下上個周期的計算結果即可。遞歸的不需要,複雜複雜地,效率又低。這是Python結合pandas庫寫的EMA計算代碼:
Python用來計算EMA的函數原始碼
無論是SMA還是EMA,其核心思想就是將歷史的影響進行量化處理。經過前面的公式推導,我們看到EMA是讓事件的影響力隨時間指數衰減。
我個人覺得認為金融市場的歷史事件呈指數衰減,應該是更加合理的一種模型。因為金融市場是由人構成的,是一部分人的集合。
指數衰減是以人為本的客觀規律,大名鼎鼎的艾賓浩斯記憶曲線的形狀和底數小於1的指數曲線比較接近。
無論是股票還是期貨市場,短期的事件就像人要記憶的一件事情一樣,隨著時間的推移,是漸漸被遺忘的。比如,我半年前出去旅遊了,在旅途歸來那幾天,對於路途中的景色和事件記得是最清楚的。但過兩天,我可能想不起來我在旅行中所住賓館的房間號碼了;又過幾天,我可能連住在哪個賓館都忘了;過了半年,我可能只記得旅途中比較精彩的片段;兩年後,我可能只記得兩年前我去某個地方旅遊了,而具體去了幾天,怎麼去的這些細節基本都已經遺忘。但只要時間不是足夠長,我還不會完全遺忘,這就是典型的指數衰減特徵。不過時間如果足夠長,有些事情可能是徹底想不起來的,比如我已經完全想不起來小學三年級上學期語文第六課講的是啥了。
簡單移動平均線MA,加權移動平均線SMA和指數移動平均線EMA的基本內容都已經講完了,下面該詳細的講解這些指標的用處了,等到後面的文章中再慢慢講解。
未完,待續……
,