關(guān)鍵詞: abu 量化系統(tǒng) 股票預(yù)測(cè) 邏輯線性回歸 量化交易 機(jī)器學(xué)習(xí)
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,許多傳統(tǒng)行業(yè)(包括傳統(tǒng)金融行業(yè))也在不斷地改變工作模式和流程,并且希望借助互聯(lián)網(wǎng)技術(shù)得到進(jìn)一步的發(fā)展。量化交易在20 世紀(jì)70 年代開始形成。1972 年,紐約證券交易所采用了交易訂單電子傳輸系統(tǒng)(Designated Order Turnaround,DOT),電子化交易得到了很多人的關(guān)注。截至目前,量化交易發(fā)展的速度越來越快,成為了股市交易當(dāng)中的主要發(fā)展力量。
與其他國家相比,我國量化交易起步時(shí)間較晚,但發(fā)展的速度極快。2004 年我國出現(xiàn)了第一只涉足量化領(lǐng)域的公募基金——光大保德信量化基金,在這之后經(jīng)過一段時(shí)間的發(fā)展,量化領(lǐng)域的基金在數(shù)量上也有了很大的提升。尤其是近年來由于疫情和國內(nèi)外局勢(shì)的影響,我國的經(jīng)濟(jì)發(fā)展?fàn)顩r十分低迷,今年各大企業(yè)都出現(xiàn)了股價(jià)下跌的情況,股市出現(xiàn)較大波動(dòng);傳統(tǒng)的投資策略已經(jīng)不適用現(xiàn)在的新形勢(shì),經(jīng)濟(jì)低迷的背景下,投資者更希望能夠獲得穩(wěn)定的投資收入。隨著人工智能迅猛發(fā)展與金融衍生品不斷完善和算法投資受到的關(guān)注度持續(xù)升溫,量化投資策略在國內(nèi)得到了飛速發(fā)展。
1 相關(guān)研究
目前,國內(nèi)一部分研究員開始利用智能算法構(gòu)建交易量化策略,使量化程序具備一定的演變能力。張戈利用Copula 函數(shù)構(gòu)建趨勢(shì)交易策略[1]。張玉等人對(duì)傳統(tǒng)線性預(yù)測(cè)方法進(jìn)行了改進(jìn)和提升,提出了支持向量機(jī)預(yù)測(cè)的模型,此模型在很大程度上解決了傳統(tǒng)新型預(yù)測(cè)方法在預(yù)測(cè)非線性石油期貨價(jià)格這種隨機(jī)性強(qiáng)、影響因素復(fù)雜的價(jià)格變化上誤差大、準(zhǔn)確度低的問題。此模型受到許多學(xué)者的支持,實(shí)證研究上他們采用紐約商品交易所的石油期貨價(jià)格作為研究對(duì)象,其研究結(jié)果表明改進(jìn)后的新模型的預(yù)測(cè)精度大大提高[2]。除了在研究石油期貨價(jià)格上有新的進(jìn)展,支持向量機(jī)預(yù)測(cè)模型在其他領(lǐng)域也有很大的適用空間。張鳳廷對(duì)支持向量機(jī)預(yù)測(cè)模型進(jìn)行優(yōu)化,結(jié)合粒子群算法以及遺傳算法對(duì)股指期貨進(jìn)行回歸預(yù)測(cè),實(shí)證結(jié)果顯示優(yōu)化后的支持向量機(jī)預(yù)測(cè)模型對(duì)股指期貨的回歸預(yù)測(cè)的預(yù)測(cè)效果具有很大的提升[3]。胡謙利用量化選股構(gòu)建量化投資,機(jī)器學(xué)習(xí)中的分類算法使用GBDT 和GBRank,分別基于模式識(shí)別和動(dòng)量反轉(zhuǎn)效應(yīng)制定短期選股和長期選股的策略,實(shí)驗(yàn)結(jié)果表明GBDT 排序算法具有良好的盈利性[4]。郭洪濤等人對(duì)量化投資中的聚類、貝葉斯判別及因子分析進(jìn)行應(yīng)用研究[5]。張文俊等人對(duì)樣本數(shù)據(jù)進(jìn)行了測(cè)試,結(jié)果表明:K-最近鄰具有較高的分類精度,支持向量機(jī)具有較高的命中率[6]。姚曈彤嘗試將AdaBoost 算法應(yīng)用于量化交易,并根據(jù)金融市場(chǎng)行情特點(diǎn)對(duì)算法加以改進(jìn)回測(cè)實(shí)證改進(jìn)算法的“集成效果”明顯,對(duì)趨勢(shì)行情和進(jìn)場(chǎng)時(shí)機(jī)的捕捉更加準(zhǔn)確,模型策略具備較強(qiáng)的盈利能力和普適性,算法改進(jìn)效果明顯[7]。肖晞暉研究多因子選股模型應(yīng)用于A股市場(chǎng)中的有效性,并利用機(jī)器學(xué)習(xí)算法提高模型選股的性能。發(fā)現(xiàn)機(jī)器學(xué)習(xí)Adaboost 算法能增強(qiáng)傳統(tǒng)多因子模型的選股效果[8]。劉夢(mèng)瑩主要以相關(guān)基金數(shù)據(jù)為依托,最終實(shí)現(xiàn)投資分析與決策系統(tǒng)主要運(yùn)用的技術(shù)為機(jī)器學(xué)習(xí),其與基金優(yōu)選相結(jié)合,用以模擬投資等諸多相關(guān)功能,為基金經(jīng)理決策提供了新思路[9]。楊世林選取聚寬量化投資平臺(tái)的A股數(shù)據(jù)作為樣本,通過回測(cè)平臺(tái)對(duì)一個(gè)基本的多因子策略進(jìn)行了歷史數(shù)據(jù)回測(cè),并在平臺(tái)上進(jìn)行了模擬交易應(yīng)用研究及策略優(yōu)化調(diào)試,從而檢測(cè)平臺(tái)是否有或有多大的能力進(jìn)行量化投資[10]。賴添構(gòu)建了一個(gè)針對(duì)我國商品期貨市場(chǎng)的量化投資策略,并利用隨機(jī)森林的波動(dòng)性分類對(duì)策略的入場(chǎng)條件進(jìn)行過濾,結(jié)果策略的表現(xiàn)取得極大的提高,驗(yàn)證了隨機(jī)森林這一機(jī)器學(xué)習(xí)工具能在我國商品期貨市場(chǎng)中提高量化策略的有效性[11]。陳子寧通過在A 股市場(chǎng)復(fù)制因子并檢測(cè)其有效性,構(gòu)建了因子庫,為專業(yè)量化投資者提供參考;構(gòu)建基本面因子為主的量化策略,通過展示其在A 股市場(chǎng)的穩(wěn)健表現(xiàn),有助于傳播價(jià)值投資念[12]。
以上學(xué)者的研究為設(shè)計(jì)量化投資策略模型打造了堅(jiān)實(shí)的理論基礎(chǔ)。鑒于此,文章在此背景下試圖探索監(jiān)督機(jī)器學(xué)習(xí)中的線性回歸方法在股市量化交易中的應(yīng)用。
2 理論和方法
在實(shí)務(wù)操作中,量化交易發(fā)揮著越來越大的作用,而在量化交易中很大一部分知識(shí)是機(jī)器學(xué)習(xí)和相關(guān)模型的設(shè)定。以下將對(duì)機(jī)器學(xué)習(xí)進(jìn)行簡要概述,并提出文中所述的交易模型。
機(jī)器學(xué)習(xí)(ML)是指通過把數(shù)學(xué)算法、統(tǒng)計(jì)模型和計(jì)算機(jī)系統(tǒng)相結(jié)合,以此企圖實(shí)現(xiàn)特定任務(wù)和目的。構(gòu)建機(jī)器學(xué)習(xí)算法示例數(shù)據(jù)的數(shù)學(xué)模型,稱為“訓(xùn)練數(shù)據(jù)”,用于在不顯式編程以執(zhí)行任務(wù)的情況下做出預(yù)測(cè)或決策。將一組數(shù)據(jù)一分為二集合,一個(gè)稱為訓(xùn)練集,一個(gè)稱為測(cè)試集。機(jī)器學(xué)習(xí)通過學(xué)習(xí)一組數(shù)據(jù),來將結(jié)果應(yīng)用于一組新的數(shù)據(jù)中。機(jī)器學(xué)習(xí)算法由于方法、輸入和輸出的數(shù)據(jù)類型以及它們要解決的任務(wù)或問題的類型方面的不同,可將機(jī)器學(xué)習(xí)分為監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。
監(jiān)督學(xué)習(xí)首先被理解為對(duì)現(xiàn)有數(shù)據(jù)的一部分進(jìn)行分析(訓(xùn)練),然后是對(duì)新數(shù)據(jù)的預(yù)測(cè)。監(jiān)督學(xué)習(xí)算法包括分類和回歸。文章嘗試對(duì)有監(jiān)督機(jī)器學(xué)習(xí)中線性回歸在量化交易中的應(yīng)用進(jìn)行研究,下面將進(jìn)行詳細(xì)闡述。
半監(jiān)督學(xué)習(xí)是具有部分標(biāo)簽的,是監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)相結(jié)合的一種方法。 可能你會(huì)先聚類一下,然后看看哪些標(biāo)簽都在哪些類里面,再來進(jìn)行劃分。
它能夠充分利用大量無標(biāo)簽樣本提高學(xué)習(xí)性能,避免了數(shù)據(jù)資源的浪費(fèi),同時(shí)解決了有標(biāo)簽樣本較少時(shí)監(jiān)督學(xué)習(xí)方法泛化能力不強(qiáng)和缺少樣本標(biāo)簽引導(dǎo)時(shí)無監(jiān)督學(xué)習(xí)方法不準(zhǔn)確的問題。由于能同時(shí)使用有標(biāo)簽和無標(biāo)簽樣本,半監(jiān)督學(xué)習(xí)已成為近年來機(jī)器學(xué)習(xí)領(lǐng)域的熱點(diǎn)研究方向,并被應(yīng)用于圖像識(shí)別、自然語言處理和生物數(shù)據(jù)分析等領(lǐng)域。
無監(jiān)督學(xué)習(xí)算法僅需要給定一組數(shù)據(jù),讓模型從中查找數(shù)據(jù)結(jié)構(gòu),挖掘信息,輸出聚類后的數(shù)據(jù)結(jié)果。這些數(shù)據(jù)是沒有被標(biāo)記、分類的,這部分?jǐn)?shù)據(jù)組成了無監(jiān)督學(xué)習(xí)算法的訓(xùn)練數(shù)據(jù),目的是在此數(shù)據(jù)集中也找到相似之處,這稱為聚類分析。算法也正是在這些訓(xùn)練數(shù)據(jù)中進(jìn)行學(xué)習(xí)的。
強(qiáng)化學(xué)習(xí)現(xiàn)成為機(jī)器學(xué)習(xí)的重要領(lǐng)域,它是要求強(qiáng)化學(xué)習(xí)系統(tǒng)RLS 依靠自身的經(jīng)歷在一個(gè)環(huán)境中進(jìn)行學(xué)習(xí),獲得知識(shí)并采取行動(dòng),從而最大化一些累積獎(jiǎng)勵(lì)的概念?;趶?qiáng)化學(xué)習(xí)的一般性,許多其他學(xué)科,如博弈論、運(yùn)籌學(xué)、群體智能、統(tǒng)計(jì)學(xué)和遺傳算法等都對(duì)其進(jìn)行了不同程度的研究。
3 仿真分析
此部分將進(jìn)行仿真實(shí)驗(yàn)分析。首先,對(duì)文章中提及到的交易環(huán)境進(jìn)行相應(yīng)的假定,構(gòu)建一個(gè)價(jià)格模型。接著,在假定的價(jià)格模型中進(jìn)行股價(jià)預(yù)測(cè),得出預(yù)測(cè)結(jié)果。
3.1 量化環(huán)境
在文章中,所使用的量化分析工具為Anaconda3,所用到的數(shù)據(jù)來源于abu 量化系統(tǒng)。為了簡化分析,假定影響股價(jià)的因素有:前天收盤的成交量、收盤價(jià)格和昨天的成交量、收盤價(jià)格。
文章通過前天收盤的成交量和價(jià)格、昨天收盤的成交量和價(jià)格、今天的成交量這3 個(gè)因素構(gòu)建出價(jià)格模型。
規(guī)則1:設(shè)定PC 為價(jià)格差,差值等于昨天收盤的價(jià)格減去前天收盤的價(jià)格;VC 為昨天成交量與前天成交量的量差。若PC 和VC 變動(dòng)一致,則今天股價(jià)上漲,否則下跌。即股價(jià)上漲且成交量上漲,則今天價(jià)格上漲;股價(jià)下跌且成交量下跌,則今天價(jià)格上漲;成交量和股價(jià)變動(dòng)方向不一致,則今天價(jià)格跌。
規(guī)則2:引入針對(duì)Sign 生成的噪音,噪音的生效的先決條件是今天的量是這三天最大的。如果量是這三天最大且是周五,下跌;如果量是這三天最大,如果是周一,上漲。
規(guī)則3:今天的漲跌幅度基礎(chǔ)是PC,今天的漲跌幅度變動(dòng)因素是量比:今天的成交量/昨天的成交量和今天的成交量/前天的成交量的均值;如果量比×PC 沒超過10%,今天價(jià)格計(jì)算;如果漲跌幅度超過10%,限制上限,下限為10%。
規(guī)則4:將原始的股票數(shù)據(jù)價(jià)格列設(shè)置只保留前兩天的數(shù)據(jù),成交量和周幾列完全保留,價(jià)格列其他數(shù)據(jù)保留成其他。
以下通過選取釀酒行業(yè)總市值前六的公司股票進(jìn)行說明文章中的交易環(huán)境。選取的6 只股票分別為貴州茅臺(tái)600519、五糧液000858、洋河股份002304、瀘州老窖000568、青島啤酒600600、山西汾酒600809。在文章交易環(huán)境假定下股價(jià)走勢(shì)具體見圖1。
由圖1 股價(jià)走勢(shì)可知,在文章假定的交易環(huán)境下股價(jià)與真實(shí)股價(jià)是有很大出入的。例如:貴州茅臺(tái)在實(shí)際中的股價(jià)最高曾逼近800 元/股,而在文章中最高為600 元/股;山西汾酒在虛擬環(huán)境中跌破10 元/股,而在實(shí)際中未曾跌破20 元/股。這主要是在該研究的交易環(huán)境假定下,對(duì)于其他因素是未曾考慮的,而在實(shí)際中影響股價(jià)的因素是紛繁復(fù)雜的。在這里,暫不考慮與實(shí)際出入的情況,旨在于探索量化交易。
3.2 實(shí)驗(yàn)仿真
在上述假定量化環(huán)境中,筆者認(rèn)為影響股價(jià)走勢(shì)的因素有前天收盤的成交量、收盤價(jià)格和昨天收盤的成交量、收盤價(jià)格。在模型中通過價(jià)格差、量差,以及價(jià)格差與成交量差乘積的正負(fù)號(hào)來構(gòu)建。同時(shí)因?yàn)椴豢赡苋糠治稣_真實(shí)的特征因素,所以引入一些噪音特征:價(jià)格乘積、成交量乘積。
在量化環(huán)境中已經(jīng)假定相應(yīng)的特征:價(jià)格差PC;成交量差VC;漲跌Sign;周幾DW。構(gòu)建噪音特征:成交量乘積VN;價(jià)格乘積PN。將數(shù)據(jù)標(biāo)準(zhǔn)化。以此構(gòu)建特征模型函數(shù)。
首先拿出對(duì)應(yīng)的走勢(shì)數(shù)據(jù)(在前文中選取的釀酒行業(yè)市值前六的股票);通過走勢(shì)數(shù)據(jù)生成訓(xùn)練集特征。訓(xùn)練集數(shù)據(jù)如表1 所示。
結(jié)合表1 和文章中假定的交易規(guī)則可以得知,在2021 年12 月17—21 日這5 個(gè)交易日中只有兩天股價(jià)是上漲的,即2021 年12 月17 日、2021 年12 月19 日。
3.3 回歸預(yù)測(cè)股價(jià)
使用上述數(shù)據(jù)作為訓(xùn)練集,使用回歸訓(xùn)練數(shù)據(jù),則需要X 特征矩陣和連續(xù)值序列Y 得到的結(jié)果如下。
使用不在訓(xùn)練集中的股票酒鬼酒000799,生成所需要的測(cè)試集。運(yùn)用sklearn 的線性回歸模塊預(yù)測(cè)股價(jià)漲跌幅度,預(yù)測(cè)結(jié)果具體見圖2。
從圖1 可知,在大部分的情況下酒鬼酒的預(yù)測(cè)漲跌幅度與股價(jià)實(shí)際漲跌幅度是大致相符合的。
針對(duì)訓(xùn)練集數(shù)據(jù)做交叉驗(yàn)證,計(jì)算RMSE 數(shù)值作為預(yù)測(cè)準(zhǔn)確度量標(biāo)準(zhǔn),得到的RMSE=0.0254,說明觀測(cè)值與真實(shí)值之間的偏差較小,結(jié)果較為理想,即表明線性回歸的預(yù)測(cè)基本上是比較好的。
通過上述量化環(huán)境的假定研究與實(shí)證仿真分析,文章簡單應(yīng)用了機(jī)器學(xué)習(xí)中的sklearn 的部分知識(shí)。在特定的交易環(huán)境下,得到的仿真結(jié)果較為理想。這表明借助一定的工具進(jìn)行量化交易在一定程度上是有優(yōu)勢(shì)的。量化交易因其借助計(jì)算機(jī)快速強(qiáng)大的運(yùn)算能力,從而在市場(chǎng)廣度分析上占有絕對(duì)優(yōu)勢(shì);通過對(duì)歷史走勢(shì)進(jìn)行分析總結(jié)出規(guī)律,從而發(fā)現(xiàn)其中的概率形成獨(dú)特的概率優(yōu)勢(shì),打造出良好的投機(jī)基礎(chǔ)。
4 結(jié)語
文章試圖通過構(gòu)建一個(gè)特定的交易環(huán)境,利用使用sklearn 的線性回歸模塊預(yù)測(cè)股價(jià)的漲跌幅度,發(fā)現(xiàn)投機(jī)優(yōu)勢(shì)。通過仿真實(shí)驗(yàn)得出的結(jié)果也較為理想,一定程度上論證了量化交易在實(shí)際中的投機(jī)優(yōu)勢(shì)。然而在真實(shí)的市場(chǎng)中可以影響股價(jià)走勢(shì)的因素是紛繁復(fù)雜的,而且這些因素也是可以相關(guān),所以試圖通過該文中較為簡單的假定交易環(huán)境預(yù)測(cè)股價(jià),發(fā)現(xiàn)投機(jī)機(jī)會(huì)幾乎是不可能的。