日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于DNN模型的智能选股策略

發(fā)布時(shí)間:2023/12/29 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于DNN模型的智能选股策略 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、DNN原理介紹
?1.1 神經(jīng)元
?1.2 DNN
?1.3 反向傳播

2、實(shí)例:DNN模型選股
?2.1 策略步驟和模型參數(shù)
?2.2 回測(cè)結(jié)果


1. DNN原理介紹

1.1 神經(jīng)元

神經(jīng)網(wǎng)絡(luò)的每個(gè)單元結(jié)構(gòu)如下:

圖1.神經(jīng)元結(jié)構(gòu)

其對(duì)應(yīng)公式如下:
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=13?wi?xi?+b)
這相當(dāng)于進(jìn)行了兩步:

  • 先計(jì)算各項(xiàng)輸入的加權(quán)和:∑=w1x1+w2x2+w3x3+b\sum=w_1x_1+w_2x_2+w_3x_3+b=w1?x1?+w2?x2?+w3?x3?+b
  • 然后使用激活函數(shù),將和作為輸入計(jì)算得到輸出結(jié)果:a=f(∑)a=f(\sum)a=f(), f即為激活函數(shù).

神經(jīng)網(wǎng)絡(luò)中常用到的激活函數(shù)如下表所示:

表1.激活函數(shù)特點(diǎn)對(duì)比表1.激活函數(shù)特點(diǎn)對(duì)比1.數(shù)點(diǎn)對(duì)

上述激活函數(shù)的函數(shù)圖形如下圖所示:

圖2. 激活函數(shù)圖像

1.2 DNN

DNN是一個(gè)包含輸入層,輸出層和多個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),每一層又包含多個(gè)1.1中所述的神經(jīng)元。其基本結(jié)構(gòu)如下圖所示:

圖3.DNN網(wǎng)絡(luò)結(jié)構(gòu)圖3. DNN網(wǎng)絡(luò)結(jié)構(gòu)3.DNN網(wǎng)絡(luò)結(jié)構(gòu)

如上圖所示,黃色方塊標(biāo)記的為輸入層,最后的y為輸出層,中間各種顏色的圓形層為其隱藏層,DNN中的層與層之間是屬于完全連接的結(jié)構(gòu),即任意層的神經(jīng)元與它相鄰層的所有神經(jīng)元都是相互連接的。(這是DNN與CNN的主要區(qū)別,DNN是全連接的而CNN的局部連接的,如果對(duì)CNN感興趣,可以前往平臺(tái)的另一篇專題研究:【專題研究】基于一維CNN模型的智能選股策略)

1.3 反向傳播

反向傳播算法在 【專題研究】基于一維CNN模型的智能選股策略 中也有介紹,一句話簡(jiǎn)單概括就是: 前向傳遞輸入信號(hào)直至輸出產(chǎn)生誤差,反向傳播誤差信息更新權(quán)重矩陣

DNN往往含有多個(gè)隱藏層,這里我們看一個(gè)帶隱藏層的神經(jīng)網(wǎng)絡(luò)示意圖:

圖4. 反向傳播示意圖

其中小女孩代表隱藏層節(jié)點(diǎn),小黃帽代表輸出層節(jié)點(diǎn),小女孩左側(cè)接受輸入信號(hào),經(jīng)過隱層節(jié)點(diǎn)產(chǎn)生輸出結(jié)果,小藍(lán)貓代表了誤差,指導(dǎo)參數(shù)往更優(yōu)的方向調(diào)整。由于小藍(lán)貓可以直接將誤差反饋給小黃帽,所以與小黃帽直接相連的左側(cè)參數(shù)矩陣可以直接通過誤差進(jìn)行參數(shù)優(yōu)化(實(shí)縱線);而與小女孩直接相連的左側(cè)參數(shù)矩陣由于不能得到小藍(lán)貓的直接反饋而不能直接被優(yōu)化(虛棕線)。但由于反向傳播算法使得小藍(lán)貓的反饋可以被傳遞到小女孩那進(jìn)而產(chǎn)生間接誤差,所以與小女孩直接相連的左側(cè)權(quán)重矩陣可以通過間接誤差得到權(quán)重更新,迭代幾輪,誤差會(huì)降低到最小。

