深入解析趨勢理論與技術分析 (中):價格與趨勢的運行

Locke
trading & mind
Published in
15 min readJan 18, 2021
FB 小時級別流體均線走勢圖
深入解析趨勢理論與技術分析系列文章- 深入解析趨勢理論與技術分析 (上):交易與價格
- 深入解析趨勢理論與技術分析 (中):價格與趨勢的運行
- 深入解析趨勢理論與技術分析 (下):趨勢訊號的辨別
目錄:前言
- 趨勢有其必經的過程
- 技術分析與市場行為
第一節 | 交易與價格
- 交易與市場的本質
- 何謂成功的交易
- 效率市場假說與隨機漫步假說的侷限
- 價即是空、空即是價
第二節 | 價格與趨勢的運行
- 價格運動的基本原理
- 趨勢運行的基本原理
- 技術分析的基本原理
- 判斷走勢的技術指標
第三節 | 趨勢訊號的辨別
- 三重均線交易系統
- 辨別市場的關鍵趨勢訊號
- 確認關鍵趨勢訊號:破線柺頭
- 確認關鍵趨勢訊號:交叉
- 確認關鍵趨勢訊號:多頭排列與乖離
- 確認關鍵趨勢訊號:碎形突破
附錄
- TradingView 趨勢指標代碼

第二節 | 價格與趨勢的運行

價格運動的基本原理

近來愈來愈多學者對效率市場假說的侷限提出質疑,並發展了一門行為金融學 (Behavioral finance),主要研究人們非理性的行為如何影響金融市場的運作。

這些非理性行為的交互作用,就如其他大自然的系統一樣,形成了一個複雜系統 (Complex system)。我們需要做的是去了解這個複雜系統的本質,而不是去過度簡化它。這其中的一大進展是碎形學 (Fractals) 在金融行為上的許多應用。

碎形學之父本華.曼德博 (Benoit Mandelbrot) 從研究棉花期貨市場的價格走勢發現,棉花價格分布並不服從常態分布 (Normal distribution, alpha=2),而是遵循 alpha=1.7 的穩定分布 (Stable distribution)。

碎形在數學意義上是屬於一個不斷疊代的方程式,是一種基於遞迴的反饋系統,在不同層次具有自相似的性質。

這種分布服從冪定律 (Power law)的多項式關係,具有許多 2 個標準差以外的極值,而導致分布呈現一個肥尾圖形 (Fat tail)。冪定律下形成的肥尾分布 (或稱長尾分布),具有非常長的尾巴,其中 80% 數據在綠色區域,20% 在黃色區域,也就是大家熟知的八二法則 (圖 3)。

圖 3 | 冪定律下形成的肥尾分佈

根據這樣的價格分布,曼德博提出金融市場價格的碎形理論,有兩大原理:

  1. 價格並非隨機跳動,也非常態分布。
  2. 價格並非互相獨立,而是具有歷史記憶。

更進一步來看,市場具有以下特性:

- 市場是有風險的,呈現出其波動性的本質。- 紊流傾向產生聚集,反映了購買平均成本趨向密集的傾向。- 市場的時間是具有相關性的。

價格具有極端的波動性,而平均價格則有聚集的特性,這兩者又與時間相關。

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

若把曼德博的概念拿來看均線,其實均線就像是一個流體中的流線。流線因為流速的變化與流體自身黏度的交互作用,形成層流、過渡流、與紊流。在價格流體中,均線因為價格、交易量與時間變化的交互作用而產生不同的流況,呈現了趨勢的可能走勢 (圖 4)。

均線向上發散互不混合,形成層流,價格在上漲趨勢中;均線出現波動相互接觸,形成過渡流,趨勢在轉換過渡中;均線密集交叉相互混合,形成紊流,趨勢可能產生變化。而這個變化可能是向上,也可能是向下,只是不會維持原有趨勢。

在流體力學上,當流速很小時,流體分層流動,互不混合,稱為層流 (Laminar flow)。當流速逐漸增加,流體的流線開始出現波浪狀的擺動,稱為過渡流 (Laminar–turbulent transition)。當流速大到流線不再清楚可辨,流場中有許多小漩渦,則稱為紊流 (Turbulence)。

圖 4 | TDOC 均線走勢圖呈現出流體的三種主要流況

在這個觀察的角度上,精確預測價格的位置依然是不可能的。但由於價格有相互依存及具有歷史記憶的特性,加上其以一個流體的方式在運動,運動方式有一個週期發散及聚合的過程,而這個週期是可被觀察到的。

