2022-08-01|閱讀時間 ‧ 約 9 分鐘

怎麼尋找抗跌股票組合?用一招來判斷,相關性計算法(附範例程式)

大台北跟台積電的相關性係數
大台北跟台積電的相關性係數
大綱: 1.為什麼要計算股票相關性? 2.相關性計算實例怎麼用? 3.程式的流程與設計邏輯 4.相關性計算語法 5.範例下載與抓取原始報價 6.股價的每日漲跌幅怎麼計算? 7.對齊數據時間 8.計算相關性係數 9.畫出相關性點陣圖 10.數據與圖形怎麼解讀? 11.可能遇到的問題

為什麼要計算股票相關性?

有沒有想過怎麼觀察股票的相關性如何?例如手上有四檔股票,如果都是相同產業類型過相似的股票特性,當盤勢變動的時候,很有可能四檔股票都遇到走跌的情況,這樣帳面上的跌幅總讓人看了心情難過想哭。
一般人如果要算不同的個股跟ETF搭配的效果就不好計算了,應該沒有網站在提供這個計算數據。
例如有人喜歡台積電配聯電的投資組合,或是有人喜歡台積電配中華電的投資組合,甚至是有些人喜歡0056配0050 有些人喜歡00878配00692, 哪一種的投資搭配起來相關性較低?遇到大幅的系統跌幅時可以更抗跌?
通過計算就可以回測觀察出來,因為這個就是統計數據,一種歸納。只要公司產業、營收方向或ETF的篩選方法沒有大幅改變,可以合理推測未來的結果也會相近。
如果可以稍微做個組合搭配一下該有多好?也許尋找幾個相關性較低的股票來搭配一下,可以有效降低投資組合的波動程度
很多網友在討論,中華電信很像是債券的特性,並不是說中華電信就是債券,而是指它跟大盤的相關性較低,通常跟大盤的相關性可以使用Beta值來判斷,Beta值的計算是比較複雜一點,有興趣的朋友可以參考Money DJ網頁的介紹。
這篇就單純針對計算相關係數來看相關性,也透過簡單的範例來動手做個計算。這次一起學程式系列,就來計算一下股票的相關性係數。
關於有哪些投資組合,可以做搭配的討論,會另外放在【真定存股尋找之旅】中討論。

相關性計算實例怎麼用?

「相關性」這個名詞可能大家以前讀書有念過,基本的簡單定義就是用計算的方式算出兩組變量之間的關係,參考Investopedia的定義,相關性是衡量兩種證券相互關聯程度的統計數據,相關性係數,其值必須介於 -1.0 和 +1.0。
不過這樣解釋起來太學術性,用簡單例子說明,參考spreadsheetpoint的文章中有例子討論到員工週薪與員工滿意度的小例子,用這個範例來延伸講解一下。
一共有幾個情況,大家看圖跟說明,就可以理解相關性係數的計算應用,相信比起用生硬數學更容易理解,科學的統計不是只是考試用,而是可以真實應用在生活中,亦可以用來投資使用。
以下的情況是一間公司的統計數據,員工們都發的滿意度問卷,請大家填完後,做統計起來做分析,給公司經營者一個客觀數據做未來營運調整之用,我們用相關性計算來分析。
圖1
情況1跟情況2,從上面看起來,大多員工,薪水越多越滿意,但是工時越多越不開心。
情況三,OOOOOOOOOOOOOOOOOOO,本來付出越多就應該給更多報酬。
情況四,OOOOOOOOOOOOOOOOOOO哪個才是員工滿意度的關鍵?如果要留住人才應該要怎麼分析?
分別將不同的變數互相做相關性計算,就可以得知,員工對於工時還有薪水來說,因為OOOOOOOOOOOOOOOOOOO的相關性較OOOOOOOOOOOOOOOOOOO的相關性來的高,代表員工比較在乎月薪,工時反而次之。
聰明的老闆當你想要留住員工,你應該知道怎麼做了吧?當然真實的工作環境還要計算員工的實質產出能力,才會對於月薪該給多少,更能得到客觀的數據。

程式的流程與設計邏輯

1.抓取到股價原始資料 2.計算每日的漲跌幅 3.將兩檔股票的時間對齊 4.將相關性係數計算出來 5.繪製相關性圖形 6.數據與圖形怎麼解讀?

相關性計算語法

OOOOOOOOOOOOOOOOOOO
使用範本
OOOOOOOOOOOOOOOOOOO
語法
OOOOOOOOOOOOOOOOOOO
資料_y 代表相依資料陣列或矩陣的範圍。 data.
資料_x 代表獨立資料陣列或矩陣的範圍。 data.
如果當使用在股票上就可以對應如下:
OOOOOOOOOOOOOOOOOOO

範例下載與抓取原始報價

