股票收益分佈
我知道股票的回報不是正態分佈的。但是,有什麼方法可以重新調整股票的回報率,使它們看起來更像正態分佈?
我設法找到一篇討論這個問題的論文:LCG Rogers: Sense, nonsense and the S&P500 , Decisions in Economics and Finance (2018) 41:447–461
https://link.springer.com/content/pdf/10.1007/s10203-018-0230-3.pdf
作者重新調整了 SP500 回報如下:
如您所見,他設法將極端時期(例如 1987 年黑色星期一)的回報按比例縮放,使其看起來更像正態分佈。
我嘗試使用 Python 複製此方法,使用與論文中相同的參數,K = 4,Beta 為 0.025。N 未指定,但我選擇 N 為 100。
SP500['returns'] = np.log(SP500['Adj Close']/SP500['Adj Close'].shift(1)) SP500['returns_sq'] = np.square(SP500['returns']) SP500.loc[:, 'vol'] = 0 SP500.loc[:,'Vol_rescaled_returns'] = 0 K = 4 Beta = 0.025 SP500.loc[101,'vol'] = np.sqrt(SP500.loc[1:101,'returns_sq'].mean()) for i in range(101,len(SP500)-1): Y = max(-K*SP500.loc[i,'vol'],min(K*SP500.loc[i,'vol'],SP500.loc[i,'returns'])) SP500.loc[i+1,'vol'] = np.sqrt(Beta*(Y**2) + (1-Beta)*(SP500.loc[i,'vol']**2)) SP500.loc[i+1,'Vol_rescaled_returns'] = SP500.loc[i+1,'returns'] / SP500.loc[i+1,'vol']
但是,我的結果與論文不同,如下圖所示,黑色星期一的負回報在 -16 左右,而在論文中是 -6。我上面的程式碼有什麼問題嗎?我檢查了幾次,但看起來很簡單,還是這種方法有問題?非常感謝!
標準化的對數回報大致呈正態分佈, $ \frac{r_t}{\sqrt{\text{RV}_t}}\sim N(0,1) $ .
正如@noob2 所說,異變異數性是(對數)回報不是正態分佈的一個重要原因。如果你糾正這個事實(除以實際變異數的平方根,平方收益的總和),那麼收益看起來非常接近正常。如果您不想使用高頻數據,您甚至可以使用簡單的 GARCH 模型來代替實際變異數。
要查看一些經驗證據,請查看以下兩篇論文:
- Andersen、Bollerslev、Diebold 和 Ebens (2001, JFE),他們研究道瓊斯和
- 研究外匯匯率的Andersen、Bollerslev、Diebold 和 Labys (2001, JASA) 。
來自 JFE 論文:你看到了 $ r_t $ 有肥尾(峰度約為 5)。通過實現變異數縮放後, $ r_t/v_t $ ,峰度更接近正態分佈的三個。您可以從下圖中看到與正態分佈的相似之處。
有幾種分佈可以概括具有偏度和峰度的正態分佈,其中一些分佈可以比正態分佈更好地模擬股票收益。
例如,Johnson 的 SU 分佈是一個很好的候選者。參見Choi 等人的 QQ 圖(圖 4)。(2019)。基本上,SU 分佈是正態變數的正態變換。因此,股票收益的反正弦變換(或
rescale
如您所說)非常接近正態分佈。參考:
- Choi, J.、Liu, C. 和 Seo, BK (2019)。雙曲線正態隨機波動率模型。期貨市場雜誌,39(2),186–204。https://doi.org/10.1002/fut.21967