流體均線模型及其應用

Locke
trading & mind
Published in
21 min readJan 25, 2021
葛飾北斎 | 富嶽三十六景 | 神奈川沖浪裏
目錄:- 流體均線的理論來源
- 從三重均線到流體均線
- 流體均線的特性
- EMA 對於均線細節的扭曲
- 流體均線的流動週期
- 流體均線的反轉指標
- 流體均線的反轉訊號
- 利用流體均線結合其他指標判別趨勢起漲點
- 利用流體均線解析茶杯柄形態
TradingView 趨勢指標代碼:- 均線流體指標 (Turbulence with direction)
- 均線流體反轉指標 (Turbulence reversal)
- 均線碎形指標 (Fractal)

流體均線的理論來源

流體均線 (Turbulence moving average) 是作者個人對於趨勢理論與均線系統的體會,其特性及其背後的訊息值得更深入的探討,這裡提出一些初步的觀察與可能的應用。

流體均線的概念主要來自於下列三個理論:

  1. Jesse Livermore 的「趨勢追蹤的最小阻力線」(Line of least resistance for trend following)
  2. Benoit Mandelbrot 的「市場紊流傾向密集」(Market turbulence tends to cluster)
  3. Bill Williams 的「看不見的底層結構」(Unseen underlying structure)

總結來說,金融市場的本質是:

價格會極端波動,導致不同時期的平均價格一再重複一個發散與密集的波動週期。

而這波動的背後,是均線的交互作用進而產生紊流。均線交叉、發散、與密集,形成一個看不見的底層結構,帶領著價格順著最小阻力路徑運動。

這背後的理論,有興趣請參考「深入解析趨勢理論與技術分析」的系列文章。

深入解析趨勢理論與技術分析的系列文章:- 深入解析趨勢理論與技術分析 (上):交易與價格
- 深入解析趨勢理論與技術分析 (中):價格與趨勢的運行
- 深入解析趨勢理論與技術分析 (下):趨勢訊號的辨別

下面我們來談談如何利用這三個基本原理來設計一系列的指標,並且以這些指標產生的訊號來判斷價格的走勢。

從三重均線到流體均線

「不可見的底層結構」本質上就是不同時期平均價格所構成的支撐與壓力均線結構。前人之所以沒能直接看見這個結構,很大的原因是因為當時電腦運算能力尚未發展以及資訊沒有現在容易取得。

作為折衷方案,許多人利用三重移動平均線 (Triple moving average) 來觀察短期、中期、以及長期平均價格的交互作用,最主流的是利用指數移動平均線 (Exponential moving average, EMA) 對於當前價格加權比重較重的特性,用三條 EMA 線來看價格的運動方向。

三重均線雖然比單一均線或是雙均線提供了更高的趨勢解析能力,但是對於顯現出「不可見的底層結構」畢竟還是有一段距離。對於趨勢方向的變化,支撐與壓力的位置並沒有辦法直觀地呈現出來。在趨勢變化的過程中,也無法即時視覺化地顯示均線的交互作用與運行方向。

這裡我們可以把三重均線想像成一個放大鏡,如果我們想把觀察力再放大一點,看看這個均線結構的細部是長什麼樣子,那麼我們應該使用顯微鏡。

流體均線就是一個可以觀察「不可見的底層結構」的顯微鏡。

這個顯微放大,其實邏輯非常簡單,就是多畫幾條具有「相等歷史記憶」與「相等時間間距」的均線,來觀察其細部的交互作用。

其中「相等歷史記憶」與「相等時間間距」這兩點至關重要,否則這個放大的效果會被扭曲,而其背後的結構也會因為放大的失真 (Distortion) 而失去其觀察能力。

由於 TradingView 一個指標有最多輸出 64 個數據的限制,為了方便結合其他指標使用,我們選擇 sma12 到 sma120 的範圍,每隔 4 個時間間距取一條均線,共 28 條均線,來看均線流體般的走勢。

這其中也包含三重均線系統的短期、中期、與長期均線 (這裡我們使用 sma20、sma60、與 sma120)。

在下一個章節「EMA 對於均線細節的扭曲」,我們會解釋為何選擇 SMA 而非 EMA

流體均線的特性

把流體均線均線依據「相等歷史記憶」與「相等時間間距」的原則繪製出來之後,可以從圖形上觀察出來以下的特性:

  1. 在穩定的趨勢之下,均線獨立流動不發生交互作用,形成層流
  2. 在波動的趨勢之下,均線產生交互作用,形成過渡流與紊流
  3. 沒有明顯趨勢之下,均線密集水平流動
  4. 交互作用的地方也就是均線密集的地方產生壓力或支撐
  5. 均線愈多愈密其壓力或支撐的作用愈強