於是,以機率的角度去模糊預測價格運動的方向於是乎成為可能。

在投資上有物理學崇拜 (Physics envy),相信有效市場理論教條,追求一種不可能達到準確度,不會帶來任何好處

— Charles T. Munger

接下來我們談談如何把這些均線流體與碎形的特性應用在實際價格趨勢的判斷上。

延伸閱讀:The Misbehavior of Markets: A Fractal View of Financial Turbulence — by Benoit Mandelbrot

趨勢運行的基本原理

從前面的介紹我們可以知道,市場在大部分時間裡,是不理性也不具有完全效率的,而是存在一個由參與者情緒而產生的趨勢,那這個趨勢是怎麼運行的呢?

比爾.威廉斯 (Bill Williams) 根據曼德博的碎形理論與傑西.李佛摩 (Jessie Livermore) 的最小阻力線 (Line of least resistance) 的概念,提出市場運行的混沌理論 (Chaos Theory),其中包含三大原理:

  1. 所有事情都會選擇最小阻力路徑 (慣性)
  2. 最小阻力路徑由不可見的底層結構所承載 (作用與反作用)
  3. 不可見的底層結構可被發現也可被改變 (碎形)

「最小阻力路徑」指的是牛頓第一運動定律的慣性定律,也就是趨勢有慣性的本質,與技術分析的哲理「價格沿著趨勢運行」不謀而合。

牛頓第一運動定律 (慣性定律):

* 靜止的物體會保持靜止,直到有外力施加於這物體為止

* 運動中的物體會維持其運動速度的大小與方向,直到有外力施加於這物體為止

其中「不可見的底層結構」(Unseen underlying structure),本質上就是不同時期均線所形成的支撐,其支撐的力度與短、中、長期均線排列情況有關,符合牛頓第三運動定律的作用與反作用定律。

此外,此一原則就像海水一樣,若物體在水面上,有浮力支撐;若物體在水面下足夠深,則有水壓壓力。

同理,若價格在均線結構之上,有支撐 (Support),若價格在均線結構之下,則有壓力 (Resistance)。

「最小阻力路徑」與「不可見的底層結構」都反映了價格相互依存以及具有歷史記憶的特性。而這些交互作用與記憶被改變的地方,就是碎形發生之處,最終會影響價格如何交互作用以及其記憶。

市場價格依據這三個原理不斷循環,形成不同的趨勢週期。

技術分析的基本原理

基於交易、價格運動、與趨勢運行方向的本質,延伸出來技術分析的五個基本原理:

  • 大量 」(High volume):是指當前成交量高於過去一段時間的平均成交量 (例如 20 均線)。體現出市場一種不尋常的交易活躍度,此時市場意見出現顯著分歧,投資人開始產生情緒。
  • 缺口」(Gap):即相鄰兩個交易區間其最低價與最高價之間形成一個未交易價格區間。缺口通常被視為極端情緒所造成的價格真空。由於市場整體有客觀的特性,在一般情況下缺口會被回補。
  • 密集」(Convergence):也就是密集成交區,價格反覆在一個狹窄的價格區間內波動。股票被不同意見與情緒的投資人頻繁換手,但市場意見分歧不大,此處短、中、長期均線呈現均線密集排列。
  • 乖離」(Divergence):指的是價格與成本均價之間的距離,表達了價格偏離市場平均成本的程度。根據價格圍繞平均成本上下波動的基本特性,股價漲多了跌、跌多了漲,形成一個市場規律。
  • 碎形」(Fractal),碎形在數學上是指具有自我相似的特性,在不同的時間級別上出現一種自我重複的規律變化 (Self-repeating patterns)。在市場的應用上,是指股價在五個交易區間內形成一個區域範圍內的最高峰 (最高價大於前後相鄰兩個 K 線的最高價) 或最低峰 (最低價低於前後相鄰兩個 K 線的最低價)。
上碎形 (Bearish Fractal) 與下碎形 (Bullish fractal) | 碎形發生處顯示趨勢可能產生變化 by Investopedia

碎形」其背後含義是投資人對價格的意見開始出現分歧,於是股價在短時間內出現反轉。碎形通常雜訊很高,因此若加上「大量」來確定這個市場意見分歧的強烈程度,可以得到碎形支撐及壓力線,突破碎形線之後延續相同走勢為趨勢最小阻力的方向。