反向傳播主要由梯度下降+鏈?zhǔn)角髮?dǎo)法則來實(shí)現(xiàn),具體數(shù)學(xué)公式可以參考:機(jī)器學(xué)習(xí):一步步教你理解反向傳播方法。

2. 實(shí)例:DNN模型選股

2.1 策略步驟和模型參數(shù)

圖5. DNN選股策略步驟

如圖所示,DNN模型選股實(shí)例中包含下列步驟:

  • 數(shù)據(jù)獲取:A股所有股票,2010-2015年數(shù)據(jù)用作訓(xùn)練,2016-2019年數(shù)據(jù)用作測(cè)試

  • 特征提取:選擇了7個(gè)因子進(jìn)行計(jì)算作為特征

  • 數(shù)據(jù)標(biāo)注:計(jì)算未來5日的收益作為標(biāo)注

  • 數(shù)據(jù)處理:進(jìn)行缺失值處理;去掉特征異常的股票,比如某個(gè)特征值高于99.5%或低于0.5%的;標(biāo)準(zhǔn)化處理,去除特征量綱/數(shù)量級(jí)差異的影響。

  • 窗口滾動(dòng):窗口大小為1

  • 建立模型:建立一個(gè)簡(jiǎn)單的兩個(gè)全連接層兩個(gè)dropout層的DNN網(wǎng)絡(luò)

  • 訓(xùn)練和測(cè)試:分別用訓(xùn)練集數(shù)據(jù)和測(cè)試集數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練和測(cè)試。

  • 模型評(píng)價(jià):進(jìn)行策略回測(cè)并根據(jù)回測(cè)結(jié)果對(duì)模型進(jìn)行評(píng)價(jià)。

DNN模型參數(shù)如下:

  • 輸入層:選用了7個(gè)因子,窗口大小為1,因此輸入層形狀為一維,大小為7

  • 全連接層:共有3個(gè)全連接層。前兩個(gè)為隱藏層,輸出空間維度分別為256和128,這個(gè)數(shù)字可以根據(jù)需要進(jìn)行改動(dòng),數(shù)字越大,模型越復(fù)雜。根據(jù)表1,這里選擇relu激活函數(shù)。權(quán)重使用glorot_uniform初始化方法,偏置向量使用Zeros初始化方法。最后一個(gè)全連接層為輸出層,因此選擇linear激活函數(shù),輸出維度為1,其他設(shè)置不變。

  • dropout層:dropout將在訓(xùn)練過程中每次更新參數(shù)時(shí),按一定概率(即rate參數(shù))隨機(jī)斷開輸入神經(jīng)元,用于防止過擬合。這里rate參數(shù)設(shè)為0.1。

  • 訓(xùn)練次數(shù)率 :epochs值為5,共訓(xùn)練5輪,以mse作為評(píng)估指標(biāo)

2.2 回測(cè)結(jié)果

模型回測(cè)結(jié)果如下所示:

圖7.回測(cè)結(jié)果圖7.回測(cè)結(jié)果7.測(cè)結(jié)

從圖中可以看到,相比于基準(zhǔn)收益,DNN模型有著非常突出的表現(xiàn)。所以,我們認(rèn)為將DNN深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于資本市場(chǎng)因子選股是很有前景的。在本次的策略中,我們提取了7個(gè)因子,構(gòu)建了兩層的DNN模型,因子的選擇提取,模型的深度和具體的模型參數(shù)都還有很大的調(diào)整空間,歡迎大家繼續(xù)嘗試探索。

2.3 克隆策略

csdn無法克隆策略,若有需要請(qǐng)前往社區(qū)克隆。

總結(jié)

以上是生活随笔為你收集整理的基于DNN模型的智能选股策略的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。