1、多因子問題數據庫
500、總問題,每個月要更新的數據有哪些?數組
一、各個因子數據,具體哪些? pe pb等數據結構
二、return數據,全部A股return數據 ,滬深300、中證500return數據app
三、ide
九、存儲的csv格式數據結構是怎麼樣的呢?spa
應該是每月爲一個因子或多個因子的數據,命名爲0、一、二、3....,0是爲2000年1月31日數據。每列爲股票因子數據。3d
如何更新:每次更新一個因子數據命名爲一個csv文件,保存到相應位置,每次更新與之前數據不衝突。code
八、回測時股票價格數據該如何選擇?orm
20180621新修改:blog
不須要取收盤價格數據,直接取pct_chg便可。向前復權和前後復權均可以,由於不是取的收盤價。
每月度數據新建一個表,更新的數據在新建的表中,一個月數據按照月順序命名,以2000年1月份爲0開始命名。
一、週期:日、周、月、季(報告期)、年
二、時間設置:固定日期---->,起始日期,截止日期;相對日期---->前推週期(日曆日、交易日、周、月、季、年),截止日期
三、日期類型:交易日、日曆日、工做日
四、無交易數據處理:沿用以前數據、空值、自設數值(本身輸入數值)
五、貨幣:原始貨幣、人民幣、美圓、港幣
六、價格修正:(!)、復權方式(適用於股票基金):不復權、前復權、後復權、定點復權 (2)、價格類型(適用債券):淨價、全價、市價、收益率
設置彙總:一、周/月 二、相對日期-->周/月 三、日曆日 四、空值 五、原始貨幣 六、復權方式-->前復權
注意:(1)、復權能夠選擇向後復權,這樣收益率數據庫能夠(周/月)度更新,若是向前復權,每次向前時點不一致,致使數據不一致。
(2)、頻繁交易會加大交易成本,通常選取月度數據進行回測。全部數據在一張表中,須要數據時來表中取數據,可每個月更新一次收盤數據。
七、A股比較基準是什麼?
滬深300指數 代碼 000300.SH 中證500指數 代碼 000905.SH
注意:滬深300指數數據是從2002年1月開始,中證500指數數據是從2005年1月開始。
六、在作多因子研究時,若是回測結果較好,把y換成隨機數序列y1,用y1迴歸來看模型預測能力差,是否是說明模型預測能力較好?
五、在因子去極值處理後,因子數據所有變爲0,是什麼緣由?
解答:dividendyield2因子在2008年5月31日數據全爲0,由於中位數數據爲0,極大值和極小值均爲0,最後結果都爲0,影響應該不大,這樣數據少,之後隨着分成變得廣泛,就不會有這種狀況發生了。
四、數組標準化(變爲均值爲0,方差爲1)後的數據惟一嗎?
解答:是惟一的,兩個標準化的差異是一個對每列標準化,一個對所有數據標準化。
data=pd.DataFrame(np.array([[0, 0], [0, 0], [1, 1], [1, 1]])) data Out[53]: 0 1 0 0 0 1 0 0 2 1 1 3 1 1 scale_fun = lambda x: (x - x.mean()) / x.std() data1=data.apply(scale_fun) data1 Out[56]: 0 1 0 -0.866025 -0.866025 1 -0.866025 -0.866025 2 0.866025 0.866025 3 0.866025 0.866025 data1.mean() Out[79]: 0 0.0 1 0.0 dtype: float64 data1.std() Out[80]: 0 1.0 1 1.0 dtype: float64 from sklearn import preprocessing scaler=preprocessing.StandardScaler() scaler.fit(data) Out[84]: StandardScaler(copy=True, with_mean=True, with_std=True) data2=scaler.transform(data) data2 Out[87]: array([[-1., -1.], [-1., -1.], [ 1., 1.], [ 1., 1.]]) data2.mean() Out[88]: 0.0 data2.std() Out[89]: 1.0 data3=DataFrame(data2) data3 Out[91]: 0 1 0 -1.0 -1.0 1 -1.0 -1.0 2 1.0 1.0 3 1.0 1.0 data3.mean() Out[92]: 0 0.0 1 0.0 dtype: float64 data3.std() Out[93]: 0 1.154701 1 1.154701 dtype: float64
三、選取回報數據的時候,是否須要復權處理?價格修正方式(股票基金)有4種:不復權、前復權、後復權、定點復權(僅用於支持定點復權指標)
解答:選擇前復權,若是不復權,價格不真實
二、有些股票當期不在交易標的中,好比ST、停牌、上市不滿三個月等。在作因子數據預處理時是該先丟掉這些數據再作預處理,仍是所有因子數據數據預處理完,再丟掉?
解答:先所有預處理完,再丟,這樣包含的信息更多。
一、若是當天股票停牌,不考慮後續是否停牌狀況下,單個回測週期因子回測時該如何處理?實際交易時如何處理?
回測時:該股票不在投資標的中,全部因子值設置爲nan,設置時間分爲因子預處理前和預處理後兩種狀況。
實盤時:若是按照回測時狀況來處理,該停牌股票必然會被調出股票持倉中,可能實際上該股票不該該調出,產生無效交易,加大交易成本。
這是一個問題。。。
一、RV選股策略:
二、3+2量化選股策略