股價突破「碎形」則為「不可見的底層結構」被發現及被改變的起始點,最小阻力路徑有可能即將發生改變。

以 JWN 在 2020 年 11 月初的跳漲舉例,在 11/9 爆出「大量」,其交易量是平均交易量的三倍 (27 M/10M),並且跳空出現「缺口」單日大漲 25%。「大量」加上「缺口」代表了極端大量情緒的產生,這只是一個上漲趨勢的剛開始,在此之後三個月間價格又漲了 125% 左右。

而這一大量跳空大漲,同時也把均線從一個下降趨勢,一下子轉為上漲趨勢,均線從密集糾纏 (紅線)變成向上發散,向上分層流動、互不混合的層流狀態 (藍線)。

圖 5 | JWN 走勢反轉出現的「大量」(黑色箭號) 與「缺口」(灰色長方形) 訊號

Reference: LEI & LoneCapital

判斷走勢的技術指標

大量」與「缺口」可以用交易量與 K 線開收盤價走勢觀察出來。

在 TradingView 中算上漲大量與缺口的語法

// 上漲放量 (sma 的概念後面會提到)
avgVolume = sma(volume,20)
volumeChange = (volume - avgVolume) / avgVolume * 100
highVolume = volumeChange > 100 and close > open
// 上漲缺口
gap() =>
if high[1] < low[0]
gap_bull = true

而看價格走勢的「密集」與「乖離」,主要使用以下兩個技術指標:

  • 「簡單移動平均
  • 指數平滑異同移動平均線

第一個判斷走勢密集與乖離的技術指標是「簡單移動平均」 (Simple Moving Average, SMA) 和「指數移動平均」 (Exponential Moving Average, EMA) 。兩者搭配使用,主要用來看不同時期持股成本的變化。

◎ SMA 的算法:當前 SMA = 前一個 SMA + ((當前價格 - 區間前一個價格)/區間) [公式 1]舉例來說,三日簡單平均的算法是
昨日的 sma3 = (三日前價格 + 二日前價格 + 一日前價格)/3
今日的 sma3 = (二日前價格 + 一日前價格 + 當前價格)/3

今日的 sma3 = 昨日的 sma3 + ((當前價格 - 三日前價格)/3) (套用 [公式 1])
明日的 sma3 = 今日的 sma3 + ((明日價格 - 二日前價格)/3)
其中價格一般以收盤價 (Close) 做計算

在 TradingView 中可以直接套用系統內建 SMA 函式 (Funciton)

TradingView 中算 SMA 代碼:// sma20
sma20 = sma(close,20)

這裡可以看出一個「扣抵值」的概念,以 SMA3 來舉例,若明天價格 > 二日前價格,則 SMA 加上一個正數,其值變大;反之,若明天價格 < 二日前價格,則 SMA 會加上一個負數,其值變小。

也就是說,未來均線的走向取決於未來價格是否大於該均線區間前一個價格 (扣底值)。

未來價格大於扣抵值,均線向上;未來價格小於扣抵值,均線向下。

這個平均價格的歷史記憶,形成一個讓價格運行的最小阻力路徑。

EMA 雖然計算方式與 SMA 不同,但扣抵值跟未來價格的相對位置與均線走向的關係其原則相同。

◎ EMA 的算法:當前 EMA = alpha * 當前價格 + (1-alpha) * 前一個 EMA [公式 2]
其中 alpha = 2/(區間+1)
舉例來說,二十日指數平均的算法是
今日的 ema20 = 0.095 * 當前價格 + 0.905 * 昨日 ema20 (套用 [公式 2])
這個 alpha 對當前價格的指數加權計算
在 ema20 是 0.095 (2/21)
在 ema60 是 0.032 (2/61)
而 ema120 則是 0.017 (2/121)
相比於 SMA 對於當前價格的平均計算
sma20 是 0.050
sma60 是 0.017
而 sma120 則是 0.008

在 TradingView 中可以直接套用系統內建的 EMA 函式

TradingView 中算 EMA 代碼:// ema20
ema20 = ema(close,20)

由此可以看出 EMA 在計算均線時,當前價格的權重是 SMA 的兩倍左右,因此 EMA 對於當前價格的變化比較敏感。

SMA 與 EMA 最重要的不同是在看趨勢「拐頭」的動作上,由於對當前價格加權權重的比例,當價格突破 EMA 時會同時「破線」與「拐頭」,此時價格穿越均線,並且均線跟著價格走。

