基于DNN模型的智能选股策略
1、DNN原理介紹
?1.1 神經元
?1.2 DNN
?1.3 反向傳播
2、實例:DNN模型選股
?2.1 策略步驟和模型參數
?2.2 回測結果
1. DNN原理介紹
1.1 神經元
神經網絡的每個單元結構如下:
圖1.神經元結構其對應公式如下:
hW,b(x)=f(WTx)=f(∑i=13wixi+b)h_{W,b}(x)=f(W^Tx)=f(\sum_{i=1}^3w_ix_i+b)hW,b?(x)=f(WTx)=f(i=1∑3?wi?xi?+b)
這相當于進行了兩步:
- 先計算各項輸入的加權和:∑=w1x1+w2x2+w3x3+b\sum=w_1x_1+w_2x_2+w_3x_3+b∑=w1?x1?+w2?x2?+w3?x3?+b
- 然后使用激活函數,將和作為輸入計算得到輸出結果:a=f(∑)a=f(\sum)a=f(∑), f即為激活函數.
神經網絡中常用到的激活函數如下表所示:
表1.激活函數特點對比表1.激活函數特點對比表1.激活函數特點對比
上述激活函數的函數圖形如下圖所示:
圖2. 激活函數圖像1.2 DNN
DNN是一個包含輸入層,輸出層和多個隱藏層的神經網絡結構,每一層又包含多個1.1中所述的神經元。其基本結構如下圖所示:
圖3.DNN網絡結構圖3. DNN網絡結構圖3.DNN網絡結構
如上圖所示,黃色方塊標記的為輸入層,最后的y為輸出層,中間各種顏色的圓形層為其隱藏層,DNN中的層與層之間是屬于完全連接的結構,即任意層的神經元與它相鄰層的所有神經元都是相互連接的。(這是DNN與CNN的主要區別,DNN是全連接的而CNN的局部連接的,如果對CNN感興趣,可以前往平臺的另一篇專題研究:【專題研究】基于一維CNN模型的智能選股策略)
1.3 反向傳播
反向傳播算法在 【專題研究】基于一維CNN模型的智能選股策略 中也有介紹,一句話簡單概括就是: 前向傳遞輸入信號直至輸出產生誤差,反向傳播誤差信息更新權重矩陣。
DNN往往含有多個隱藏層,這里我們看一個帶隱藏層的神經網絡示意圖:
圖4. 反向傳播示意圖其中小女孩代表隱藏層節點,小黃帽代表輸出層節點,小女孩左側接受輸入信號,經過隱層節點產生輸出結果,小藍貓代表了誤差,指導參數往更優的方向調整。由于小藍貓可以直接將誤差反饋給小黃帽,所以與小黃帽直接相連的左側參數矩陣可以直接通過誤差進行參數優化(實縱線);而與小女孩直接相連的左側參數矩陣由于不能得到小藍貓的直接反饋而不能直接被優化(虛棕線)。但由于反向傳播算法使得小藍貓的反饋可以被傳遞到小女孩那進而產生間接誤差,所以與小女孩直接相連的左側權重矩陣可以通過間接誤差得到權重更新,迭代幾輪,誤差會降低到最小。
反向傳播主要由梯度下降+鏈式求導法則來實現,具體數學公式可以參考:機器學習:一步步教你理解反向傳播方法。
2. 實例:DNN模型選股
2.1 策略步驟和模型參數
圖5. DNN選股策略步驟如圖所示,DNN模型選股實例中包含下列步驟:
-
數據獲取:A股所有股票,2010-2015年數據用作訓練,2016-2019年數據用作測試
-
特征提取:選擇了7個因子進行計算作為特征
-
數據標注:計算未來5日的收益作為標注
-
數據處理:進行缺失值處理;去掉特征異常的股票,比如某個特征值高于99.5%或低于0.5%的;標準化處理,去除特征量綱/數量級差異的影響。
-
窗口滾動:窗口大小為1
-
建立模型:建立一個簡單的兩個全連接層兩個dropout層的DNN網絡
-
訓練和測試:分別用訓練集數據和測試集數據對模型進行訓練和測試。
-
模型評價:進行策略回測并根據回測結果對模型進行評價。
DNN模型參數如下:
-
輸入層:選用了7個因子,窗口大小為1,因此輸入層形狀為一維,大小為7
-
全連接層:共有3個全連接層。前兩個為隱藏層,輸出空間維度分別為256和128,這個數字可以根據需要進行改動,數字越大,模型越復雜。根據表1,這里選擇relu激活函數。權重使用glorot_uniform初始化方法,偏置向量使用Zeros初始化方法。最后一個全連接層為輸出層,因此選擇linear激活函數,輸出維度為1,其他設置不變。
-
dropout層:dropout將在訓練過程中每次更新參數時,按一定概率(即rate參數)隨機斷開輸入神經元,用于防止過擬合。這里rate參數設為0.1。
-
訓練次數率 :epochs值為5,共訓練5輪,以mse作為評估指標
2.2 回測結果
模型回測結果如下所示:
圖7.回測結果圖7.回測結果圖7.回測結果
從圖中可以看到,相比于基準收益,DNN模型有著非常突出的表現。所以,我們認為將DNN深度神經網絡應用于資本市場因子選股是很有前景的。在本次的策略中,我們提取了7個因子,構建了兩層的DNN模型,因子的選擇提取,模型的深度和具體的模型參數都還有很大的調整空間,歡迎大家繼續嘗試探索。
2.3 克隆策略
csdn無法克隆策略,若有需要請前往社區克隆。
總結
以上是生活随笔為你收集整理的基于DNN模型的智能选股策略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度思考:无关生智,局外生慧
- 下一篇: Mysqk 多表连接查询的 “打字练习”