請參考範例下載,請記得另存副檔,勿修改內容
圖3
首先使用GOOGLEFINANCE 先抓取報價,由於抓取方式在過去文章內容【不用寫程式也能用Google試算表畫樂活五線譜與回測,用高麗菜價教你什麼是樂活五線譜】已提過,這邊就不贅述。
OOOOOOOOOOOOOOOOOOO
在上圖B1跟E1填上股票代號與B2跟E2填上觀察天數範圍,通過函數就可以抓取到。
在範例中,B2跟E2填上觀察天數範圍,請填上相同天數,B1跟E1當股號填完後,觀察G1跟G2的數值。為了後面抓取VLOOKUP 校正天數方便,請將B1填入數量數值較小的股號。
抓到股票的原始資料後,就可以接著後續的計算。

股價的每日漲跌幅怎麼計算?

OOOOOOOOOOOOOOOOOOO
將公式填好後下面的計算用滑鼠拉一下就可以複製公式。

對齊數據時間

為什麼要做數據時間的對齊?OOOOOOOOOOOOOOOOOOO
=IFERROR(VLOOKUP(A6,D$5:F$2000,1,0),"")
如此依此類推就可以將L欄跟M欄的資料都在D5到F2000這個資料面積中取出來。

計算相關性係數

在S2這格中,輸入計算相關性係數的函數
OOOOOOOOOOOOOOOOOOO
資料列式M列跟Q列,如此就可以計算出相關性係數0.87。

畫出相關性點陣圖

通過將簡單的等號,將左邊的資料放到T欄到V欄,接著使用畫圖的功能。就可以畫出如下的圖形,再加上自己喜歡的美編型式即可完工。
圖9

數據與圖形怎麼解讀?

接著藉由範例讓大家可以感受一下數據跟圖形的意義
圖10
從上面圖形可以明顯發現
1.觀察的時間週期有OOOOOOOOOOOOOOOOOOO年的時間,OOOOOOOOOOOOOOOOOOO,一般來說長期回測繪希望跨越至少過OOOOOOOOOOOOOOOOOOO,因此要客觀的分析的話,建議回測的時間框架至少大於這個時間範圍。
2.台積電與0050的相關性是0.86遠大於OOOOOOOOOOOOOOOOOOO。
若以0050當作大盤的代表,OOOOOOOOOOOOOOOOOOO。
3.相關性係數是一種OOOOOOOOOOOOOOOOOOO,可以通過這個計算結果比較一下不同組合之間的相關程度。
例如0050跟006208都是追蹤台灣五十指數,因此相關係數0.87。
而0056跟0050追蹤的指數不同,因此相關係數相較於0050與006208的係數來看,相關度較低也屬合理。
OOOOOOOOOOOOOOOOOOO
4.當比較的時候可以OOOOOOOOOOOOOOOOOOO,如此通過這個計算才能配出波動性較穩定或可靠的投資組合。
上面兩圖可知OOOOOOOOOOOOOOOOOOO抗跌效果會更好。
5.除了係數的計算外,圖形上也可以作為一種判讀標準
圖16
從上圖比對可以發現,對照組都是0050,此時OOOOOOOOOOOOOOOOOOO。可以通過圖形一目了然兩個標的之間的相關程度。

可能遇到的問題

1.日期要不要對的很準?
OOOOOOOOOOOOOOOOOOO。
2.除權息非還原股價可以計算嗎?
如果可以,可以使用還原股價計算可以更為準確,還原股價的抓取方式可以參考【還原股價好好用?一個簡單步驟免費取得還原股價的方法(含影片教學)】,先前有跟大家分享簡單的抓取方式。
OOOOOOOOOOOOOOOOOOO
3.觀察的時間要多久?
OOOOOOOOOOOOOOOOOOO,只要抓得到收盤價來源資料一樣可以分析。
4.畫圖的時候,單日漲跌幅觀察的區間要設定多少?
台股一天的漲跌幅限制就是10%,因此圖形的觀察區間設定正負0.1就可以。若要套用到美股或其他市場則需要再做微調,以觀察的清楚圖形變化為主。
----
可免費追蹤本專題,下方Liker ID 拍手五下,免費贊助作者。或點連結進入Liker拍手。
威利FB訊息盒的快速連結= https://m.me/Willinvestment
追蹤威利財經角FB: https://www.facebook.com/Willinvestment/
Podcast收聽入口|社群入口|節目目錄: https://cutt.ly/AwesomeMoney
威利投資生活事Line社群,歡迎版友&聽友&程式用戶&育兒爸媽加入。
付費訂閱
分享至
成為作者繼續創作的動力吧!
投資小白貓之旅,期望用投資新手的觀點看待投資。就像貓咪吃飽睡得很安穩?睏霸吃罐罐,買股的你就該這樣。平時會看投資理財的金融書籍等,也希望與大家分享,這邊主要收錄我的價值投資研究、節目文稿、EXCEL投資工具等、新手投資觀念、讀書心得等。
© 2024 vocus All rights reserved.