更進一步來看均線的壓力或支撐,會發現在上升趨勢中,下跌的價格會形成向上流體的支撐;而在下降趨勢中,上漲的價格會形成向下流體的壓力。

以 QQQ 的小時級別走勢為例,其在 2020 年八月到十月間,出現了流體的各種狀態以及支撐與壓力 (圖 1)。

圖 1 | 流體均線應用在 QQQ 走勢的觀察上

而以 SFIX 的小時級別走勢為例,其在 2020 年十一月到十二月間,出現了均線密集水平流動,顯示流體即將選擇流動方向 (圖 2)。

圖 2 | 流體均線在 SFIX 走勢上出現密集水平流動,之後選擇向上的方向

EMA 對於均線細節的扭曲

前面我們提到均線的「相等時間間距」問題,這很好解決也容易理解,只要不同週期的均線具有一樣的時間間隔即可。

這裡我們來談談如何達到「相等歷史記憶」,以及為何使用簡單移動平均線 (Simple moving average, SMA) 而不是 EMA。

首先來看看三重均線跟流體均線的差別。

舉個例子,在與前述 QQQ 相同的級別與時段,如果把流體均線拿掉,換成三重 SMA 均線,會發現很多細節都消失了,失去了均線流動的狀態。

但是在一些壓力或支撐位的顯示上,還算有保有解析度。基本上以價格觸碰到中期均線,作為可能支撐或壓力位的判斷。

這個結果顯示,使用較少的 SMA 均線會失去流體的流動細節,尤其是均線密集與發散的細節。因此無法判斷均線流體目前是屬於層流或是紊流的狀態,也無法顯示較準確的壓力或支撐位 (圖 3)。

圖 3 | 三重 SMA 均線失去了流體均線的流動細節

接下來,我們再次使用與前述 QQQ 相同的級別與時段,這次我們將 SMA 換成 EMA。可以發現除了失去均線流動的狀態之外,其壓力或支撐位的解析能力也完全被破壞。

也就是說,三重 EMA 均線只能顯示出趨勢的大致走向,僅此而已,無法提供其他訊息 (圖 4)。

圖 4 | 三重 EMA 均線失去了流體均線的流動細節與壓力或支撐位的解析能力

我們再次使用與前述 QQQ 相同的級別與時段,更進一步比較 SMA 與 EMA,拿 EMA 來繪製流體均線。會發現流體細部結構全部都被破壞,嚴重失真。

這是由於 EMA 失去了「相等歷史記憶」的特性,當前價格都被過分加權而非平均配與權重的原因 (圖 5)。

圖 5 | EMA 流體均線無法呈現均線流體的特性

EMA 均線其方便之處在於判斷「破線」與「拐頭」的趨勢變化訊號,若價格突破均線,則兩個訊號同時滿足,但這個方便卻換來了均線細節的扭曲。

因此,我們使用 SMA 作為流體均線的均線。

流體均線的流動週期

流體均線除了呈現出流體的特性,反映出均線的交互作用之外,還有一個明顯的現象,就是其流動方向的變化具有週期性。

根據均線的走勢,我們可以定義其趨勢如下:

  • 短期均線 > 中期均線 > 長期均線:為多頭趨勢,流體均線顯示為藍色
  • 短期均線 < 中期均線 < 長期均線:為空頭趨勢,流體均線顯示為紅色
  • 其他時間非以上兩類情形,沒有趨勢形成,則流體均線顯示為灰色
// 定義趨勢多空走勢,並給予均線不同的顏色以方便判讀
bullish = sma20 > sma60 and sma60 > sma120
bearish = sma20 < sma60 and sma60 < sma120
color = bullish ? #ADD8E6 : bearish ? #FDBCB4 : #D3D3D3

在一個大級別多頭的趨勢之下,若小級別出現調整,視調整強度而定,流體均線的走勢會出現以下兩種情況:

  • 藍 → 灰 → 紅 → 灰 → 藍
  • 藍 → 灰 → 藍

如 ILMN 日線級別的走勢,出現由藍到灰、灰到紅、再由紅到灰、灰到藍的趨勢週期變化。一個趨勢要反轉,流體均線一定要經過這一整個週期 (圖 6)。

圖 6 | ILMN 的日線走勢呈現出流體均線完整的週期變化 (藍 → 灰 → 紅 → 灰 → 藍)

