華泰證券: 人工智慧選股之全連接神經網絡

2021-01-14 新華網客戶端

  人工神經網絡模型具有強大的學習能力、適應能力、計算效率,可以良好地模擬出輸入空間到輸出空間的非線性映射關係,在很多應用領域已經取得了令人矚目的成果。本報告作為華泰人工智慧系列第八篇,開始嘗試從淺層結構學習模型邁向深度學習模型的研究,探索神經網絡與多因子結合選股將擦出怎樣的火花。本報告主要介紹的全連接神經網絡是一種結構簡單、易於理解、計算效率高的模型,我們對其原理進行了形象化的描述,同時對模型結構和參數設置進行了詳細剖析,最後構建選股策略進行回測,發現全連接神經網絡選股模型的年化收益和信息比率優於線性模型。

  全連接神經網絡模型一般包含輸入層、若干個隱藏層、輸出層,每層包含數目不等的節點。前向傳播是指在給定訓練數據和模型參數的情況下,通過輸入層的數據層層傳播至輸出層,與真實值對比並計算出誤差的過程。如果誤差不達要求,則進入反向傳播過程,這個過程主要是基於梯度下降法的,目的是在給定訓練數據和損失函數的前提下,修改連接各節點的邊上的權值使損失函數達到最小。神經網絡模型的反向傳播機制可以類比於飛機的發動機,地位十分重要,是神經網絡模型具有學習能力的關鍵。

  全連接神經網絡模型的構建包括特徵和標籤提取、特徵預處理、樣本內訓練、交叉驗證和樣本外測試等步驟。最終在每個月底可以產生對全部個股下期上漲概率的預測值,然後根據正確率、F1-score等指標以及策略回測結果對模型進行評價。由於神經網絡模型需要大量樣本數據支持,我們主要在全A股票池內根據模型的預測結果構建選股策略,通過年化收益率、信息比率、最大回撤等指標綜合評價策略效果。

  在回測時段2011-01-31至 2017-10-31內,全連接神經網絡模型全A選股策略(行業中性,每個行業選股數目分別為2,5,10,15,20)相對於基準中證500指數的年化超額收益在19.15%~25.36%之間,超額收益最大回撤在14.72%~18.65%之間,信息比率在2.81~3.35之間。總的來看,全連接神經網絡模型在年化超額收益率、信息比率上優於線性回歸模型,但是最大回撤普遍大於線性回歸模型。

  本報告中,我們採用全連接神經網絡選股模型對個股做「漲、平、跌」三分類預測,模型在測試集上的正確率為42.9%、F1-score值為38.0%。全連接神經網絡模型與一些更複雜的神經網絡模型(如卷積神經網絡、循環神經網絡、長短記憶神經網絡等)相比,其結構更加簡單、容易理解、計算效率高;與傳統的線性模型相比,能夠引入非線性擬合因素,並且在大量股票數據的支持下可能會「學習」到股票市場更精確的運行規律,值得進行更深一步的研究。

  在華泰人工智慧系列首篇報告《人工智慧選股框架及經典算法簡介》(2017.06)中,我們簡要地介紹了神經網絡的理論基礎和研究思路,本文將在前文基礎上更為詳細地介紹人工神經網絡的概念和實現方法。

  神經網絡仿照生物大腦的組織結構設計,其工作機理近似於大腦神經元網絡的活動規律。它反映了大腦的基本特徵,模擬大腦的思維模式對外界刺激進行加工和判斷。可以說神經網絡是利用人工的方式對生物神經網絡的模擬。

  人類的大腦是一個由約860億個神經元構成的巨型神經網絡。神經網絡中最基礎的單元是神經元,如圖表1所示。神經元存在興奮和抑制兩種狀態。一般情況下,絕大多數神經元處於抑制狀態。一旦某個神經元的樹突收到上一級感受器或神經元傳來的刺激,導致它的電位超過一定閾值,那麼該神經元會被激活,處於興奮狀態,電信號經胞體沿軸突和末端突觸,繼續傳遞至下一級神經元的樹突。如此逐級傳遞形成一個巨型網絡。

  神經網絡算法中的神經元正是模擬了現實世界中神經元的架構。圖表2展示了一個簡易的單層神經網絡,圖中紅色圓圈相當於一個生物神經元的胞體,也被稱為神經網絡的節點。左邊第一列代表輸入層,在該單層神經網絡中相當於輸出層,其中為激活函數,其功能在後文中有詳細介紹。每一根線都相當於生物神經元中的樹突或軸突,表示相鄰兩層的兩個節點之間存在信息傳遞關係,每根連接線都有一定的權重(weight)。每個節點可以存儲一定數據,相鄰兩層的節點之間可以互相傳遞信息。

  接下來我們考察兩層節點之間是如何傳遞信息的。假設第1層(即輸入層)第個節點的數據為,第2層(即輸出層)第個節點的數據為,兩個節點之間連接的權重為,數據傳遞的方向由第1層傳往第2層。

  在神經網絡中,激活函數的靈感來自於生物神經網絡,刻畫了神經元對輸入信息的加工過程。激活函數通過對加權輸入進行非線性組合,從而產生非線性決策邊界(non-linear decision boundary)。常用的激活函數包括Sigmoid、tanh、ReLU、Softmax等。其中,Sigmoid和tanh常用於神經網絡的隱藏層,ReLU常用於卷積神經網絡的隱藏層,Sigmoid和Softmax常用於輸出層。下面對以上四種激活函數進行簡單介紹。

  Softmax函數常用於多分類問題的輸出層。例如對於一個三分類問題,我們假設輸出層的上一層是一個包含3個節點的隱藏層,3個節點輸出的值分別為[-0.4, 0.3, 0.5];輸出層同樣包含3個節點,每個節點的激活函數為Softmax函數。通過上述公式可以計算得到輸出層的值分別為[0.183, 0.368, 0.449],三個數都在0到1之間,和為1。其代表的含義為:該樣本屬於第一類的概率為0.183,屬於第二類的概率為0.368,屬於第三類的概率為0.449,進而將該樣本歸入第三類。在上面Softmax函數表達式中,若N=2,實際上就退化為Sigmoid函數了。

  當Softmax函數用於輸出層時,如果神經網絡最終期望分出的類別個數為N,則輸入到Softmax函數中的向量必須是N維的,也即上一層節點個數必須為N。因為這一具有N個節點的隱藏層是Softmax輸出層的必要條件,有時在提及神經網絡結構時會省去它,例如本報告中我們構建了一個具有2個隱藏層的全連接神經網絡,這2個隱藏層就不包括Softmax輸出層前面的那層。具體網絡結構詳見下下小節的描述。

  當節點的值小於0時,激活函數的輸出為0,相當於神經元處於抑制狀態。當節點的值大於0時,激活函數的輸出等於輸入值,神經元的發放強度和輸入的刺激強度成正比。相較於Sigmoid和tanh函數,ReLU函數的一個特點是稀疏激活性,它使得一部分神經元的輸出為0,從而實現網絡的稀疏性,減少參數的相互依賴,避免過擬合的發生。

  ReLU函數另一個特點在於梯度特徵不同。Sigmoid和tanh的梯度在兩端的極值區非常平緩,接近於0,在使用梯度下降法進行最小化損失函數的過程中,很容易造成梯度耗散,從而減緩收斂速度。梯度耗散在網絡層數多的時候尤為明顯,是加深網絡結構的主要障礙之一。相反ReLU的梯度大多數情況下是常數,有助於解決深層網絡收斂問題,且收斂速度快。Sigmoid和tanh的主要優勢在於全程可導,適用於層數不多的神經網絡。

  前向傳播與反向傳播

  前向傳播(Forward propagation)與反向傳播(Backward propagation,或簡寫為Back propagation)是神經網絡理論的精髓部分。在給定訓練數據和模型參數的情況下,將輸入層的數據通過隱藏層中的節點層層傳輸計算,一直傳播到輸出層,用最終的輸出值和真實值作比較,計算出誤差,這個過程就叫前向傳播。實際上圖表2、3及其前後的描述性文字就聚焦於前向傳播的過程。對於圖表3中展示的神經網絡模型,我們可以用圖表8來展示其前向傳播的過程,以及每一步的詳細計算公式。初始狀態下,我們有輸入層數據和每條邊的權值的初值,為簡單起見,圖表8中所有節點的激活函數都取為Sigmoid函數,實際上每個節點都可以單獨設置不同的激活函數。

  如果前向傳播最終計算出來的誤差達不到期望值,則進入反向傳播過程,這個過程是基於梯度下降法的(梯度下降法在本系列報告第二篇《人工智慧選股之廣義線性模型》中有詳細描述)。反向傳播的目的是在給定訓練數據和損失函數的前提下,修改權值和使損失函數達到最小。在反向傳播的過程中,首先通過鏈式法則從後向前逐層求出誤差函數對各權值的偏導數,即誤差函數對權值的梯度,再結合自己設置的學習速度,就可以計算出各權值的修改量。一次反向傳播結束後,再通過前向傳播計算誤差,若誤差達到期望值,則停止訓練,否則繼續下一輪的反向傳播、前向傳播過程,一直迭代下去,直至觸發訓練的終止條件為止(除誤差要求外,還可能存在迭代次數上限等其它訓練終止條件)。

  優化函數

  上一節中我們形象化地描述了前向傳播和反向傳播過程,不過在實際計算中並沒有那麼簡單,為了兼顧速度、準確度和穩定性,我們可以選擇各種優化函數來完成這一計算過程。

  此處我們主要針對TensorFlow來簡單介紹幾種優化函數的特點,本篇報告中神經網絡模型的構建和訓練就是基於TensorFlow的。TensorFlow是Google Brain開發的開源機器學習系統,其功能全面、使用簡單,支持Python和C/C++語言,支持GPU/CPU計算,在GPU中可以大大提升計算速度,因而在神經網絡計算上具有很大優勢,是當前較為主流的神經網絡和深度學習的庫。在基於TensorFlow的神經網絡中,函數tf.train()在傳統梯度下降法基礎之上,提供了更多優化損失函數的選擇,如下表所示。

  神經網絡具體實現方法

  理論上,隱藏層數目越多,隱藏層節點數越多,模型對數據的擬合程度越好。但是在實際運用中,人們研究發現增加層數和節點數將帶來諸多問題。首先,權重參數的數目將隨之急劇增加,使得優化問題的解空間過大,算法難以收斂。其次,反向傳播算法也會失效,誤差梯度在經過好幾層的傳遞之後變得極小,對於前幾層連接權重的修改變得近乎不可能,這一現象稱為梯度消失。再次,模型複雜度的增大帶來過擬合的問題。最後,在歷史時期CPU/GPU的計算能力無法勝任超大規模的參數優化問題。這些缺陷一度限制了神經網絡的廣泛使用。

  受限於計算量,本報告採用基於TensorFlow的2層隱藏層的全連接人工神經網絡,在普通的家用電腦中可以實現,從輸入層到輸出層的具體結構如下:

  模型評價指標

  在人工智慧系列第一篇報告中,我們介紹了常見的模型評價指標。對於分類問題,除了分類正確率(Accuracy)之外,還可以採用召回率(Recall,又稱敏感度Sensitivity)、精確率(Precision)、虛報率和特異度(Specificity),它們都是衡量模型好壞的常用指標,詳細定義如圖表11所示。在眾多模型評價指標中,正確率的概念清晰並且計算簡便,使用較為廣泛。

  針對具體的神經網絡選股模型,如何計算上表中的各項指標呢?比如,我們通過歷史數據訓練得到一個全連接神經網絡模型,將當前時刻股票的特徵(因子值)輸入網絡,就可以得到股票下期上漲或下跌的預測值,這是一個連續值。如果以中位數作為分類閾值將股票分為相對強勢和相對弱勢兩類,那麼根據預測值向量就可以得到預測的分類標籤,隨後和真實的分類標籤進行比較,從而就能計算正確率、召回率、虛報率等各項指標了。

  在一些特定場景下,正確率並不是最好的指標。在選股模型的實際應用中,我們的目標不僅僅是對股票進行正確分類,更多的時候是希望選擇預測值最高,即上漲可能性最大的小部分股票進行投資。更切實際的做法是設定一個更嚴格的分類閾值,此時預測上漲的股票數將變少,虛報率降低,然而召回率也隨之降低,正確率未必上升。通俗地說,當法律更嚴格時,抓住的壞人更多,錯殺的好人也更多,社會風氣並不一定會更好。由此可見,當我們側重於某一類別的樣本,或者兩類樣本數量不均等時,正確率、召回率、虛報率並不是穩定的評價指標,其具體大小不僅取決於分類器性能,還和分類閾值密切相關。

  是否有一種評價指標和分類閾值的選取無關,從而忠實地反映分類器性能呢?在華泰人工智慧系列第三篇報告《支持向量機模型》中,我們使用了接受者操作特徵曲線(Receiver Operating Characteristic Curve,ROC曲線)的曲線下面積(Area Under Curve,AUC)作為模型評價的主要指標。然而AUC在多分類問題下無法準確地定義。實際上本報告中我們是將個股做了三分類處理(分類詳細設置參考下一章第一小節),我們在輸出層選用的Softmax激活函數是可以進行多分類的。因此,我們將使用另一種常用的,與分類閾值選取無關的,同時適用於多分類問題的評價指標——F-score。

  通常而言,準確率和召回率是互相影響的,雖然兩者都高是一種期望的理想情況,但實際情況常常是準確率高、召回率低,或者召回率低、準確率高。所以在應用中常常需要根據具體情況做出取捨,例如對一般搜索的情況是在保證召回率的情況下提升準確率,而如果是疾病監測、反垃圾郵件等,則是在保證準確率的條件下,提升召回率。但有時候,需要兼顧兩者,那麼就可以用F-score指標。F-score指標定義如下:

  其中,當b=1時,認為精確率和召回率的重要性相當,就是F1-score。通過定義可知,召回率體現了分類模型對正樣本的識別能力,召回率越高,說明模型對正樣本的識別能力越強;精確率體現了模型對負樣本的區分能力,精確率越高說明模型對負樣本的區分能力越強。F1-score是兩者的綜合體現,F1-score較高時說明模型穩健,分類效果較理想。我們在後續的測試中,將使用正確率和F1-score作為調參的主要依據。

