在金融計算中,迴歸的參數估計是基本而且重要的。舉凡市場模型的系統風險參數估計、市場流動性的Kyle值等等,我們都必須透過迴歸來估計參數;參數的估計,一次也不可能只估計一檔股票,也不可能假定參數沒有結構性轉變,用全部的樣本估計一個參數,然後就草草結束工作。 因此,這裡提出一個假設性的問題,迴歸參數估計用於投資交易時,需要滾動逐季估計嗎?以下,抓取5檔股票來每季計算系統風險Beta值。資料抓取的期間為"2002-01-01"~"2021-12-31",所有的資料抓取自Yahoo Finance。每季度計算Beta值的重點是讓程式如何判斷每一季的區間。R套件"xts"裡面有endpoints可以使用。不過,通常建議學習者儘量不要使用套件函數,而是自己根據邏輯寫出每個季度的區間。以下是我處理季度的方法 (當然每個人有自己的處理方式)。 處理完季度的判讀後,後續就是寫迴圈逐季估計參數。此處,乃透過雙迴圈執行,雙迴圈包含季度迴圈與公司迴圈。估計完畢,可以得到的參數估計如下: 透過數字,粗略可以看到每檔股票的Beta每季的變動幅度不算小。接續,來看一下圖形會更清楚。 圖形清楚畫出了5檔股票"2002-01-01"~"2021-12-31"的每一個季度Beta。這個圖形給了計量交易者很大的啟示:就算大股票,其Beta的變異每季還是相當大,因此如果想要透過Beta進行投資時,如果即時估計出每檔股票相對均衡的Beta值就很重要了。
廚師在做菜,沒有食材,就沒有可口料理;但如何快速與新鮮獲取食材,這就必須透過物流處理。相同的,金融計算與分析的過程,如何快速抓取資料是一件非常重要的事情,沒有大量的資料,就無法分析。 教學的過程,都必須特別強調在資訊與科技的進步下,如何確實執行"資料不落地",所謂的資料不落地,就是不手動抓取資料。 在學術教學或者是學生的論文研究,基本上都是要求需要透過TEJ 的API來獲取即時資料。TEJ 的API需要額外購買,通常都是業界機構或者學術機構才有本錢購買。 就外部教學上,都是透過R語言的"qauntmod"套件進行示範。換句話說,就一般業餘的使用者而言,通常都是建議透過Yahoo Finance來取得盤後資料。這裡必須提醒,Yahoo Finance所取得盤後資料,難免會有些錯誤,但基於免費的精神下,也就不太強求了! 以下,就透過套件與迴圈來連續抓取資料。