而較為強勢上漲的股票,其走勢呈現藍轉灰、灰轉藍的週期。如 TEAM 的走勢就呈現出這樣強勢上漲的週期 (圖 7)。

圖 7 | TEAM 的日線走勢呈現出流體均線在多頭強勢下的週期變化 (藍 → 灰 → 藍)

而在空頭的趨勢之下,流體均線的走勢會出現以下的情況:

  • 藍 → 灰 → 紅 → 灰 → 紅

前幾年租車公司 Hertz (HTZGQ) 就走出了這樣的走勢,進入了一個大空頭的趨勢之中,最後申請破產,價格從 90 塊跌到現在的不到 2 塊 (圖 8)。

圖 8 | HTZGQ 的日線走勢呈現出流體均線在空頭強勢下的週期變化 (藍 → 灰 → 紅 → 灰 → 紅)

掌握了流體均線的流動方式與週期,下面我們來談談如何運用這些參數來辨別趨勢反轉的訊號。

流體均線的反轉指標

流體均線的一大好處是其直觀性,從圖形上很容易看出均線的走勢。我們可以進一步量化這些視覺訊號,發展出一個判斷流體均線週期反轉的指標。

其中有兩大量化的要點:

  1. 趨勢方向其背後是均線斜率的方向
  2. 壓力強度其背後是均線的間距

首先我們來看看如何利用均線斜率計算趨勢方向

先定義斜率,這裡我們建立一個函式 slope(),計算當前價格與 20 個區間前價格的斜率角度。

注意我們這裡對價格取對數 (log),以避免不同股票價格高低差異造成的計算誤差。

// 斜率角度
slope(_src) =>
rad2Degree = 2/3.1416 //pi
angle = rad2Degree * atan((log(_src[0]) - log(_src[20]))/log(20)) * 100

接著,以中期均線 SMA60 為分界線,將流體均線分為上半部 A (12 至 60 均線區) 與下半部 B (60 至 120 均線區)。再以 12 為均線間距,兩區各取四條均線,並取平均值來做計算。其中,上半部與下半部的差值為斜率角度差。

// 斜率角度與平均值
slopeA1 = slope(sma12)
slopeA2 = slope(sma24)
slopeA3 = slope(sma36)
slopeA4 = slope(sma48)
slopeB1 = slope(sma84)
slopeB2 = slope(sma96)
slopeB3 = slope(sma108)
slopeB4 = slope(sma120)
avgSlopeA = (slopeA1 + slopeA2 + slopeA3 + slopeA4) / 4
avgSlopeB = (slopeB1 + slopeB2 + slopeB3 + slopeB4) / 4
// 斜率角度差
hisSlope = (avgSlopeA - avgSlopeB)

接下來,我們以均線距離的絕對值來測量均線壓力,並以上半部與下半部的間距比值作為壓力的指標。當壓力比值愈大時,代表 B 區均線愈密集,壓力也就愈大。

// 均線壓力
resA1 = abs(sma12 - sma24)
resA2 = abs(sma24 - sma36)
resA3 = abs(sma36 - sma48)
resB1 = abs(sma84 - sma96)
resB2 = abs(sma96 - sma108)
resB3 = abs(sma108 - sma120)
resA = (resA1 + resA2 + resA3) / 3
resB = (resB1 + resB2 + resB3) / 3
resistance = resA/resB

最後我們定義趨勢反轉的訊號:

A 區均線斜率上穿 B 區均線斜率,並且在上穿之時, A 與 B 區斜率皆為負值,最後定義上方壓力小於一定的數值。

// 趨勢反轉訊號
signal = crossover(avgSlopeA,avgSlopeB) and avgSlopeA < 0 and avgSlopeB < 0 and resistance < 5

利用這兩個參數,我們可以掌握均線斜率與壓力的變化,進而掌握趨勢的最小阻力方向。

流體均線的反轉訊號

講完指標的設計,我們來實際看看這個指標搭配流體均線的運用。

這裡我們利用短期均線斜率上穿中長期均線斜率作為訊號,並且加上流體均線週期性的特性。

結合以上特性,當趨勢反轉時,流體均線會給出一系列的訊號如下:

  1. 流體均線的週期走入了紅色區域,且當前價格在該區域的位置不小於上一個灰色區域的一半
  2. K 線變綠,多方開始控盤 (MACD 上穿零軸)
  3. 反轉指標出現星號,顯示均線斜率反轉