全連接神經網絡測試流程 全連接神經網絡構建

  如圖表12所示,全連接神經網絡的構建方法包含下列步驟:

  1.數據獲取:

  a)股票池:全A股,剔除ST股票,剔除每個截面期下一交易日停牌的股票,剔除上市3個月以內的股票,每隻股票視作一個樣本。

  b)回測區間:2011-01-31 至 2017-10-31。分7個階段回測,如圖表14所示。

  2.特徵和標籤提取:每個自然月的最後一個交易日,計算之前報告裡的70個因子暴露度,作為樣本的原始特徵;計算下一整個自然月的個股超額收益(以滬深300指數為基準),前30%的股票標記為「上漲股」,後30%的股票標記為「下跌股」,中間股票標記為「中性股」,作為樣本的標籤。因子池如圖表13所示。

  3.特徵預處理:

  a)中位數去極值:設第T期某因子在所有個股上的暴露度序列為,為該序列中位數,為序列的中位數,則將序列中所有大於的數重設為,將序列中所有小於的數重設為;

  b)缺失值處理:得到新的因子暴露度序列後,將因子暴露度缺失的地方設為中信一級行業相同個股的平均值。

  c)行業市值中性化:將填充缺失值後的因子暴露度對行業啞變量和取對數後的市值做線性回歸,取殘差作為新的因子暴露度。

  d)標準化:將中性化處理後的因子暴露度序列減去其現在的均值、除以其標準差,得到一個新的近似服從分布的序列。

  4.訓練集和交叉驗證集的合成: 對於全連接神經網絡模型,在每個月末截面期,隨機選取每個月90%的樣本作為訓練集,每個月餘下10%的樣本作為交叉驗證集。

  5.樣本內訓練:在樣本內訓練集使用全連接神經網絡訓練模型。

  6.交叉驗證調參:模型訓練完成後,使用該模型對交叉驗證集進行預測。選取交叉驗證集與樣本外測試集正確率一致性高、且F1-score高的一組參數作為模型的最優參數。

  7.樣本外回測:確定最優參數後,以T月月末截面期所有樣本預處理後的特徵作為模型的輸入,得到每個樣本的預測值,將預測值視作合成後的因子,進行單因子分層回測。回測方法和之前的單因子測試報告相同,具體步驟參考下一小節。

  8.模型評價:我們以分層回測的結果作為模型評價指標。我們還將給出測試集的正確率、F1-score等衡量模型性能的指標。

  神經網絡模型參數設定

  1.隱藏層(hidden layer):神經網絡理論上可以採用4層或者更多的層,但是過多的隱藏層個數計算量過大,且容易造成過擬合,考慮到以上因素,本研究報告中採用含有2層隱藏層的神經網絡。

  2.神經元:網絡輸入層神經元節點數就是系統的因子(自變量)個數,輸出層神經元節點數就是系統目標分類數。隱層節點選取按經驗選取,一般設為輸入層節點數的75%。在系統訓練時,實際還要對不同的隱層節點數分別進行比較,最後確定出最合理的網絡結構。在本研究報告中,網絡輸入層節點個數是70(70個因子),最終輸出層節點個數為分類數量,我們採用三分類(上漲、中性、下跌)則輸出層節點個數為3,第1、2層隱藏層節點個數分別取為40、10,最終我們構建了一個70-40-10-3的全連接神經網絡模型。

  3.激活函數(activation):由上文介紹,激活函數可以為神經網絡加入非線性因素,以彌補線性模型的不足。考慮不同激活函數的特點,我們在隱藏層採用tanh激活函數,在輸出層採用Softmax激活函數。

  4.dropout:使用dropout可以有效減小過擬合概率。試想,訓練多個神經網絡讓它們共同表決,會比只訓練一個神經網絡更靠譜,因為每個神經網絡「過擬合」的方式各不相同,取它們的平均值可以就降低過擬合概率。dropout的原理是每次迭代時都隨機地從隱藏層上去除一部分神經元,每個神經元都隨機地與其他神經元進行組合,減小彼此之間的相互影響。dropout在大型深層網絡中特別有用。

  5.學習速率(learning rate):在經典的反向傳播算法中,學習速率是由經驗確定,學習速率越大,權重變化越大,收斂越快,但學習速率過大,會引起系統的振蕩;學習速率越小,系統更加穩定,但收斂速度會變慢。因此,訓練速率在不導致振蕩前提下,越大越好。

  6.優化函數(optimizer):神經網絡通過優化函數,改善訓練方式,來最小化(或最大化)損失函數。我們在模型測試過程中比較了GradientDescentOptimizer、MomentumOptimizer、AdamOptimizer優化函數的效果。

  7.最大迭代次數:一般期望模型在最大迭代次數內收斂,但由於神經網絡並不能保證在各種參數配置下迭代收斂,當結果不收斂時,需要設置一個最大迭代次數避免程序陷入死循環。受限於計算能力,本研究報告中最大迭代次數取10000次。

  全連接神經網絡模型測試結果

  模型正確率與F1-score分析

  下圖展示了全連接神經網絡模型每一期測試集的正確率和F1-score隨時間的變化情況。本研究報告採用三分類,在完全隨機的情況下,正確率值應該為33.3%,F1-score的值應該為0.333,交叉驗證集和測試集上的正確率和F1-score越高說明模型越好。全連接神經網絡模型交叉驗證集正確率為42.9%和樣本外測試集平均正確率為42.8%,交叉驗證集F1-score為0.39和樣本外測試集平均F1-score為0.38,交叉驗證集與樣本外測試集的正確率與F1-score具有高度一致性,說明本神經網絡模型在樣本外依然十分有效。

  分層回測分析

  使用神經網絡對股價做預測,在每個月底可以產生對全部個股下月收益的預測值。因此可以將神經網絡看作一個因子合成模型,即在每個月底將因子池中所有因子合成為一個「因子」。接下來,我們對該模型合成的這個「因子」(即個股下期收益預測值)進行分層回測,從各方面考察該模型的效果。這裡的分層測試邏輯和華泰金工前期單因子測試系列報告保持一致。

  分層測試詳細展示圖表包括:

  1. 分五層組合回測績效分析表(20110131~20171031)。其中組合1~組合5為按該因子從小到大排序構造的行業中性的分層組合。基準組合為行業中性的等權組合,具體來說就是將組合1~組合5合併,一級行業內部個股等權配置,行業權重按當期滬深300行業權重配置。多空組合是在假設所有個股可以賣空的基礎上,每月調倉時買入組合1,賣空組合5。回測模型在每個自然月最後一個交易日核算因子值,在下個自然月首個交易日按當日收盤價調倉(分層組合構建法等更多細節參見上一章「分層模型回測」小節)。

  2. 分五層組合回測淨值圖。按前面說明的回測方法計算組合1~組合5、基準組合的淨值,與滬深300、中證500淨值對比作圖。

  3. 分五層組合回測,用組合1~組合5的淨值除以基準組合淨值的示意圖。可以更清晰地展示各層組合在不同時期的效果。

  4. 組合1相對滬深300月超額收益分布直方圖。該直方圖以[-0.5%,0.5%]為中心區間,向正負無窮方向保持組距為1%延伸,在正負兩個方向上均延伸到最後一個頻數不為零的組為止(即維持組距一致,組數是根據樣本情況自適應調整的)。

  5. 分五層時的多空組合收益圖。再重複一下,多空組合是買入組合1、賣空組合5(月度調倉)的一個資產組合。多空組合收益率是由組合1的淨值除以組合5的淨值近似核算的。

  6. 分十層組合回測時,各層組合在不同年份間的收益率及排名表。每個單元格的內容為在指定年度某層組合的收益率(均為整年收益率),以及某層組合在全部十層組合中的收益率排名。最後一列是分層組合在2011~2017的排名的均值。

  7. 不同市值區間分層組合回測績效指標對比圖(分十層)。我們將全市場股票按市值排名前1/3,1/3~2/3,後1/3分成三個大類,在這三類股票中分別進行分層測試,基準組合構成方法同前面所述(注意每個大類對應的基準組合併不相同)。

  8. 不同行業間分層組合回測績效分析表(分五層)。我們在不同一級行業內部都做了分層測試,基準組合為各行業內該因子非空值的個股等權組合(注意每個行業對應的基準組合併不相同)。

  下圖是分五層組合回測績效分析表(20110131~20171031)。其中組合1~組合5為按該因子從小到大排序構造的行業中性的分層組合。基準組合為行業中性的等權組合,具體來說就是將組合1~組合5合併,一級行業內部個股等權配置,行業權重按當期滬深300行業權重配置。多空組合是在假設所有個股可以賣空的基礎上,每月調倉時買入組合1,賣空組合5。回測模型在每個自然月最後一個交易日核算因子值,在下個自然月首個交易日按當日收盤價調倉。

  下面四個圖依次為:

  1.分五層組合回測淨值圖。按前面說明的回測方法計算組合1~組合5、基準組合的淨值,與滬深300、中證500淨值對比作圖。

  2.分五層組合回測,用組合1~組合5的淨值除以基準組合淨值的示意圖。可以更清晰地展示各層組合在不同時期的效果。

  3.組合1相對滬深300月超額收益分布直方圖。該直方圖以[-0.5%,0.5%]為中心區間,向正負無窮方向保持組距為1%延伸,在正負兩個方向上均延伸到最後一個頻數不為零的組為止(即維持組距一致,組數是根據樣本情況自適應調整的)。

  4.分五層時的多空組合收益圖。再重複一下,多空組合是買入組合1、賣空組合5(月度調倉)的一個資產組合。多空組合收益率是由組合1的淨值除以組合5的淨值近似核算的。

  下圖為分十層組合回測時,各層組合在不同年份間的收益率及排名表。每個單元格的內容為在指定年度某層組合的收益率(均為整年收益率),以及某層組合在全部十層組合中的收益率排名。最後一列是分層組合在2011年至2017年的每年收益排名的均值。可以看出,組合1和組合10的表現十分穩定,在這7年間一直保持頭、尾的位次不變。整體來看組合1~10的年度排名均值服從單調關係,說明全連接神經網絡模型分層回測穩定性上佳。

  下圖是不同行業間分層組合回測績效分析表(分五層)。我們在不同一級行業內部都做了分層測試,基準組合為各行業內該因子非空值的個股等權組合(注意每個行業對應的基準組合併不相同)。

  全連接神經網絡選股指標比較

  我們構建了全連接神經網絡全A選股策略並進行回測,同時與線性回歸選股策略進行對比,各項指標詳見圖表25和圖表26。選股策略分為兩類:一類是行業中性策略,策略組合的行業配置與基準(滬深300、中證500、中證全指)保持一致,各一級行業中選N個股票等權配置(N=2,5,10,15,20);另一類是個股等權策略,直接在票池內不區分行業選N個股票等權配置(N=20,50,100,150,200),比較基準取為300等權、500等權、中證全指。三類策略均為月頻調倉,個股入選順序為它們在被測模型中的當月的預測值(連續值)順序。

  從圖表25和圖表26中可以看出,對於行業中性和個股等權的全A選股,全連接神經網絡相比線性回歸在年化超額收益率、信息比率整體上表現更好,但是最大回撤要大於線性回歸模型。

  我們沒有構建滬深300和中證500成份內選股策略,這是因為神經網絡模型適合於數據量較大的場景,而滬深300和中證500成份股組成的月頻多因子數據偏少,不適合應用在神經網絡模型中。

  全連接神經網絡選股策略詳細分析

  下面我們對策略組合的詳細回測情況加以展示。下圖中,我們展示了全A選股(行業中性,基準為中證500)策略的各種詳細評價指標。

  觀察下面的圖表可知,對於全連接神經網絡模型(ANN)的行業中性策略來說,隨著每個行業入選個股數目增多,年化收益率在下降、信息比率和Calmar比率先升後降,最優每個行業入選個股數目在16個左右。

  總結和展望

  以上本文對結構簡單的全連接神經網絡模型進行了系統的測試,並且考察了部分模型參數的敏感性,初步得到以下幾個結論:

  1. 全連接神經網絡模型本身已具備不錯的選股能力。全連接神經網絡對個股做「漲、平、跌」三分類時在測試集正確率為42.9%,F1-score為38.0%。全連接神經網絡模型與一些更複雜的神經網絡模型(如卷積神經網絡、循環神經網絡、長短記憶神經網絡等)相比,其結構更加簡單、容易理解、計算效率高;與傳統的線性模型相比,能夠引入非線性擬合因素,並且在大量股票數據的支持下可能會「學習」到股票市場更精確的運行規律。

  2. 我們以全部A股作為股票池,利用全連接神經網絡模型構建選股策略。在回測時段2011-01-31至 2017-10-31內,全連接神經網絡模型行業中性選股策略(每個行業選股數目分別為2,5,10,15,20)相對於基準中證500指數的年化超額收益在19.15%~25.36%之間,超額收益最大回撤在14.72%~18.65%之間,信息比率在2.81~3.35之間,除了最大回撤,表現優於線性回歸。總的來看,全連接神經網絡在年化超額收益率、信息比率上優於線性回歸算法,但是最大回撤普遍大於線性回歸算法。

  通過以上的測試和討論,我們初步理解了神經網絡模型應用於多因子選股的一些規律。同時也引申出更多的問題。例如:

  1. 在神經網絡構建過程中,網絡層數、神經元個數、激活函數、優化函數、網格結構等等使得神經模型變得十分複雜,在實際問題中無法對所有網絡結構進行遍歷選擇最優模型。如何在有限的計算資源下,設計出預測能力更強的神經網絡模型?

  2. 神經網絡模型訓練與預測過程比傳統線性模型的所需的計算資源與時間要多許多,如何在一定計算條件下合理優化模型,提高計算效率?

  3. 在結構相對簡單的全連接神經網絡中,其算法已經比較複雜,具有經濟學含義的因子在模型訓練過程中解釋起來變得十分困難,如何合理解釋複雜神經網絡模型的投資邏輯,明白模型的經濟學含義,對於神經網絡模型在投資領域的推廣具有重要的意義。

  4. 神經網絡真正強大的地方在於它處理海量非線性數據的能力。如果我們將神經網絡模型應用到周頻、日頻甚至日內股價規律的挖掘上,是否能夠顯著超越其它傳統量化模型?這些我們將在後續的報告中予以探索,敬請期待。

  風險提示

  神經網絡模型的輸入數據為個股的因子特徵,若市場投資環境發生轉變,則因子可能會失效,通過神經網絡模型構建的選股策略也隨之有失效風險。(華泰證券研究員 林曉明)

 

