2023年量化選股策略 基于卷積神經(jīng)網(wǎng)絡(luò)的股價走勢AI識別與分類_第1頁
2023年量化選股策略 基于卷積神經(jīng)網(wǎng)絡(luò)的股價走勢AI識別與分類_第2頁
2023年量化選股策略 基于卷積神經(jīng)網(wǎng)絡(luò)的股價走勢AI識別與分類_第3頁
2023年量化選股策略 基于卷積神經(jīng)網(wǎng)絡(luò)的股價走勢AI識別與分類_第4頁
2023年量化選股策略 基于卷積神經(jīng)網(wǎng)絡(luò)的股價走勢AI識別與分類_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

2023年量化選股策略基于卷積神經(jīng)網(wǎng)絡(luò)的股價走勢AI識別與分類一、背景介紹(一)基于價量數(shù)據(jù)的機器學(xué)習(xí)量化選股策略基于價量數(shù)據(jù)對未來股價走勢進行預(yù)測作為一類重要的機器學(xué)習(xí)量化選股策略,在過去受到了廣泛的研究和應(yīng)用。由于個股的價量數(shù)據(jù)是隨著交易活動的進行而產(chǎn)生的,其本質(zhì)上是關(guān)于時間的一組序列。因此,為了建模價量數(shù)據(jù)與未來股價走勢之間的關(guān)系,大多數(shù)研究方法自然而然地使用了循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)或Transformer這兩大類時序模型。在這些方法中,模型的輸入是關(guān)于價量數(shù)據(jù)的一維或多維數(shù)組,輸出則是股價的未來走勢。然而,盡管時序模型在一定程度上能夠捕捉到價量序列中諸如價格、交易量的上漲或下跌及其相互交織的高維信息,但其無法對價格和交易量的走勢形態(tài)及其變化進行有效識別。舉個例子對此進行解釋。以人類視角來看,通常在對股價的未來走勢進行預(yù)測時,并不會選擇直接觀測一組關(guān)于價量的序列,因為能從中捕獲到的不只是數(shù)字上的漲跌。為了能更好地捕捉到價格和交易量的形態(tài)走勢,通常會選擇觀測包含k線圖、移動平均價、交易量、MACD數(shù)據(jù)的圖表,而不是一組純粹的數(shù)字。因此,本研究從上述觀點出發(fā),舍棄了使用時序模型對序列數(shù)據(jù)進行建模的傳統(tǒng)方法。取而代之的是,本研究采用卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,CNN)對標(biāo)準(zhǔn)化價量數(shù)據(jù)圖表和未來股價走勢進行建模,以實現(xiàn)對未來股價走勢的預(yù)測。對此,本方法首先構(gòu)建了包含k線圖、移動平均價、交易量、MACD數(shù)據(jù)的標(biāo)準(zhǔn)化價量數(shù)據(jù)圖表(如圖2)。然后,設(shè)計了能捕捉圖表中價量數(shù)據(jù)走勢形態(tài)的卷積神經(jīng)網(wǎng)絡(luò)來對其與未來股價走勢進行建模。(二)循環(huán)神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)是一類以序列數(shù)據(jù)為輸入,在序列的演進方向進行遞歸且所有節(jié)點(循環(huán)單元)按鏈?zhǔn)竭B接的遞歸神經(jīng)網(wǎng)絡(luò)。盡管循環(huán)神經(jīng)網(wǎng)絡(luò)演進出了長短期記憶(LongShort-TermMemory,LSTM)、門控循環(huán)單元(GatedRecurrentUnits,GRU)等多種形式,但其基本結(jié)構(gòu)相同,如圖3所示。假設(shè)該網(wǎng)絡(luò)以一組包含價格和交易量的二維序列數(shù)據(jù)為輸入,循環(huán)神經(jīng)網(wǎng)絡(luò)節(jié)點首先將初始化的隱藏層狀態(tài)(HiddenState)h0和第一個時間節(jié)點上的價格和交易量數(shù)據(jù)(即0.08和1000)作為輸入,在信息處理后輸出下一個隱藏層狀態(tài)h1。隨后在下一個節(jié)點的計算中,則以上一個隱藏層狀態(tài)h1和第二個時間節(jié)點上的價格和交易量數(shù)據(jù)(即-0.03和8000)作為輸入,然后輸出下一個隱藏層狀態(tài)h2,如此進行直至處理完輸入中的最后一個時間節(jié)點的數(shù)據(jù)。在處理完所有數(shù)據(jù)后,通常將最后一個隱藏層狀態(tài)hn作為最終輸出,使用一個前饋神經(jīng)網(wǎng)絡(luò)(Feedforwardneuralnetwork)對其進行降維后與未來股價走勢進行建模,以此來實現(xiàn)模型的訓(xùn)練和回測。此類循環(huán)神經(jīng)網(wǎng)絡(luò)雖然在一定程度上能夠捕捉到序列數(shù)據(jù)中的數(shù)字關(guān)系,但其無法對股票市場中價格和交易量的走勢形態(tài)進行有效識別。(三)Transformer模型Transformer是近年來受到廣泛研究和應(yīng)用的一種時序模型,其通過多頭注意力機制(Multi-HeadAttention)來捕獲輸入時序數(shù)據(jù)中的前后關(guān)系,結(jié)構(gòu)如圖4所示。與傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)相比,Transformer克服了短期記憶的缺點,具有能建模超長序列數(shù)據(jù)之間關(guān)系的能力。此外,Transformer能夠并行化處理數(shù)據(jù),替代了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)遞歸式處理數(shù)據(jù)的范式,大大提高了運算速度。盡管如此,Transformer作為一個時序模型,其仍無法對股票市場中價格和交易量的走勢形態(tài)進行有效識別。(四)卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)是當(dāng)今計算機視覺領(lǐng)域的重要基礎(chǔ)模型之一,其被廣泛應(yīng)用在圖像識別領(lǐng)域。卷積神經(jīng)網(wǎng)絡(luò)的雛形為日本學(xué)者福島邦彥(KunihikoFukushima)在其1979和1980年發(fā)表的論文中提出的neocognitron模型。neocognitron模型由S層(Simple-Layer)和C層(Complex-Layer)構(gòu)成,是一個具有深度結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)。其通過S層單元和C層單元分別對圖像特征進行提取、接收和響應(yīng)不同感受野返回的特征。由于neocognitron模型初步實現(xiàn)了卷積神經(jīng)網(wǎng)絡(luò)中卷積層(ConvolutionLayer)和池化層(PoolingLayer)的功能,其在學(xué)界內(nèi)被認(rèn)為是卷積神經(jīng)網(wǎng)絡(luò)領(lǐng)域的開創(chuàng)性研究工作。1987年,AlexanderWaibel等提出第一個較為完備的卷積神經(jīng)網(wǎng)絡(luò),即網(wǎng)絡(luò)時間延遲網(wǎng)絡(luò)(TimeDelayNeuralNetwork,TDNN)。TDNN使用FFT預(yù)處理的語音信號作為輸入,由2個一維卷積核組成隱藏層,以提取語音信號頻率域上的平移不變特征,其在語音識別領(lǐng)域上的表現(xiàn)超過了同等條件下當(dāng)時的主流算法隱馬爾可夫模型(HiddenMarkovModel,HMM)。1988年,第一個應(yīng)用于醫(yī)學(xué)影像檢測的二維卷積神經(jīng)網(wǎng)絡(luò)由WeiZhang等提出。1989年,YannLeCun構(gòu)建了包含2個卷積層、2個全連接層、共計6萬個學(xué)習(xí)參數(shù)的卷積神經(jīng)網(wǎng)絡(luò)LeNet。在LeCun對其網(wǎng)絡(luò)結(jié)構(gòu)進行論述時首次使用了“卷積”一詞,“卷積神經(jīng)網(wǎng)絡(luò)”因此得名。1998年,YannLeCun等人在LeNet的基礎(chǔ)上構(gòu)建了更加完備的卷積神經(jīng)網(wǎng)絡(luò)LeNet-5。LeNet-5的結(jié)構(gòu)如圖5所示,其定義了現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)。LeNet-5在手寫數(shù)字識別任務(wù)上的成功使得卷積神經(jīng)網(wǎng)絡(luò)得到了廣泛關(guān)注。2003年,微軟基于卷積神經(jīng)網(wǎng)絡(luò)開發(fā)了光學(xué)字符讀?。∣pticalCharacterRecognition,OCR)系統(tǒng)。2006年,隨著深度學(xué)習(xí)理論的提出,卷積神經(jīng)網(wǎng)絡(luò)的表征學(xué)習(xí)能力得到了更廣泛的關(guān)注,并隨著CPU、GPU等數(shù)值計算硬件設(shè)備的研發(fā)得到了快速發(fā)展。自2012年的AlexNet開始,卷積神經(jīng)網(wǎng)絡(luò)多次成為ImageNet大規(guī)模視覺識別競賽(ImageNetLargeScaleVisualRecognitionChallenge,ILSVRC)的優(yōu)勝算法,包括2013年的ZFNet、2014年的VGGNet、GoogLeNet和2015年的ResNet。以圖像識別中最經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)VGG16為例,其共包含了13個卷積層、3個全連接層、3個最大值池化層以及一個softmax分類層,結(jié)構(gòu)如圖6所示。下面對卷積神經(jīng)網(wǎng)絡(luò)中的主要部分進行介紹。1.卷積層卷積層進行的是卷積(Convolution)即乘加運算,其目的與傳統(tǒng)圖像處理中的濾波器運算相似。如圖7所示,將卷積核與輸入數(shù)據(jù)進行卷積運算。在這個例子中,輸入數(shù)據(jù)和卷積核都是有長和高的二維矩陣,輸入的大小為(4,4),卷積核的大小為(3,3),輸出的大小為(2,2)。如圖中所示,在每個位置上將卷積核的元素與輸入的元素相乘再求和,即乘積累加運算。然后將經(jīng)過卷積核的運算結(jié)果輸出到相應(yīng)的位置。在逐次將卷積核與輸入數(shù)據(jù)進行卷積運算并加上偏置量后即得到卷積層的輸出。由于模型運算的需要,通常在卷積運算前會通過填充(adding)操作向輸入數(shù)據(jù)的周圍填入固定的數(shù)值(比如0等)。如圖8所示,將幅度為1的填充操作應(yīng)用于輸入大小為(4,4)的數(shù)據(jù)。經(jīng)過填充后的輸入數(shù)據(jù)大小變?yōu)椋?,6),將其與(3,3)的卷積核進行卷積運算得到(4,4)的輸出數(shù)據(jù)。使用填充操作的目的是調(diào)整輸出特征的大小。比如,將(3,3)的卷積核應(yīng)用于大小為(4,4)的輸入數(shù)據(jù)時,輸出數(shù)據(jù)的大小變?yōu)椋?,2),也就是說輸出數(shù)據(jù)的大小比輸入數(shù)據(jù)的大小縮減了2個元素。在深度網(wǎng)絡(luò)中包含了眾多的卷積運算操作,如果每次卷積運算都使數(shù)據(jù)的維度大小縮減,那么就有可能導(dǎo)致某一層數(shù)據(jù)的輸出大小為1,使卷積運算無法繼續(xù)運行。而填充操作則可以避免這種情況。在上述例子中所應(yīng)用的填充幅度大小為1,使得輸入數(shù)據(jù)和輸出數(shù)據(jù)的大小得以保持,也就是說卷積運算可以在輸入和輸出兩端維度大小不變的情況下進行。卷積的運算間隔稱為步幅(Stride)。2.池化層池化(Pooling)操作具有平移不變性、旋轉(zhuǎn)不變性和尺度不變性,可以起到降維、去除冗余信息的作用,從而達到降低網(wǎng)絡(luò)復(fù)雜度、減小計算量的目的。此外,池化本身可以實現(xiàn)非線性運算,還可以提高模型的魯棒性。池化通常包括兩種:最大值池化(MaxPooling)和平均池化(AveragePooling)。最大值池化是從目標(biāo)區(qū)域中取出最大值,平均池化則是計算目標(biāo)區(qū)域中的平均值,在目標(biāo)檢測領(lǐng)域通常使用最大值池化。圖10是一個以步幅為2的2×2最大值池化運算示意圖,其中2x2代表目標(biāo)區(qū)域的大小。其2×2窗口的移動間隔為2個元素,從其中取出最大的元素。通過卷積運算,卷積神經(jīng)網(wǎng)絡(luò)能有效捕捉到圖像中的局部結(jié)構(gòu)特征,并通過深層網(wǎng)絡(luò)不斷提高感受野(ReceptiveField)的大小,從而實現(xiàn)對圖片全局特征的提取。因此,卷積神經(jīng)網(wǎng)絡(luò)能夠有效識別價量數(shù)據(jù)圖表中價格和交易量的走勢形態(tài),并與未來股價進行建模。二、基于卷積神經(jīng)網(wǎng)絡(luò)的價量數(shù)據(jù)圖表化選股策略(一)標(biāo)準(zhǔn)化價量數(shù)據(jù)圖表為了能更好地使用卷積神經(jīng)網(wǎng)絡(luò)對價量數(shù)據(jù)圖表與未來股價走勢進行建模,本方法對每個個股窗口期內(nèi)的價量數(shù)據(jù)構(gòu)建了標(biāo)準(zhǔn)化的圖表,如圖11所示。該圖表包含了窗口期大小為20日的價量數(shù)據(jù),其由三部分組成:1.圖表的上部分由k線圖和移動平均線構(gòu)成,包含了開、高、低、收價格,以及若干股價的移動平均線,如MA5、MA10等。。2.圖表的中部分由當(dāng)日對應(yīng)的成交量構(gòu)成。3.圖表的下部分由股價的MACD信息構(gòu)成,其中短期和長期移動平均線的窗口期。由此構(gòu)成了信息豐富的標(biāo)準(zhǔn)化價量數(shù)據(jù)圖表。標(biāo)準(zhǔn)化圖表構(gòu)建完畢后,全市場范圍內(nèi)從2005年至2023年期間的圖表數(shù)據(jù)量達115Gb,遠超于同期以序列形式表達的價量數(shù)據(jù),后者數(shù)據(jù)量僅為2Gb不到。(二)價量數(shù)據(jù)圖表卷積神經(jīng)網(wǎng)絡(luò)為了對標(biāo)準(zhǔn)化圖表和股價未來走勢進行建模,本方法構(gòu)建了卷積神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如圖12所示。輸入圖片經(jīng)過卷積結(jié)構(gòu)后得到了512x10x10的特征圖,將其攤平后得到51200維度的特征后送入一個全連接神經(jīng)網(wǎng)絡(luò)。模型的最終輸出為3個概率,分別對應(yīng)個股在未來截面日上收益率的百分位,即后1/3、中1/3、前1/3,以表示跌、平、漲。最終以股票上漲的概率作為因子進行選股。在模型的實現(xiàn)細(xì)節(jié)上,采用Xavier、Adam化器等技術(shù)對模型進行訓(xùn)練;采用訓(xùn)練數(shù)據(jù)外的驗證集對訓(xùn)練中的模型進行驗證,以確定最優(yōu)早停(EarlyStopping)時點。通過分別訓(xùn)練兩個不同的模型,將包含過去20日價量數(shù)據(jù)的標(biāo)準(zhǔn)化圖表,與未來5日、20日的個股收益情況進行建模。在下文中,這以I{x}R{y}來表示,其中x為價量數(shù)據(jù)圖表的窗口大小,y為預(yù)測未來y日的收益情況,換倉周期與y保持一致。即I20R5表示使用包含過去20日價量數(shù)據(jù)的標(biāo)準(zhǔn)化圖表來預(yù)測未來5個交易日的收益情況。(三)特征可視化在完成卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練后,以圖12為例作為標(biāo)準(zhǔn)化價量數(shù)據(jù)圖表對模型進行輸入,分別對模型中的4個卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的輸出在特征維度隨機抽取9張?zhí)卣鲌D進行可視化,結(jié)果如圖13-16所示。從特征可視化結(jié)果來看,卷積層1和卷積層2作為低維度特征提取器,其關(guān)注到了整幅標(biāo)準(zhǔn)化價量數(shù)據(jù)圖表中的信息,均同時涵蓋了k線圖、移動平均線、交易量以及MACD信息。而卷積層3和卷積層4作為高維度特征提取器,其對圖表中代表不同信息的不同部位的關(guān)注點開始發(fā)生分化,有的特征圖重點捕捉k線圖、移動平均線中的信息,而有的特征圖則重點捕捉交易量以及MACD中的信息。與此同時,也有的特征圖關(guān)注到了全局信息。由此可見,訓(xùn)練后的卷積神經(jīng)網(wǎng)絡(luò)能對標(biāo)準(zhǔn)化的價量數(shù)據(jù)圖表進行有效的特征提取,識別出其中的價格以及交易量形態(tài)走勢信息,從而與未來的股價走勢進行建模,實現(xiàn)對未來股價的預(yù)測。三、實證分析(一)數(shù)據(jù)說明選股范圍:全市場,滬深300,中證500,中證800,中證1000,創(chuàng)業(yè)板股票預(yù)處理:剔除非上市、摘牌、ST/*ST、漲跌停板、上市未滿1年股票因子預(yù)處理:MAD去極值、Z-Score標(biāo)準(zhǔn)化、行業(yè)市值中性化訓(xùn)練數(shù)據(jù):全市場2005年1月~2014年12月。驗證數(shù)據(jù):全市場2015年2月~2019年12月(與訓(xùn)練數(shù)據(jù)間隔1個月防止數(shù)據(jù)暴露)。回測區(qū)間:2020年2月~2023年2月(與驗證數(shù)據(jù)間隔1個月防止數(shù)據(jù)暴露)分檔方式:根據(jù)當(dāng)期預(yù)測的個股價格未來上漲概率,從大到小分為10檔調(diào)倉周期:每5或20個交易日交易費用:千分之三(賣出時收取)(二)I20R20因子分檔表現(xiàn)I20R20表示使用包含過去20日價量數(shù)據(jù)的標(biāo)準(zhǔn)化圖表來預(yù)測未來20個交易日的收益情況,并以20個交易日為周期進行調(diào)倉。本文同時比較了是否進行行業(yè)市值中性化的結(jié)果。從結(jié)果來看,I20R20在各板塊的分檔表現(xiàn)較為顯著,在整體上無中性化的分檔單調(diào)性優(yōu)于中性化后的單調(diào)性。(三)I20R5因子分檔表現(xiàn)I20R5表示使用包含過去20日價量數(shù)據(jù)的標(biāo)準(zhǔn)化圖表來預(yù)測未來5個交易日的收益情況,并以5個交易日為周期進行調(diào)倉。從結(jié)果來看,I20R5在各板塊的分檔表現(xiàn)較為顯著,在整體上無中性化的分檔單調(diào)性優(yōu)于中性化后的單調(diào)性。(四)I20R20因子表現(xiàn)統(tǒng)計中性化前,I20R20因子在全市場、滬深300、中證500、中證800、中證1000、創(chuàng)業(yè)板中的RankIC均值分別為5.81%、5.15%、4.53%、4.61%、5.15%、6.40%,多頭分別對應(yīng)板塊指數(shù)獲得了21.06%、8.76%、10.70%、12.04%、12.54%、11.62%的超額年化收益率;中性化后,I20R20因子在全市場、滬深300、中證500、中證800、中證1000、創(chuàng)業(yè)板中的RankIC均值分別為5.11%、4.21%、3.43%、3.75%、4.85%、5.13%,多頭分別對應(yīng)板塊指數(shù)獲得了18.82%、10.30%、9.07%、10.76%、12.29%、11.40%的超額年化收益率。(五)I20R5因子表現(xiàn)統(tǒng)計中性化前,I20R5因子在全市場、滬深300、中證500、中證800、中證1000、創(chuàng)業(yè)板中的RankIC均值分別為3.64%、3.34%、3.26%、3.19%、3.65%、4.20%,多頭分別對應(yīng)板塊指數(shù)獲得了15.93%、9.77%、3.79%、8.76、10.82%、11.32%的超額年化收益率;中性化后,I20R5因子在全市場、滬深300、中證500、中證800、中證1000、創(chuàng)業(yè)板中的RankIC均值

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論