以 FSLY 的小時級別為例,在 2021 年初出現了一個流體均線的反轉訊號,在流體均線出現藍轉灰、灰轉紅的週期,並且在過了紅色區域一半的地方 K 線轉綠,而此時均線反轉指標也給出星號,此位置為趨勢反轉的進場點 (圖 9)。

而這型態,也是大家熟知的茶杯柄形態,流體均線與流體反轉指標基本上呈現出了茶杯柄形態背後「不可見的底層結構」。

我們會在後面再詳細解說這個茶杯柄形態在流體均線上的意義。

圖 9 | FSLY 出現流體均線反轉訊號 (上方:流體均線、下方:流體均線反轉指標)

利用流體均線結合其他指標判別趨勢起漲點

接下來,我們利用流體均線加上趨勢反轉指標,來研究不同走勢下,這兩個訊號的適用性。並且在流體均線的基礎上,加上趨勢線 (Trendline)、碎形 (Fractal)、或能量潮指標 (On balance volume, OBV),以多重指標來更進一步確認趨勢轉折的訊號。

以下就起漲訊號與趨勢反轉的各種可能情況,來逐一講解如何使用流體均線,並搭配其他指標來增加訊號正確的概率,讓大家感受判別趨勢與跟隨趨勢的威力。

  1. 起漲點背後的多重訊號
  2. 日線級別趨勢反轉
  3. 小時線級別趨勢反轉

關於 OBV,我們會在另外一篇文章再詳細解釋 (準備中)

起漲點背後的多重訊號

先來看起漲點背後的多重訊號,由於沒有任何指標是完美的,也不可能給我們 100% 肯定的訊號。

或許在分析走勢時,我們該換個思考方式,去思考如何能有較高的機率可以確認趨勢會反轉?並且打從心裡接受沒有任何訊號是 100% 正確的這件事實。

接受了訊號的局限性與機率性,這裡我們可以使用流體均線加趨勢線與其他指標的方式,增加趨勢反轉訊號正確的概率。

下跌趨勢線是由兩個以上頂峰連結而成,其背後的意義是市場對於該階段最高價達成一個階段共識。

在流體均線的應用上,我們可以將起跌藍色區域的頂峰,連結灰色及紅色區域的頂峰,若有流體均線反轉訊號加上突破下跌趨勢線,則為概率較高的上漲訊號。

以 FUTU 為例,其在 2020 年 12 月底出現一系列趨勢反轉訊號,包括破線、拐頭、交叉、流體均線反轉、與突破趨勢線,之後迎來一波超過 100% 的上漲 (圖 10)。

圖 10 | FUTU 在小時線級別出現一系列趨勢反轉訊號 (上方:流體均線、下方:流體均線反轉指標)

日線級別趨勢反轉

在日線級別,當價格走到紅色區域時,連結起跌藍色區與紅色區的頂峰,待紅色區域形成下碎形,確立階段底部,並給出反轉訊號,等待突破趨勢線入場。

以 ILMN 為例,其在 2020 年 12 月初出現一系列趨勢反轉訊號,包括下碎形反彈、破線、拐頭、OBV 密集後發散上升、流體均線反轉、與突破趨勢線,之後迎來一波超過 25% 的上漲 (圖 11)。

圖 11 | ILMN 在日線級別出現一系列趨勢反轉訊號 (上方:流體均線、中間:OBV 指標、下方:流體均線反轉指標)

小時線級別趨勢反轉

與日線級別的情況完全一樣,在小時線級別,當價格走到紅色區域時,連結起跌藍色區與紅色區的頂峰,待紅色區域形成下碎形,確立階段底部,並給出反轉訊號,等待突破趨勢線入場。

以 SFIX 為例,其在 2021 年 1 月初出現一系列趨勢反轉訊號,包括下碎形反彈、流體均線反轉、破線、拐頭、與突破趨勢線,之後迎來一波超過 60% 的上漲 (圖 12)。

圖 12 | SFIX 在小時線級別出現一系列趨勢反轉訊號 (上方:流體均線、下方:流體均線反轉指標)

看了以上的例子,我們會發現趨勢反轉必然會產生多重訊號,而且出現許多相類似的型態。若是以這些訊號一起考量,則判斷成功的機率會大幅提升。

延伸閱讀:
- 利用機器學習來判斷趨勢上漲訊號

利用流體均線解析茶杯柄形態

看完了上面使用流體均線結合其他指標的應用,這裡結合趨勢線、碎形、OBV、與固定範圍成交量分布圖 (Fixed range volume profile),再來仔細研究一下 FSLY 的茶杯柄形態 (Cup and handle pattern)。

