python代寫使用LASSO迴歸預測股票收益

原文連接:http://tecdat.cn/?p=4228

使用LASSO預測收益

1.示例

一個熱門目標。只要有金融經濟學家,金融經濟學家一直在尋找可以預測股票回報的變量。對於最近的一些例子,想一想Jegadeesh和Titman(1993),它代表股票的當前收益是由前幾個月的股票收益預測的,侯(2007),這代表一個行業中最小股票的當前回報是經過行業中最大股票的滯後回報預測,以及Cohen和Frazzini(2008),這代表股票的當前回報是由其主要客戶的滯後回報預測的。微信

兩步流程。當你考慮它時,找到這些變量實際上包括兩個獨立的問題,識別和估計。首先,你必須使用你的直覺來識別一個新的預測器,而後你必須使用統計來估計這個新的預測器的質量,oracle

不能老是使用直覺。可是,現代金融市場龐大,快速,密集。可預測性並不老是發生在易於人們直覺的尺度上,使得解決第一個問題的標準方法成爲問題。例如,聯邦信號公司的滯後收益率是2010 年10月一小時內全部紐約證券交易所上市電信股票的重要預測指標。你真的能夠從虛假的預測指標中捕獲這個特定的變量嗎?單憑直覺?並且,你究竟應該在幾分鐘內完成這項工做?app

2.使用LASSO

LASSO定義。LASSO是一種懲罰迴歸技術,在Tibshirani(1996)中引入。它經過投注稀疏性來同時識別和估計最重要的係數,使用更短的採樣週期 - 也就是說,假設在任什麼時候間點只有少數變量實際上很重要。正式使用LASSO意味着解決下面的問題, 事實上,若是你忽略了最右邊的術語 - 懲罰函數,那麼這個優化問題就只是一個OLS迴歸。函數

懲罰功能。可是,這個懲罰函數是LASSO成功的祕訣,容許估算器對最大系數給予優先處理,徹底忽略較小系數。爲了更好地理解LASSO如何作到這一點,當右側變量不相關且具備單位方差時 。一方面,這個解決方案意味着,若是OLS估計一個大系數,那麼LASSO將提供相似的估計,。另外一方面,解決方案意味着,若是OLS估計了足夠小的係數,那麼LASSO將會選擇。由於LASSO能夠將除少數係數以外的全部係數設置爲零,即便樣本長度比可能的預測變量的數量短得多,它也可用於識別最重要的預測變量。從道德上講,若是隻有預測變量非零,那麼你應該只須要幾個 觀察選擇而後估計這幾個重要係數的大小。post

3.模擬分析

我運行模擬來展現如何使用LASSO來預測將來的回報。您能夠在此處找到全部相關代碼。測試

數據模擬。每次模擬都涉及爲期間的股票產生回報。每一個時期,全部股票的回報都受到一部分股票的回報,以及特殊衝擊的影響大數據

使模型適合數據。用於從每一個週期到,我估計在第一庫存LASSO,如(公式定義2使用先前的)數據的時間段,其中可能預測是股票。這意味着使用時間段來估計具備潛在右側變量的模型。做爲有用的基準,我還從方程(1)和oracle迴歸估計自迴歸模型。在本規範中,我估計了一個OLS迴歸真正的預測因子是右側變量。顯然,在現實世界中,你不知道真正的預測器是什麼,可是這個規範給出了你能夠達到的最佳擬合的估計。在將每一個模型擬合到先前的數據週期以後,而後我在st期間進行樣本外預測。優化

預測迴歸。而後,我經過分析一系列預測迴歸分析調整後的統計數據,檢查這些預測與第一個資產的實現回報的緊密程度。例如,我將LASSO的回報預測用於估算下面的迴歸ui

4.調整參數

懲罰參數選擇。使LASSO適合數據涉及選擇懲罰參數,。我這樣作是經過選擇在數據的第一個時段期間具備最高樣本外預測的懲罰參數。這就是爲何上面的預測迴歸僅使用從而不是使用數據開始的緣由。下圖顯示了模擬中懲罰參數選擇的分佈。離散跳轉來自我在運行代碼時考慮的可能s 的離散網格。spa

預測數量。最後,若是你看一下調整後數字中標有「Oracle」的面板,你會發現LASSO的樣本外預測能力大約是真實模型預測能力的三分之一。這是由於LASSO沒有完美地選擇稀疏信號。下圖的右側面板顯示LASSO一般只選出這些信號中最重要的信號。更重要的是,左側面板顯示LASSO還鎖定了大量的虛假信號。這一結果代表,您能夠經過選擇更高的懲罰參數來提升LASSO的預測能力。

5.何時失敗?

安慰劑測試。我經過研究兩個替代模擬來結束這篇文章,其中LASSO不該該增長任何預測能力。在第一個替代設置中,沒有衝擊。也就是說,使用下面的模型模擬股票的收益,

(7)

在第二種狀況下,有太多的衝擊:。下圖顯示,在這兩種狀況下,LASSO都不會增長任何預測能力。所以,運行這些模擬提供了一對不錯的安慰劑測試,顯示LASSO確實在返回的橫截面中拾取稀疏信號。

若是您有任何疑問,請在下面發表評論。 

 

大數據部落 -中國專業的第三方數據服務提供商,提供定製化的一站式數據挖掘和統計分析諮詢服務

統計分析和數據挖掘諮詢服務:y0.cn/teradat(諮詢服務請聯繫官網客服

點擊這裏給我發消息QQ:3025393450

 

​QQ交流羣:186388004 

【服務場景】  

科研項目; 公司項目外包;線上線下一對一培訓;數據爬蟲採集;學術研究;報告撰寫;市場調查。

【大數據部落】提供定製化的一站式數據挖掘和統計分析諮詢

歡迎選修咱們的R語言數據分析挖掘必知必會課程!

 

 
歡迎關注 微信公衆號,瞭解更多數據乾貨資訊!
 
相關文章
相關標籤/搜索