在過去兩個星期已推出了兩個指標,但筆者一直希望的是,大家可以懂得如何自己去改食。在技術分析中,大部分傳統指標都是直接使用價格進行計算,例如移動平均線以收市價求平均值,MACD以兩組指數移動平均線的差距衡量趨勢,RSI則比較一段時間內的平均升幅與平均跌幅。這些方法簡單直接,但當價格長期大幅上升、不同商品的價格水平相差很遠,或者市場出現極端波動時,直接使用原始價格計算便可能產生偏差。
而使用LOG,也就是對數計算,可以把價格的絕對變動轉換成相對變動,令技術指標更集中反映百分比升跌,而不是單純受價格高低影響。事實上,市場真正重視的通常不是升跌了多少元,而是升跌了多少百分比。

用LOG的計算去改良技術指標,最大的好處是能改善指標的穩定性。以RSI為例,傳統RSI會先計算每根K線的價格升跌,再比較平均升幅與平均跌幅。如果股票由10元升至100元,同樣是1%的每日波動,最初的價格變動只有0.1元,但後期的價格波動已增加至1元,若只用價格來計算,就會顯示後者的波動好像較大。
改良方法是先使用LOG回報率代替普通價格變動:
Log Change = ln(Close ÷ Previous Close)
之後再把「正數」當作升幅,負數的絕對值則當作跌幅,按RSI原本的方法計算平均升幅、平均跌幅及相對強弱。這樣形成的Log RSI就不會因股票因為股價變大了,而令指標的變化失去參考價值。

上圖是比較傳統RSI與Log RSI。當股價升得愈來愈高,傳統RSI便會更容易出現超買的訊號,但在真實應用時根本不合理。我們運用Kalman Filter去改良是其中一種方法,運用Log去計算也是另一種可行的方法。
不過,運用LOG來計算還有一個優點,它可以提升不同商品及不同時期之間的「可比性」。簡單來說,假設要比較一隻股價500元的股票、一隻股價50元的股票,以及一個報價數千點的期貨指數。
其實根本不可能用同一個指標,同時又用同一組技術指標的參數去比較的,這也是很多人會犯的錯誤。很多人就以為,同一個技術指標的用法,應該同時能應用在股票、期指、美期等等,效果會沒有分別。筆者其實一直也不明白為什麼會有人這樣想,不同的產品及市場,波動程度及走勢特性根本不同,一個專門交易美股的daytrade方法,怎可能同時應用在期指之上 ? 這根本完全不合理。

一直以來確實有很多很多人問筆者這個問題。既然這樣,近期我們推出的Stable Momentum Tracker就是可以應用在不同的市場之上,計算的過程中也是運用了LOG來計算。
有些人會說,將價格的數據標準化後不是就可以比較嗎? 如果直接比較價格變動的標準差,高價商品通常會顯示較大的數值,但這不代表其風險一定較高,然後我們看到的答案就會有誤導成份。不過,使用LOG回報率計算波動度後,所有商品的變動都會轉換成相同的百分比尺度,這樣才可以更公平地比較波動性、動能及交易風險。
例如,A股票由500元每日波動10元,表面看起來比B股票由50元每日波動2元更大。但A股票的波動只有2%,B股票的波動卻是4%,真正較波動的其實是B股票。
而且LOG計算也有助減少「誤判」,例如大家交易某隻股份,價格由100元升至200元是上升100%,但由200元跌回100元是下跌50%。大家可能以為這隻股票升的時候好像較強,跌的時候其實不算跌得太多,跌幅只是之前升幅的「一半」。但有這種「誤判」是因為百分比的正負變動並不對稱,若運用LOG來計算,LOG回報率則分別是ln(2)與ln(0.5),兩者數值其實大小相同,只是方向相反。這種對稱性令長期累積回報、統計模型及技術指標的分析更加一致。

