摘要:基于輿情數(shù)據(jù)的行為金融交易策略,可以為經(jīng)濟(jì)行為主體在市場(chǎng)波動(dòng)起伏中的投資決策提供一個(gè)新的研究視角。本文運(yùn)用Python對(duì)百度指數(shù)關(guān)鍵詞搜索量的變化趨勢(shì)進(jìn)行數(shù)據(jù)分析,進(jìn)而挖掘交易信號(hào)的觸發(fā)條件及規(guī)律,并結(jié)合股票市場(chǎng)金融交易數(shù)據(jù)進(jìn)行策略收益對(duì)比分析,探究輿情交易策略的可行性及有效性。進(jìn)一步地,為使構(gòu)建的交易策略具有泛化能力,本文搭建了輿情策略交易信號(hào)預(yù)測(cè)模型,希望能夠通過機(jī)器學(xué)習(xí)算法總結(jié)出更高維度的規(guī)律,對(duì)股票市場(chǎng)漲跌做出預(yù)測(cè),輔助人們進(jìn)行合理的交易決策。
關(guān)鍵詞:百度指數(shù);輿情數(shù)據(jù);量化交易;機(jī)器學(xué)習(xí);Python
1.引言
在正式開始正文之前,我們先談?wù)勑袨榻鹑诮灰撞呗?,所謂“行為”金融,在于其取自心理學(xué)中的行為主義,它與傳統(tǒng)金融交易策略所不同的是,行為金融更注重投資實(shí)踐,更貼近人的實(shí)際行為,它所要探究的不是長(zhǎng)期的趨勢(shì)和規(guī)律,也不需要設(shè)定過多的理論假設(shè),而是從人的行為作為出發(fā)點(diǎn)來探究問題。在金融市場(chǎng)上,買什么、賣什么的決策都是由人做出的,與交易有關(guān)的市場(chǎng)數(shù)據(jù),往往都蘊(yùn)含著一些復(fù)雜的人類決策行為。因此,人類在與互聯(lián)網(wǎng)交互過程中所產(chǎn)生的大量輿情數(shù)據(jù),可以為市場(chǎng)參與者在市場(chǎng)波動(dòng)起伏中的投資決策提供一個(gè)新的研究視角。例如通過谷歌趨勢(shì)(Google Trends)可以獲取不同搜索詞的查詢量以及這些查詢量隨時(shí)間變化的聚合信息,國(guó)外通過對(duì)谷歌趨勢(shì)數(shù)據(jù)進(jìn)行研究發(fā)現(xiàn),其不僅能夠反映股票市場(chǎng)當(dāng)前的狀態(tài),而且還能夠預(yù)測(cè)未來的某些趨勢(shì)。基于此,本文旨在通過分析與金融相關(guān)的百度指數(shù)查詢量的變化,來構(gòu)建一個(gè)大數(shù)據(jù)輿情交易策略,并嘗試運(yùn)用邏輯回歸(Logistic Regression)和支持向量機(jī)(Support Vector Machine)兩種機(jī)器學(xué)習(xí)模型對(duì)股票指數(shù)的漲跌進(jìn)行預(yù)測(cè),也希望能夠發(fā)現(xiàn)行為數(shù)據(jù)集在金融交易策略中運(yùn)用的巨大潛力。
2.策略邏輯及數(shù)據(jù)分析
我們會(huì)發(fā)現(xiàn)這樣一個(gè)現(xiàn)象,在金融市場(chǎng)出現(xiàn)劇烈波動(dòng)之后,投資者往往會(huì)經(jīng)歷一段時(shí)間的恐慌和焦慮,在進(jìn)行最終的交易執(zhí)行之前,他們可能會(huì)搜索更多關(guān)于市場(chǎng)的信息來印證自己的想法,遵循這一邏輯,再考慮到國(guó)內(nèi)的使用習(xí)慣,為了使查詢量數(shù)據(jù)與國(guó)內(nèi)金融市場(chǎng)關(guān)聯(lián)程度更大,我決定使用百度指數(shù)的查詢量數(shù)據(jù)來構(gòu)建交易策略。
2.1研究區(qū)間及標(biāo)的選取
2020年由于受新冠疫情的影響,對(duì)經(jīng)濟(jì)領(lǐng)域造成全方位破壞態(tài)勢(shì),誘發(fā)全球資本市場(chǎng)大幅動(dòng)蕩,使該段時(shí)期的數(shù)據(jù)與以往數(shù)據(jù)相比表現(xiàn)出顯著的差異性和異常,故我將策略研究區(qū)間選定在2018-2020年一季度,該段區(qū)間主要受中美貿(mào)易戰(zhàn)影響,國(guó)內(nèi)的金融市場(chǎng)波動(dòng)較大,通過搜索債務(wù)、危機(jī)、違約、沖突、信貸、盈利、成長(zhǎng)、房地產(chǎn)、利率、貿(mào)易戰(zhàn)等與股票市場(chǎng)相關(guān)的詞匯發(fā)現(xiàn)其查詢量在此期間也存在比較明顯的變化,因此比較適合采用行為金融交易策略,同時(shí)為了更好的體現(xiàn)交易策略的有效性,我選取滬深300指數(shù)作為本次策略的交易標(biāo)的,由于市場(chǎng)上存在滬深300股指期貨這一交易品種,其遵循日內(nèi)交易的雙向交易制度,既可做多亦可做空,可以放大策略的收益率,同時(shí),基于市場(chǎng)真實(shí)的交易品種進(jìn)行探究也有其合理的一面。
2.2策略思想
通過對(duì)一系列相關(guān)詞匯的分析發(fā)現(xiàn),在所選取的區(qū)間段,“債務(wù)”作為百度指數(shù)的目標(biāo)詞匯無論在策略的穩(wěn)定性以及收益率的表現(xiàn)上都有著更加令人滿意的表現(xiàn),因此本次策略將基于“債務(wù)”來展開研究。我將每5天定為一個(gè)交易信號(hào)判斷周期,通過日交易數(shù)據(jù)進(jìn)行策略分析。如果第5日的百度指數(shù)“債務(wù)”搜索量大于過去4日的百度指數(shù)“債務(wù)”平均搜索量,則產(chǎn)生買入交易信號(hào),并在下一個(gè)交易日做多滬深300指數(shù);如果第5日的百度指數(shù)“債務(wù)”搜索量小于過去4日的百度指數(shù)“債務(wù)”平均搜索量,則產(chǎn)生賣出交易信號(hào),并在下一個(gè)交易日做空滬深300指數(shù)。每一交易均只持倉(cāng)一天,并于每日日終進(jìn)行平倉(cāng)。可能有人會(huì)認(rèn)為“債務(wù)”作為一個(gè)偏負(fù)面的詞匯,第5日搜索量大于過去4日平均搜索量卻產(chǎn)生做多交易信號(hào)與人們所理解的交易邏輯不符,這主要是因?yàn)榭紤]到輿情數(shù)據(jù)的變動(dòng)往往滯后于股票市場(chǎng),當(dāng)股票市場(chǎng)發(fā)生波動(dòng)后人們出于對(duì)風(fēng)險(xiǎn)及交易執(zhí)行方面的考慮會(huì)加大對(duì)其變動(dòng)原因的研判進(jìn)而加大對(duì)相關(guān)信息的搜索,而當(dāng)相關(guān)消息基本被市場(chǎng)所吸收后,由于超額調(diào)整或者過度反應(yīng)造成的價(jià)格影響則可能會(huì)迎來反彈或者重新調(diào)整,正是出于上述考慮采取了上文所提到的策略邏輯。
2.3數(shù)據(jù)整理及交易信號(hào)產(chǎn)生
為了對(duì)上述策略進(jìn)行量化分析,首先需要獲取滬深300指數(shù)日線行情數(shù)據(jù)及百度指數(shù)“債務(wù)”關(guān)鍵詞搜索頻次加權(quán)指數(shù)。本文中策略結(jié)果驗(yàn)證所用滬深300指數(shù)日數(shù)據(jù)均通過Python中Tushare庫(kù)調(diào)取獲得,百度指數(shù)搜索頻次加權(quán)指數(shù)則通過關(guān)鍵詞搜索趨勢(shì)圖獲得,如圖2-3-1所示即為“債務(wù)”搜索趨勢(shì)圖。在數(shù)據(jù)分析及及機(jī)器學(xué)習(xí)模型預(yù)測(cè)我也將通過Python來實(shí)現(xiàn)。
獲取滬深300指數(shù)基礎(chǔ)數(shù)據(jù)及“債務(wù)”搜索頻次數(shù)據(jù)后,還需要根據(jù)基本變量生成衍生變量,并在此基礎(chǔ)上按照策略邏輯產(chǎn)生交易信號(hào)。首先通過百度指數(shù)“債務(wù)”搜索頻次計(jì)算出4日的“債務(wù)”指數(shù)均線數(shù)據(jù),然后將其均值與第5日的“債務(wù)”搜索頻次進(jìn)行比較,當(dāng)前4日搜索頻次均值小于當(dāng)日“債務(wù)”搜索頻次則產(chǎn)生“1”的交易信號(hào),即為做多,做出這樣的設(shè)定主要是便于后續(xù)策略收益率的計(jì)算,反之,則將交易信號(hào)設(shè)置為“-1”,至于策略邏輯在前文策略思想中已對(duì)此作出解釋,此處不再贅述。由于4日的均線數(shù)據(jù)至少需要4個(gè)數(shù)據(jù)才可獲得,故最開始4天的均值數(shù)據(jù)無法計(jì)算存在缺失,如表2-3-1所示為前10天的數(shù)據(jù),其中前4天的交易信號(hào)直接設(shè)置為“0”。
2.4收益率計(jì)算及可視化
為了驗(yàn)證策略的有效性,我以買入并持有滬深300指數(shù)策略作為對(duì)照組,來判斷基于百度指數(shù)的投資策略累計(jì)收益表現(xiàn)是否可以“跑贏”滬深300指數(shù)。
在本文中,我假設(shè)每日的交易均可以以當(dāng)日的開盤價(jià)開倉(cāng),以當(dāng)日的收盤價(jià)進(jìn)行平倉(cāng)。策略的每日收益率是通過當(dāng)日的開盤價(jià)與當(dāng)日的收盤價(jià)并考慮上一交易日產(chǎn)生的交易信號(hào)計(jì)算獲得,這里特別需要強(qiáng)調(diào)的是由于當(dāng)日取得的交易信號(hào)是一個(gè)事后數(shù)據(jù),并不能在當(dāng)天即開倉(cāng)交易,故在進(jìn)行策略收益率計(jì)算時(shí)需要使用上一交易日的交易信號(hào),其計(jì)算方法為:
而買入并持有滬深300指數(shù)由于并不需要頻繁交易,故其收益率計(jì)算方法為:
最終可以獲得累計(jì)收益率,如表2-4-1所示為部分收益率數(shù)據(jù)計(jì)算結(jié)果。
我以日期為橫坐標(biāo),累計(jì)收益率為縱坐標(biāo),繪制出了基于百度指數(shù)“債務(wù)”作為關(guān)鍵詞的輿情交易策略累積收益率與買入并持有滬深300指數(shù)累計(jì)收益率趨勢(shì)對(duì)比圖,如圖2-4-1所示,可以明顯的看出,在所選取的研究區(qū)間內(nèi)策略的表現(xiàn)是遠(yuǎn)遠(yuǎn)優(yōu)于滬深300指數(shù)收益率的,在對(duì)收益率數(shù)據(jù)進(jìn)一步的分析發(fā)現(xiàn),百度指數(shù)輿情策略的最大累計(jì)收益率達(dá)到了1.6342,其最大回撤為17.36%;而滬深300指數(shù)的最大累計(jì)收益率僅為1.0740,但其最大回撤卻達(dá)到了32.46%,無論從風(fēng)險(xiǎn)還是收益的角度上看,該策略都有比較明顯的優(yōu)勢(shì),也表明金融市場(chǎng)在受到輿情信息影響而產(chǎn)生較大波動(dòng)時(shí),基于輿情數(shù)據(jù)來構(gòu)建交易策略有其積極的意義,也可以從這一角度展開更加深入的探索。
3.預(yù)測(cè)模型搭建
為了使上述策略具有泛化能力,希望在前文經(jīng)驗(yàn)數(shù)據(jù)的基礎(chǔ)上,能夠通過機(jī)器學(xué)習(xí)算法總結(jié)出更高維度的規(guī)律,對(duì)指數(shù)漲跌做出預(yù)測(cè),輔助人們進(jìn)行合理的交易決策。
3.1模型方法
為了驗(yàn)證百度指數(shù)“債務(wù)”輿情數(shù)據(jù)對(duì)于預(yù)測(cè)滬深300指數(shù)漲跌的有效性,我們選取了以下兩種經(jīng)過檢驗(yàn)的經(jīng)典分類模型進(jìn)行實(shí)驗(yàn):
Logistic Regression(LR)——邏輯回歸是線性回歸模型為了解決分類問題的一種改進(jìn)方法,是對(duì)廣義線性回歸分析模型的對(duì)數(shù)表示。受制于其對(duì)目標(biāo)變量的線性可分性要求,LR常常被用作分類模型的基準(zhǔn)。
Support Vector Machine(SVM)——支持向量機(jī)模型由簡(jiǎn)單到復(fù)雜分為線性可分支持向量機(jī)、線性支持向量機(jī)和非線性支持向量機(jī),其主體思想為針對(duì)線性可分情況進(jìn)行分析,對(duì)于線性不可分的情況,通過使用非線性映射算法將低維輸入空間線性不可分的樣本轉(zhuǎn)化為高維特征空間使其線性可分,從而使得高維特征空間采用線性算法對(duì)樣本的非線性特征進(jìn)行線性分析成為可能。
3.2確定特征變量和目標(biāo)變量
前文策略以5日為一交易信號(hào)判斷周期,通過比較前4日百度指數(shù)“債務(wù)”搜索頻次均值與當(dāng)日“債務(wù)”搜索頻次來確定交易信號(hào),并由此取得了不錯(cuò)的策略表現(xiàn)。鑒于此,為了使預(yù)測(cè)模型有著相似的交易信號(hào)判斷周期,我將當(dāng)日的搜索頻次與前4日的搜索頻次作為其特征變量,將交易信號(hào)作為預(yù)測(cè)模型的目標(biāo)變量。為了獲得預(yù)測(cè)模型的目標(biāo)變量,需要將下一交易日的收益率作為當(dāng)日所預(yù)測(cè)交易信號(hào)的判斷依據(jù),這一點(diǎn)在整個(gè)預(yù)測(cè)模型中尤為重要,我依然假設(shè)每日的交易均可以以當(dāng)日的開盤價(jià)開倉(cāng),以當(dāng)日的收盤價(jià)進(jìn)行平倉(cāng),由此計(jì)算每日收益率,當(dāng)下一交易日取得正收益時(shí),交易信號(hào)為“1”,若下一交易日取得負(fù)收益時(shí),則交易信號(hào)記為“-1”,如表3-2-1記錄了部分特征變量及目標(biāo)變量數(shù)據(jù)。
3.3模型訓(xùn)練及搭建
提取完特征變量后,需要將研究區(qū)間的537組完整數(shù)據(jù)拆分為訓(xùn)練集和測(cè)試集。顧名思義,訓(xùn)練集用于訓(xùn)練一個(gè)模型,而測(cè)試集則用于檢驗(yàn)該模型的效果。通常會(huì)根據(jù)樣本量的大小來劃分訓(xùn)練集和測(cè)試集。當(dāng)樣本量大時(shí),可以劃分多一點(diǎn)比例的數(shù)據(jù)給訓(xùn)練集。由于現(xiàn)有樣本只有537組,并不算多,所以按8:2的比例來劃分訓(xùn)練集和測(cè)試集,即訓(xùn)練集數(shù)量為430組,測(cè)試集數(shù)量為107組。
劃分了訓(xùn)練集和測(cè)試集之后,運(yùn)用Python從Scikit-Learn庫(kù)中分別引用線性回歸模型中的Logistic Regression模型和支持向量機(jī)中的SVC分類模型,通過傳入前面所獲得的訓(xùn)練集數(shù)據(jù)進(jìn)行模型的訓(xùn)練。之后就可以利用搭建完成的模型進(jìn)行預(yù)測(cè),此時(shí)前面劃分的測(cè)試集就可以發(fā)揮作用了,即利用測(cè)試集進(jìn)行預(yù)測(cè)并評(píng)估模型的預(yù)測(cè)效果。
3.4模型預(yù)測(cè)及評(píng)估
完成模型的訓(xùn)練及搭建后,通過把測(cè)試集中的數(shù)據(jù)導(dǎo)入到模型中來進(jìn)行預(yù)測(cè),最終可以獲得交易信號(hào)的預(yù)測(cè)結(jié)果。表3-4-1展示了兩種模型最后5組數(shù)據(jù)的預(yù)測(cè)結(jié)果。為了和實(shí)際目標(biāo)交易信號(hào)進(jìn)行比較分析,我對(duì)測(cè)試集預(yù)測(cè)的準(zhǔn)確度進(jìn)行了測(cè)算,可以發(fā)現(xiàn)LR模型在測(cè)試集上的預(yù)測(cè)準(zhǔn)確度為57%,而SVC模型在在測(cè)試集上的預(yù)測(cè)準(zhǔn)確度為55%。如圖3-4-1,通過繪制兩種模型在測(cè)試集期間的累計(jì)收益率與買入并持有滬深300指數(shù)累計(jì)收益率進(jìn)行比較發(fā)現(xiàn),雖然通過模型預(yù)測(cè)交易信號(hào)的準(zhǔn)確度有待提升,搭建的模型仍存在優(yōu)化改進(jìn)的空間,但是從收益率的表現(xiàn)上看依然優(yōu)于大盤的表現(xiàn)。
4.總結(jié)與展望
本文從行為金融的角度出發(fā),以百度指數(shù)“債務(wù)”關(guān)鍵詞作為研究對(duì)象展開輿情交易策略探析,通過對(duì)2018年1月至2020年3月的百度指數(shù)“債務(wù)”搜索量變化趨勢(shì)進(jìn)行分析,可以發(fā)現(xiàn)百度指數(shù)輿情數(shù)據(jù)不僅能夠從某些方面反映當(dāng)前的經(jīng)濟(jì)狀況,而且還可以對(duì)經(jīng)濟(jì)行為主體未來的行為趨勢(shì)提供預(yù)測(cè)方向。在金融市場(chǎng)處于震蕩期間,短期反轉(zhuǎn)趨勢(shì)出現(xiàn)之前,投資者可能會(huì)有一段憂慮逐步加深的過程。當(dāng)人們處于這種關(guān)注時(shí)期時(shí),金融市場(chǎng)往往處在股票價(jià)格逐步走低的階段,人們?yōu)榱讼约旱囊蓱]會(huì)更加傾向于收集更多關(guān)于市場(chǎng)狀態(tài)的信息,可以想象,這種行為的結(jié)果可能最終就反映在百度指數(shù)中對(duì)金融市場(chǎng)相關(guān)的關(guān)鍵詞的搜索量的增加上。本文也正是基于此構(gòu)建策略,設(shè)置交易操作的觸發(fā)信號(hào),并通過邏輯回歸模型和支持向量機(jī)模型對(duì)交易信號(hào)做出預(yù)測(cè),最終結(jié)果果表明:基于百度指數(shù)“債務(wù)”關(guān)鍵詞的輿情交易策略取得了不錯(cuò)的收益效果,在收益的穩(wěn)定性和風(fēng)險(xiǎn)的控制上都要優(yōu)于同期的指數(shù)收益率。
但是本文也存在一些不足,在未來的研究中可以進(jìn)一步做出改進(jìn):(1)本文選取的研究區(qū)間較短,且樣本區(qū)間內(nèi)受中美貿(mào)易戰(zhàn)影響較大,樣本的選取有其特殊性,可能無法代表大多數(shù)一般情況,若是采用以往樣本外數(shù)據(jù)進(jìn)行回測(cè),可能無法取得文中穩(wěn)定的收益,策略的適用性還有待檢驗(yàn)。(2)由于國(guó)內(nèi)百度指數(shù)相較于谷歌趨勢(shì)指數(shù)發(fā)展較晚,在數(shù)據(jù)的獲取、關(guān)鍵詞的統(tǒng)計(jì)上仍有提升和改進(jìn)的空間。(3)在對(duì)交易策略進(jìn)行收益計(jì)算時(shí)沒有考慮到因交易而產(chǎn)生的交易費(fèi)用等因素,且交易假設(shè)過于強(qiáng)烈,未考慮到實(shí)際交易中可能無法達(dá)成交易的情況。
本文通過探析搜索量的變化和股票市場(chǎng)價(jià)格的變化關(guān)系,為人們提供了一個(gè)新的量化交易的思路。未來希望能夠從行為金融的角度進(jìn)一步對(duì)經(jīng)濟(jì)行為主體潛在的心理機(jī)制進(jìn)行全面的探究,來解釋究竟出于什么樣的心理導(dǎo)致人們?cè)谧龀鼋灰讏?zhí)行前會(huì)搜索諸如債務(wù)之類的詞語。當(dāng)然,行為數(shù)據(jù)集(如金融交易數(shù)據(jù))與搜索查詢量數(shù)據(jù)相結(jié)合,可能為不同階段的集體決策開辟新的視角,促使我們對(duì)社會(huì)中復(fù)雜集體行為做出更加深入的理解。
參考文獻(xiàn):
[1]Tobias Preis, Helen Susannah Moat & H. Eugene Stanley.Quantifying Trading Behavior in Financial Markets Using Google Trends[M].Scientific Reports volume 3,Article number: 1684 (2013) .
[2]馮玉茹.配對(duì)交易策略在我國(guó)A 股市場(chǎng)的研究——基于傳統(tǒng)模型和GARCH模型[D].山東:山東大學(xué),2019.
[3]張劍,王波.基于SVM的滬深300股指期貨量化交易策略[J].數(shù)學(xué)理論與應(yīng)用,2017,37(2) :112-121.
[4]王俊杰.量化交易在中國(guó)股市的應(yīng)用[D].南京:南京大學(xué),2013.
[5]王宇韜,房宇亮,肖金鑫.Python金融大數(shù)據(jù)挖掘與分析全流程詳解[M].北京:機(jī)械工業(yè)出版社,2019.8.
作者簡(jiǎn)介:張冉(1991.8-),男,土家族,碩士研究生在讀,對(duì)外經(jīng)濟(jì)貿(mào)易大學(xué)統(tǒng)計(jì)學(xué)院在職人員高級(jí)課程研修班學(xué)員,研究方向:量化金融,行為金融。