我們前面說過,流體均線與流體反轉指標基本上呈現出了茶杯柄形態背後「不可見的底層結構」。

而結合其他指標之後,更可以呈現出茶杯柄形態的量與價,在各個階段給出的訊號 (圖 13)。

茶杯柄形態走勢的步驟:

  1. 首先,價格在藍色區域跌破下碎形 (水平黑色虛線),顯示趨勢要出現變化
  2. 流體均線開始週期變動,由藍轉灰、由灰轉紅
  3. 在紅色區域,價格階段性跌到不能再跌,出現下碎形反彈,顯示趨勢要出現轉折
  4. 量在價先的反彈帶量,OBV 不再下跌,走平呈現均線密集並且轉成灰色
  5. 此時,流體均線斜率反轉,短期均線斜率在零軸下,並上穿中長期均線斜率,反轉指標給出星號
  6. 上方均線壓力減輕,中長期均線稀鬆排列,給出上升空間
  7. 價格站上短期均線,並帶動均線上升
  8. 價格突破趨勢線,開始走出一波上漲趨勢
  9. 流體均線週期由紅轉灰
  10. 價格突破上碎形 (水平綠色虛線),市場形成新的價格共識
  11. 趨勢均線週期由灰轉藍,多頭趨勢再度形成
圖 13 | FSLY 茶杯柄形態背後的趨勢訊號 (上方:流體均線、中間:OBV 指標、下方:流體均線反轉指標)

有趣的是,這個階段性的底部,若是使用固定範圍成交量分布圖來做分析,會看到主要價格成本落在 OBV 灰線與趨勢反轉訊號給出之處 (圖 14)。

顯示階段底部的形成,其主要原因是有大量投資人在底部進場買入。在底部的持股人於是形成新的價格共識,皆持股不賣,使得價格最小阻力方向向上運行。

圖 14 | FSLY 茶杯柄形態的趨勢訊號加上固定範圍成交量分布圖 (上方:流體均線、中間:OBV 指標、下方:流體均線反轉指標)

小結

總結來說,流體均線裡頭還有很多尚未被挖掘出來的東西,不過需要時間整理一下想法和把想法寫成指標。

在下一篇文章「利用機器學習來判斷趨勢上漲訊號」中,我們會介紹如何使用流體均線配合多個趨勢指標來判斷出高機率的趨勢反轉訊號。

延伸閱讀:
- 利用機器學習來判斷趨勢上漲訊號

TradingView 趨勢指標代碼

以下分享文章裡提到的趨勢指標代碼:

  • 均線流體指標 (Turbulence with direction)
Description:This indicator uses 28 SMA lines from SMA12 to SMA120 with an interval of 4 to reveal the unseen underlying structure that determines the stock price trend. The convergent area of MA lines usually creates support for the stock price. This indicator also includes a clock position for a clear view of the direction of the current trend.This work is inspired by LoneCapical, Benoit Mandelbrot, and Bill Williams .MA lines are colored with blue for bullish trends, red for bearish trends, and gray for no apparent direction.
  • 均線流體反轉指標 (Turbulence reversal)
Description:Given that the market turbulence tends to cluster, I developed a turbulence moving average system to reveal the unseen underlying structure of the least resistance path for trend following. Here, I used an SMA subset from the turbulence moving average system to determine the trend direction. This estimation is achieved by calculating the dynamic changes of SMA slope angle and distance between SMA . The former represents a possible reversal signal, and the latter shows the resistance from the intermediate-term SMA . When the short-term slope angle crossovers the intermediate-term slope angle, the indicator will give a star sign, indicating a possible trend reversal.Use this indicator together with the turbulence moving average system (Turbulence with direction).
  • 均線碎形指標 (Fractal)
Description:This fractal indicator provides fractal support and resistance together with other integrated features, such as short-, mid-, and long-term SMA and EMA lines, color code for bullish and bearish candles, and showing closing price to length for planning future trend scenarios.Using fractal support and resistance and a triple moving average trading system helps traders identify better trade signals.Click on Settings to select indicators for those features. The default setting is showing all.

若套用指標後 K 線顏色沒有改變,試著把指標移到最上層,然後把系統預設的 K 線關掉。

1. Select the indicator: More (the … icon) -> Visual Order -> Bring to Front
2. Hide Symbol (the eye icon)

--

--

Locke
trading & mind

趨勢交易者,在這裏分享一些對於生活的體會與看法