先看個印象
這一天,成功的完成了,目前資訊濃度最高的圖表:

不過就幾個點點,有何了不起之處?外行人沒有熱鬧可以看,內行人卻可以看到很多門道,讓我一一拆解。
這個圖不需要任何馬賽克,因為不會暴露資產規模,系統也沒在關心你有多少錢,唯一任務是「結構拆解」。市場有其結構,投資組合也是,搭配起來是否吻合,就是此圖重點。混沌的市場
首先是市場。說「今天漲一百點」,此話資訊含量其實不少,因為這一百點,是大約 2000 個標的的綜合表現,市值越大的佔有的權重越大,其中包含複雜的資料搜集和計算的歷程。也許因為指數公司的服務已經非常成熟,民眾習慣於唾手可得的數據,漸漸的也容易就忘了其意義和內涵。
即使如此,這市場的漲跌,還是最表面的現象,對於一個想要挖掘其底層秘密的人來說,是遠遠不會滿足的。市場是那麼大,眾多的交易商品,多樣的商品特性,海量的參與者,帶著複雜多元的動機,和善變的情緒,...,這個混沌的整體,有挖掘不完的奧秘,這也是其迷人的原因。
漲一百點,台積電一人之力漲十塊錢就可以完成了;而若是台積電不動,即使一大堆小型股狂漲,也不見得會有一百點,這就描述出一個典型的結構差異,而這差異就不是一眼直覺可見,必須進行分析。
還有這一百點,可能是之前漲勢的延續,也可能是跌了一段時間之後的反彈,或是盤整很久之後的突破,意義各不同。雖然也許去大盤歷史畫一些線似乎可以得到,但還是不能忽略其中兩千支的個別影響,因為不是只有市值可以加權,其他屬性如動能也可以,大盤有動能不見得普遍的個股有動能,隨著不同的邏輯推理和統計方法而有不同的意義。
或有可能大盤聞風不動,卻有特定族群群魔亂舞,可能是特定產業,可能是剛好在財報公布的季節,某些公司突然被發現「價值被低估了」而跳升,或有可能有特定機構用強大資金力量,製造出一些隱性的震盪。這其中許多因果,大部分是埋藏在陰暗的角落,永遠無法被釐清或看見的!眾多量化分析技術,眾多經濟學家,眾多金融分析師,窮盡其力量,只能看見一點點而已。
四個系統化的方法
面對市場就是這樣,敬畏就是最重要的基調,我們很謙卑的尋找方法,想要一親芳澤。延續先前的研究,我得到了四個系統化的方法,用不同的角度來觀察市場。從現象的定義到對風險與報酬的影響,都有明確的邏輯。我因此大樂,因為不僅可以從產業面學習深入,就是所謂的定性研究,也可以用具體的數字,進行量化研究,並運用我的開發能力,把一切平台化。這樣就可以讓所有的知識與洞見,真實落地,影響關鍵的買賣決策。
前述的大盤漲一百點,以系統化語言描述就是:市場因子的因子溢酬 (factor return) 為 100/28000 ~= 0.35%。我沒有學術背景,不敢貿然解釋 CAPM 模型,只知「market return」 是其中重要的組成成份,後來因著金融工具的進步而用大盤指數來近似,market 成為天字第一號的因子。後來陸續有學者把模型擴充成為 三因子 (市場,市值,價值),和 四因子 (加上動能),等等,然後就....,蓬勃發展,其中共同的語言就是「因子 (factor)」。用各式各樣的因子來探索市場,成為目前 (應該吧) 投資或資產管理的基本方法。前一陣子聽一個量化公司的演講,據說人家定義了「幾千個因子」!真是瘋狂。他們試圖用爆量算力去暴力破解,壓榨出市場的油水。
總之,我已經定義,系統化,實作完成了四個因子 (市場,動能,波動,價值),理論和算法都已經在 前面幾篇文章 詳細描述過了,現在我不急於加入更多因子,而是要充分利用現有的資訊,畢竟也是榨取得很辛苦。每個因子不只理解,會算,還要設計自動化每日更新了流程,牽涉到資料庫,運算模組,前端顯示等等,當然要好好享用這些資料。
資料視覺化初級班
一個可信賴的系統,必須是邏輯清晰的,所有最終呈現的指標或圖表,都可追朔和驗證。首先最基礎的資料,就是「歷史行情」了,每一支股票或大盤指數,都有依照日期,一天一筆「開,高,低,收」的資料,這一項太簡單,直接看日 K 線呈現:

以此為基礎,用每日收盤價,可以計算「每日報酬率」。為了消除除權息的影響,我會用「還原權值收盤價」計算,用簡單的線圖呈現:

每一支股票對大盤的報酬率作回歸分析,得到係數就是回歸線的斜率,呈現如下:

以上已經涉及到第一個因子的 beta,每一個股票都有一個 beta (因子曝險),或有的稱為 factor loading (因子負荷)。那其他的因子呢?是用「橫截面」資料的 z-score 表示的,所謂橫截面是指「特定時間點」的所有股票 (我是取週成交額前 600 名),原理請參照之前的文章,算出來簡單呈現如下:

因子值 (factor beta or factor loading) 算好之後,重要的是去發現「它與報酬率」之間的關係。市場因子已經算好了,就是當天的大盤漲幅,以 beta 的倍數,去影響個股的漲幅。那其他的因子呢?就是用「橫截面回歸」,去求得因子值,以多少倍數去影響個股漲幅,就是 lambda,或稱因子溢酬 (factor return),每天算一次。用簡單的線條呈現,市場因子用虛線,因為它與其他人計算邏輯不一樣,要有所區分:

然後隨著資料跳來跳去,想要得到一個中期趨勢,那就是用 Rolling Mean,就是滾動式的計算已過 20 天的平均,得到較穩定的數值。若數值很高,表示該因子有效。另外還要看他穩不穩定,所以又除以其滾動標準差,就成為「因子穩定度」指標。也是用簡單的線圖表示,因為我的資料量還不夠多,所以只呈現一點。另外因為此值變異性大,為了把他們「壓扁」到 0, 1 之間,動用 tanh 函數。為了負責任的交代原始資料,在 tooltip 中顯示兩個數值,括號內為 raw data:

以上資料長期會呈現趨勢,若把最後一天拉出來,用 Bar 呈現更清楚:

從簡單呈現到視覺化藝術
以上做完一堆單項資料的視覺化後,開始要進一步榨取資訊了。這個過程不見得會用到更複雜的技術,更多的是基於對資料的理解,帶進跨界整合和比較,讓資料呈現出更深層的意義。比如說「市場因子」與其餘三個因子,計算邏輯和意義都很不相同,當大盤或權值股驚驚漲,帶動雞犬升天,可能其他風格都相形失色,或是幾乎失效。所以可以把市場因子單獨拉成一個軸,其餘三因子平均成為另一個軸,這樣就把市場狀況切成四個象限,方便分類管理:

最後一個就是文章開頭提的,硬是把「投資組合」的狀態連結進去,不像以上都只是呈現「市場樣態」,因為重點是「我如何因應」。

此圖把市場樣態濃縮成為橫軸,加入投資組合的曝險為縱軸,第三維度用圖示來區分,加上兩條曲線,給使用者強烈的印象,要把點點拉進中間較安全的區域。以我的 case,很明顯地呈現出「逆動能」的現況,容易被市場教訓,需要減低動能曝險。至於投資組合該如何調整?這不用圖表,只要做好「排序」即可。以下很明顯的指出,造成逆動能的前幾個標的,要調整可以從這些下手:

以上初步表達出這個系統的內涵,幫助管理者做對的事,避開錯的事情,維護架構的穩定,其他的交給機率決定,永遠尊重市場的不確定性。
對於一個 all in 0050 的人,此圖長怎樣?

all in 台積電呢?市場曝險爆表到表外了,價值曝險高位:

以上用數據呈現,個股風險高,0050 次之,個人精心調配的投資組合,可以好好的把風險降到很低。你也可以把自己的頭資組合輸入,檢查一下,看看哪個因子的曝險過高。投資組合資料只存在本機的 localStorage,login 的 email 只當作 key 值,不會暴露個資,請放心來玩吧:
Newman 2025/12/25
- 導覽頁:精明管家
- 技術議題有興趣者,也可關注這兒:紐曼的技術筆記-索引


