在實際應用上,LOG可以用來改良技術指標,例如MACD、保歷加通道、ATR等。以MACD為例,可以先把收市價轉換成ln(Close),再計算快線EMA與慢線EMA,所得的MACD便主要反映相對趨勢變化。
以保歷加通道為例,可以對LOG價格或LOG回報率計算平均值及標準差,降低價格長期在高位或低位對通道寬度的影響。
至於ATR這類指標,也可以考慮把真實波幅除以價格,或者直接使用LOG形式的高低價範圍,令不同價格商品的波幅更有參考價值。
不過,LOG計算亦有使用限制。價格必須大於零,因此不能直接處理零或負數。若指標本身的輸入可能出現負值,例如MACD柱狀值,便不能直接再取LOG。正確方法通常是先對原始價格取LOG,再用LOG價格計算MACD,而不是將已經計算完成的MACD數值取LOG。
總結而言,使用LOG改良技術指標的核心價值,是把分析重點由「價格升跌了多少元」轉為「價格升跌了多少比例」。
(節錄自Patreon 文章)
而使用LOG,也就是對數計算,可以把價格的絕對變動轉換成相對變動,令技術指標更集中反映百分比升跌,而不是單純受價格高低影響。事實上,市場真正重視的通常不是升跌了多少元,而是升跌了多少百分比。
用LOG的計算去改良技術指標,最大的好處是能改善指標的穩定性。以RSI為例,傳統RSI會先計算每根K線的價格升跌,再比較平均升幅與平均跌幅。如果股票由10元升至100元,同樣是1%的每日波動,最初的價格變動只有0.1元,但後期的價格波動已增加至1元,若只用價格來計算,就會顯示後者的波動好像較大。
改良方法是先使用LOG回報率代替普通價格變動:
Log Change = ln(Close ÷ Previous Close)
之後再把「正數」當作升幅,負數的絕對值則當作跌幅,按RSI原本的方法計算平均升幅、平均跌幅及相對強弱。這樣形成的Log RSI就不會因股票因為股價變大了,而令指標的變化失去參考價值。
上圖是比較傳統RSI與Log RSI。當股價升得愈來愈高,傳統RSI便會更容易出現超買的訊號,但在真實應用時根本不合理。我們運用Kalman Filter去改良是其中一種方法,運用Log去計算也是另一種可行的方法。
不過,運用LOG來計算還有一個優點,它可以提升不同商品及不同時期之間的「可比性」。簡單來說,假設要比較一隻股價500元的股票、一隻股價50元的股票,以及一個報價數千點的期貨指數。
其實根本不可能用同一個指標,同時又用同一組技術指標的參數去比較的,這也是很多人會犯的錯誤。很多人就以為,同一個技術指標的用法,應該同時能應用在股票、期指、美期等等,效果會沒有分別。筆者其實一直也不明白為什麼會有人這樣想,不同的產品及市場,波動程度及走勢特性根本不同,一個專門交易美股的daytrade方法,怎可能同時應用在期指之上 ? 這根本完全不合理。
一直以來確實有很多很多人問筆者這個問題。既然這樣,近期我們推出的Stable Momentum Tracker就是可以應用在不同的市場之上,計算的過程中也是運用了LOG來計算。
有些人會說,將價格的數據標準化後不是就可以比較嗎? 如果直接比較價格變動的標準差,高價商品通常會顯示較大的數值,但這不代表其風險一定較高,然後我們看到的答案就會有誤導成份。不過,使用LOG回報率計算波動度後,所有商品的變動都會轉換成相同的百分比尺度,這樣才可以更公平地比較波動性、動能及交易風險。
例如,A股票由500元每日波動10元,表面看起來比B股票由50元每日波動2元更大。但A股票的波動只有2%,B股票的波動卻是4%,真正較波動的其實是B股票。
而且LOG計算也有助減少「誤判」,例如大家交易某隻股份,價格由100元升至200元是上升100%,但由200元跌回100元是下跌50%。大家可能以為這隻股票升的時候好像較強,跌的時候其實不算跌得太多,跌幅只是之前升幅的「一半」。但有這種「誤判」是因為百分比的正負變動並不對稱,若運用LOG來計算,LOG回報率則分別是ln(2)與ln(0.5),兩者數值其實大小相同,只是方向相反。這種對稱性令長期累積回報、統計模型及技術指標的分析更加一致。
在實際應用上,LOG可以用來改良技術指標,例如MACD、保歷加通道、ATR等。以MACD為例,可以先把收市價轉換成ln(Close),再計算快線EMA與慢線EMA,所得的MACD便主要反映相對趨勢變化。
以保歷加通道為例,可以對LOG價格或LOG回報率計算平均值及標準差,降低價格長期在高位或低位對通道寬度的影響。
至於ATR這類指標,也可以考慮把真實波幅除以價格,或者直接使用LOG形式的高低價範圍,令不同價格商品的波幅更有參考價值。
不過,LOG計算亦有使用限制。價格必須大於零,因此不能直接處理零或負數。若指標本身的輸入可能出現負值,例如MACD柱狀值,便不能直接再取LOG。正確方法通常是先對原始價格取LOG,再用LOG價格計算MACD,而不是將已經計算完成的MACD數值取LOG。
總結而言,使用LOG改良技術指標的核心價值,是把分析重點由「價格升跌了多少元」轉為「價格升跌了多少比例」。
(節錄自Patreon 文章)
mark chun wai paul
免責聲明
這些資訊和出版物並非旨在提供,也不構成TradingView提供或認可的任何形式的財務、投資、交易或其他類型的建議或推薦。請閱讀使用條款以了解更多資訊。
mark chun wai paul
免責聲明
這些資訊和出版物並非旨在提供,也不構成TradingView提供或認可的任何形式的財務、投資、交易或其他類型的建議或推薦。請閱讀使用條款以了解更多資訊。
