使用横截面回归和时间序列回归进行回测
生活随笔
收集整理的這篇文章主要介紹了
使用横截面回归和时间序列回归进行回测
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1. 對收益進行橫截面回歸
- 單變量回歸
- 多變量回歸
- 2.對每個資產(chǎn)的收益進行時間序列回歸
1. 對收益進行橫截面回歸
(i)僅信號1(ii)僅信號2(iii)兩個信號 import pandas as pd import numpy as np import statsmodels.api as smfile = "data/PS_3_Exercise_XS_Regressions.xlsx" xrets = pd.read_excel(file, sheet_name="excess_returns", index_col="year") xrets.head() signal_1 = pd.read_excel(file, sheet_name="signal_1", index_col="year") signal_2 = pd.read_excel(file, sheet_name="signal_2", index_col="year")單變量回歸
T = len(xrets)#多少年 slopes_1 = {} slopes_2 = {} for t in range(1,T):y = xrets.iloc[t,:]x_1 = signal_1.iloc[t-1,:]reg_1 = sm.OLS(y, sm.add_constant(x_1)).fit()x_2 = signal_2.iloc[t-1,:]reg_2 = sm.OLS(y, sm.add_constant(x_2)).fit()# 更新系數(shù)year = xrets.index[t]slopes_1.update({year: reg_1.params.iloc[1]})slopes_2.update({year: reg_2.params.iloc[1]})uv_slopes = pd.DataFrame([slopes_1, slopes_2], index=["Signal 1", "Signal 2"]) uv_slopes多變量回歸
mv_slopes = {} for t in range(1,T):y = xrets.iloc[t,:]x = pd.DataFrame([signal_1.iloc[t-1,:],signal_2.iloc[t-1,:]],index = ["Signal 1", "Signal 2"]).Treg_3 = sm.OLS(y, sm.add_constant(x)).fit()year = xrets.index[t]#mv_slopes.update({year: reg_3.params.iloc[1]}) 不對 定位1只提取了signal_1前面的系數(shù)mv_slopes.update({year: reg_3.params.loc[["Signal 1", "Signal 2"]]}) mv_slopes = pd.DataFrame(mv_slopes) mv_slopes uv_slopes.T.plot.hist(); mv_slopes.T.plot.hist();2.對每個資產(chǎn)的收益進行時間序列回歸
# 資產(chǎn)數(shù)量 N = xrets.shape[1] signal_1_lagged = signal_1.shift(1) signal_2_lagged = signal_2.shift(1) ts_slopes = {} for n in range(N): #這里包括了 A1 y = xrets.iloc[:,n]x = pd.DataFrame([signal_1_lagged.iloc[:,n],signal_2_lagged.iloc[:,n]],index = ["Signal 1", "Signal 2"]).Treg_4 = sm.OLS(y, sm.add_constant(x),missing="drop").fit()# 記得drop nansecurity = xrets.columns[n]ts_slopes.update({security: reg_4.params.loc[["Signal 1", "Signal 2"]]}) ts_slopes = pd.DataFrame(ts_slopes) ts_slopes總結(jié)
以上是生活随笔為你收集整理的使用横截面回归和时间序列回归进行回测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 普通人的2022前端秋招总结
- 下一篇: GEE学习笔记 六十四:绿色中国报告(个