除此之外,SMA 與 EMA 並沒有什麼大不同。我們會在下一篇文章詳細談到趨勢訊號的辨別,與如何辨別趨勢轉變的關鍵訊號:「破線」與「拐頭」。

值得注意的是,若要使用多條均線看股價的均線流動,則不建議使用 EMA,因為 EMA 的加權會破壞記憶結構,而導致均線流體的訊息消失 (圖 6)。

均線密集的地方通常是沒有明顯趨勢或是趨勢轉折的地方 (灰色),而均線發散則是趨勢選擇方向,可能向上 (藍色)、也可能向下 (紅色)。

圖 6 | EMA 均線的加權破壞了均線流體的特性與交互作用細節 (上方:EMA、下方:SMA)

除了均線之外,MACD 也是很好判斷短期價格「密集」與「乖離」的指標,事實上, MACD 本身也是一組均線,從快線與慢線兩均線之間距離的變化來看多空雙方對價格的控制。以下我們來談談 MACD。

第二個判斷走勢密集與乖離的技術指標是「指數平滑異同移動平均線」(Moving Average Convergence/Divergence, MACD)。如果直接翻譯成「均線聚散指標」可能更容易理解。用來看短期多空雙方對價格的控制度、觀察價格乖離率的變化。可以出觀察目前趨勢是多頭、空頭、還是盤整的狀態。

◎ MACD 的算法:
1. 取 ema12 與 ema26 分別為快線與慢線
2. 差離線 (difference, dif) = ema12 - ema26
3. 訊號線 (difference exponential average, dea) = ema(dif, 9)
(訊號線是差離線的 9 日平滑)
4. 直方圖 = dif - dea 顯示快線與慢線聚散的程度

在 TradingView 中算 MACD 的語法

// MACD
ema12 = ema(close, 12)
ema26 = ema(close, 26)
dif = ema12 - ema26 // MACD line
dea = ema(dif, 9) // MACD signal line
histogram = dif - dea

若快線大於慢線,也就是 ema12 > ema26,短期內多頭控盤,差離線在零軸之上;反之,若快線小於慢線,也就是 ema12 < ema26,短期內空頭控盤,差離線在零軸之下。

以 JWN 為例,價格處於空頭控制時, ema12 < ema26,K 線呈現灰色;而當價格處於多頭控制時,ema12 > ema26,K 線變為綠色,呈現一波上漲趨勢。在此同時,MACD 指標差離線上穿零軸 (圖 7)。

但須注意的是,差離線 (dif) 與訊號線 (dea) 死亡交叉不代表趨勢會反轉,而是顯示 ema12 與 ema26 兩條均線之間的乖離變小,代表了多頭動力減少,上漲動能減緩,但不一定改變其上漲的趨勢 (黑色箭號)。

圖 7 | MACD 與 ema12 和 ema26 均線的關係

關於更多 MACD 指標其算法及其應用,參考 MACD 原理與應用 (準備中)

下一篇我們會提到如何利用這些趨勢運行的基本原理,來找到一個趨勢變化時必定產生的關鍵訊號。並且會在最後分享尋找這些訊號的 TradingView 代碼。

注意邏輯上的謬誤:
出現一個關鍵訊號並不代表一定會接著出現下一個關鍵訊號,很多時候趨勢的反轉會失敗,例如「破線」、「拐頭」之後不出現「交叉」,可能又繼續跌下去,或是「交叉」之後沒有「乖離」。這時候要使用停損控制損失。邏輯上,關鍵訊號只是必要條件 (necessary),而不是充分條件 (sufficient),這一點需要特別注意。因此技術分析與關鍵訊號只能判斷當下市場平衡的狀況,而無法作出預測,更無法做出行情推演。
必要條件
當我們說甲是乙的「必要條件」時,意指:沒有甲,乙便不存在。例如:「沒有破線就不會拐頭」,拐頭必須要先有破線發生。
充分條件
當我們說甲是乙的「充分條件」時,意指:若甲存在,則乙亦必定存在。例如:「有破線就一定拐頭」、「有拐頭就一定交叉」,這是不符合實際數據觀察的。
深入解析趨勢理論與技術分析系列文章- 深入解析趨勢理論與技術分析 (上):交易與價格 
- 深入解析趨勢理論與技術分析 (中):價格與趨勢的運行
- 深入解析趨勢理論與技術分析 (下):趨勢訊號的辨別

--

--

Locke
trading & mind

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