相關焦點

  • 【華泰金工林曉明團隊】金工: 人工智慧選股之隨機森林模型
    本文首發於微信公眾號:華泰證券(601688,股吧)研究所。文章內容屬作者個人觀點,不代表和訊網立場。投資者據此操作,風險請自擔。我們還根據模型的預測結果構建了滬深300成份內選股、中證500成份內選股和全A選股策略,通過年化收益率、信息比率、最大回撤等指標綜合評價策略效果。  隨機森林選股模型的收益和信息比率相較於線性回歸具有較大優勢  對於滬深300成份股內選股的行業中性策略(每個行業選6隻個股),隨機森林模型的超額收益為6.2%,信息比率為1.74。
  • 人工智慧之卷積神經網絡(CNN)
    前言:人工智慧機器學習有關算法內容,請參見公眾號「科技優化生活」之前相關文章。人工智慧之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下卷積神經網絡(CNN)算法。  CNN引入意義:  在全連接神經網絡中(下面左圖),每相鄰兩層之間的每個神經元之間都是有邊相連的。當輸入層的特徵維度變得很高時,這時全連接網絡需要訓練的參數就會增大很多,計算速度就會變得很慢。
  • 人工智慧之卷積神經網絡
    神經網絡的概念和組成部分人工神經網絡(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經網絡(NNs)或稱作連接模型(Connection Model),它是一種模仿動物神經網絡行為特徵,進行分布式並行信息處理的算法數學模型。這種網絡依靠系統的複雜程度,通過調整內部大量節點之間相互連接的關係,從而達到處理信息的目的。
  • 【華泰金工林曉明團隊】華泰單因子測試之歷史分位數因子
    本文構造了六大類財務質量類歷史分位數因子,其計算邏輯和成長類因子有相似之處,在剔除了行業、市值、成長和對應原始因子的影響後,盈利能力類歷史分位數因子選股效果最好,收益質量、營運能力類歷史分位數因子次之,現金流量、資本結構、償債能力類歷史分位數因子選股效果較差。
  • 華泰證券資管:打造特色產品線,大力挖掘數位化多維價值
    成立以來,華泰證券資管在傳統固收、ABS、另類跨境、金融科技四大業務領域都有了一定積累。在券商資管中,華泰證券資管的營業收入和淨利潤均居於前列。2020年,華泰證券資管全面推進落實華泰證券科技賦能下財富管理和機構業務「雙輪驅動」戰略部署,充分依託全業務鏈資源,秉持一貫的超前開拓創新意識,推進數位化轉型,打造面向未來的差異化核心競爭力。
  • 華泰證券-建議關注銅箔龍頭
    原標題:華泰證券-建議關注銅箔龍頭   【研究報告內容摘要】   銅箔受益於萬億新基建,高端
  • 【華泰金工林曉明團隊】金工:人工智慧選股之樸素貝葉斯模型
    本文中,我們從樸素貝葉斯算法入手,分析比較了幾種常見的生成模型(包括線性判別分析和二次判別分析)應用於多因子選股的異同,希望對本領域的投資者產生有實用意義的參考價值。  樸素貝葉斯模型構建細節:月頻滾動訓練,結合基於時間序列的交叉驗證  樸素貝葉斯模型的構建包括特徵和標籤提取、特徵預處理、訓練集合成和滾動訓練等步驟。
  • 「研究」人工神經網絡的常用連接模型
    根據神經元之間的相互結合關係和作用方式,人工神經網絡可有如下幾種典型的結合形式:(1)前向網絡:網絡的結構如圖(a),(b)所示。網絡中的神經元是分層排列的,每個神經元只與前一層的神經元相連接,隱含層的層數可以是一層或多層。
  • 人工智慧神經網絡你知道是什麼嗎
    這個無需解釋太多,因為通過各種科幻電影我們已經對人工智慧很熟悉了。大家現在感興趣的應該是——如何實現人工智慧? 從1956年夏季首次提出「人工智慧」這一術語開始,科學家們嘗試了各種方法來實現它。這些方法包括專家系統,決策樹、歸納邏輯、聚類等等,但這些都是假智能。直到人工神經網絡技術的出現,才讓機器擁有了「真智能」。 為什麼說之前的方法都是假智能呢?
  • 人工智慧再勝圍棋高手 基金版阿爾法狗卻被傳統選股打敗?
    人工智慧再勝圍棋高手 基金版阿爾法狗卻被傳統選股打敗?不過,這場人類智慧與人工智慧的巔峰對決,除了吸引各界的廣泛關注,也讓大家對人工智慧在眾多領域的發展前景充滿期待。《每日經濟新聞》記者注意到,在公募基金,智能程序、量化模型早就進入了基金管理團隊,近年來各種量化基金更是井噴式發展。但與其帶給我們「高大上」的印象不同,在投資上,量化基金似乎並沒有領先傳統的主動管理型基金很多,大多業績平平,甚至出現較大虧損。
  • 人工智慧神經網絡和生物大腦有什麼區別 神經網絡將如何發展
    人工與自然學習在人工智慧的整個歷史中,科學家一直將自然作為開發能夠表現出智能行為的技術的指南。自從該領域的歷史開始以來,符號人工智慧和人工神經網絡就構成了開發AI系統的兩種主要方法。在AI歷史的前幾十年中,由程式設計師明確定義系統規則的符號系統佔據了主導地位,而如今,神經網絡已成為人工智慧大多數發展的主要亮點。人工神經網絡受到其生物學對應物的啟發,並試圖模仿有機大腦的學習行為。但是正如Zador解釋的那樣,人工神經網絡中的學習與大腦中發生的事情有很大不同。
  • 人工智慧瓶頸之神經網絡的可解釋探討
    基於深度神經網絡的人工智慧系統主要面臨結果不可驗證和過程不可審查兩大安全問題。結果不可驗證指的是基於深度神經網絡的人工智慧系統輸出結果無法被判斷、預測,智能系統行為邊界難以掌握,導致系統不可控,本質上是深度神經網絡結果不可判讀。過程不可審查指的是系統決策背後的邏輯不明,代碼實現缺乏可信度,本質上是深度神經網絡的實現機理與決策邏輯難以理解。
  • 尾狀核(caudate)——神經網絡連接
    丘腦——腦網絡連接內囊纖維束走形及毗鄰關係情感環路——眶額皮層伏隔核——情感世界腦網絡(七夕特供)英文名稱:caudate中文名稱:尾狀核名詞解釋:呈橢圓形在神經外科、神經內科、康復科、影像科、先天發育畸形、精神科、人工智慧等多個領域有著廣泛的應用前景。
  • 機器學習與人工智慧之六:人工神經網絡
    觀眾老爺這期講機器學習的神經網絡算法,本來小編想先介紹基於我們人類知識和規則的機器學習的,但想著打鐵要趁熱,上期我們將人類的視覺系統進行了建模,今天咱們了解一下機器學習的人工神經網絡算法,這樣能比對出機器與人的差異,也能深入理解人工智慧算法具體的實現和原理。
  • 環信人工智慧專家李理:詳解卷積神經網絡
    前面的話 如果讀者自己嘗試了上一部分的代碼,調過3層和5層全連接的神經網絡的參數,我們會發現神經網絡的層數越多,參數(超參數)就越難調。但是如果參數調得好,深的網絡的效果確實比較淺的好(這也是為什麼我們要搞深度學習的原因)。所以深度學習有這樣的說法:「三個 bound 不如一個 heuristic,三個 heuristic 不如一個trick」。
  • 人工智慧系列(六) 深度學習中的神經網絡
    原力君在系列的第五篇《人工智慧系列(五) 深度學習簡介》中提到深度學習可以看作是一種更高級的函數擬合方法;人工神經網絡、激活函數、代價函數、梯度下降、反向傳播是深度學習的幾個關鍵點;常見的深度學習神經網絡結構有多層感知機、DNN、CNN、RNN等。
  • 華泰柏瑞量化創享混合A : 華泰柏瑞量化創享混合型證券投資基金...
    華泰柏瑞基金管理有限公司 華泰柏瑞量化創享混合型證券投資基金 招募說明書 基金管理人:華泰柏瑞基金管理有限公司 基金託管人:交通銀行股份有限公司 華泰柏瑞量化創享混合型證券投資基金招募說明書 重要提示 華泰柏瑞量化創享混合型證券投資基金
  • 江蘇銀行:中銀國際證券股份有限公司、華泰聯合證券有限責任公司...
    中銀國際證券股份有限公司、華泰聯合證券有限責任公司 關於江蘇銀行股份有限公司 配股公開發行證券 之 上市保薦書 聯席保薦機構(聯席主承銷商)全稱_無輔助線標準 二〇二一年一月 中銀國際證券股份有限公司、華泰聯合證券有限責任公司 關於江蘇銀行股份有限公司 配股公開發行證券之上市保薦書 上海證券交易所: 經中國證券監督管理委員會(以下簡稱「中國證監會」)「證監許可[2020]2952 號」文核准,江蘇銀行
  • 神經網絡基礎:七種網絡單元,四種層連接方式
    選自THE ASIMOV INSTITUTE作者:FJODOR VAN VEEN機器之心編譯參與:黃小天、李亞洲2016 年 9 月,Fjodor Van Veen 寫了一篇名為《The Neural Network Zoo》的文章,全面盤點了神經網絡的大量框架,並繪製了直觀示意圖進行說明。
  • 新型神經網絡晶片:由憶阻器構成,為人工智慧提速!
    導讀人工智慧發展迅猛,而時間和能量的大量損耗仍然是制約其性能的一個瓶頸。最近,法國科學家利用憶阻器開發出一種神經網絡晶片,對於人工智慧來說,不僅降低它的能耗,而且還提升了速度。(圖片來源於:Sren Boyn/法國國家科學研究院)圖解:這是一幅藝術家對於電子神經突觸的印象圖,其中的粒子代表流過氧化物的電子,類似生物神經突觸中的神經傳導物質。電子的流動取決於氧化物的鐵電疇結構,受到電壓脈衝控制。關鍵技術提示:人工智慧、神經網絡、憶阻器。