黃亮點 高梓耕 張行健 蔡凱莉 羅小可 李 巖
(中國礦業(yè)大學(北京),北京 100083)
程序化交易,指的是應用計算機軟件系統(tǒng),依據一定交易策略生成交易指令,實現自動下單的交易過程。相較于傳統(tǒng)的人工交易方式,程序化交易具有更加理性、科學、穩(wěn)健的特點[1]。隨著我國期貨市場的不斷發(fā)展,程序化交易越來越受到投資者的青睞。據統(tǒng)計,美國程序化交易約占總交易量的70%。因此,如何構建一套有效的交易策略也成為了得到廣泛關注的議題。
然而,主流的交易策略僅僅停留在對價格等交易本身數據進行分析。隨著社交媒體軟件的普及,互聯(lián)網上出現諸多類型的文本數據,也會左右投資者的決策。同時,文本挖掘技術[2]與機器學習技術[3]的逐漸成熟,也讓越來越多的人考慮將文本數據納入交易決策中。
目前海外已有研究提出,新聞文本與期貨市場價格變動關系密切[4]。國內有學者提出將新聞按主題聚類,在新聞主題與市場表現間建立聯(lián)系[5];也有學者運用向量回歸的方法量化新聞內容,再與市場價格進行回歸[6]。他們都探尋了新聞與市場間的關系,但沒有考慮進一步制定交易策略。目前有學者提出將對新聞的分析納入到傳統(tǒng)交易策略中,該方法能夠最大程度地利用已知信息,使決策更加客觀[7]。因此,本文考慮基于新聞文本分析建立一種決策支持系統(tǒng),結合傳統(tǒng)交易策略,提出一種利用復合型數據的新型交易策略。
海龜交易策略是期貨市場上廣泛流行的著名交易策略,曾在市場上得到大規(guī)模應用并取得過優(yōu)異的成績。但逐漸地,海龜交易策略暴露了其回撤大、勝率低的缺陷[8]。本文選擇海龜交易策略作為基準場景,在其基礎上引入新聞文本分析的方法對海龜捕捉的趨勢信號進行過濾,以建立勝率更高、風險更小的交易策略,即事件驅動的程序化交易策略。
模型的總體流程如圖1所示,模型主要由兩部分組成。模型一部分為海龜交易系統(tǒng),按照原有海龜交易策略執(zhí)行操作指令。原有的海龜交易策略的弊病在于,無法識別市場中經常出現的假突破信號,反復在無盈利機會時進行交易,過多次交易帶來過高的手續(xù)費,進而導致策略無法盈利。另一部分為決策支持系統(tǒng),該系統(tǒng)針對原海龜系統(tǒng)無法有效分辨趨勢信號這一缺點,通過對新聞文本的分析,對海龜捕捉的趨勢信號進行過濾。因此,加入決策支持系統(tǒng)能使對趨勢信號的選擇更加精準,進而提高交易成功率、優(yōu)化決策效率。
圖1 事件驅動交易策略設計流程
海龜交易策略本質是一個趨勢跟蹤策略,其主題思路是通過對期貨歷史價格的分析預判大幅的價格波動是否即將到來,并有針對性地提前做多/做空以期獲得超額收益。交易策略主要包括四個方面:何時開倉、加倉、止損、平倉[9]。本文沿用原始海龜策略的參數,以突破20天內最高/最低價作為趨勢信號。
決策支持系統(tǒng)利用了文本挖掘技術、情緒分析技術[10]和Logistic回歸技術[11]作為核心的技術支持。具體來說,首先對海龜捕捉的趨勢信號挖掘前置的文本信息,并用情緒極性分析的方法測量新聞的情感。其次,利用新聞的情緒分值預測價格波動趨勢,預測所用方程由歷史新聞文本情緒分值與價格波動情況擬合得到。最后,對比預測結果是否與海龜系統(tǒng)判斷的價格波動方向一致。若一致,認為信號為真,則依照海龜法則繼續(xù)執(zhí)行;若信號為假,則不執(zhí)行交易操作。這樣就實現了對海龜信號的過濾效果。
文本情緒分析的作用是識別出一個句子中作者對評價對象所持的態(tài)度,本文中采用基本面分析的方法,使該模塊能夠針對性地識別出一個新聞標題對期貨價格的影響方向與程度,并將其影響效果以數值的方式表示出來。該模塊的搭建主要分為以下兩步:
(1)生成情感詞典
情感詞典由兩部分組成:含有全部情感詞語的語料庫,與詞語對應的權重值。
語料庫要求盡可能詳盡、全面地涵蓋有關價格走勢的詞語。本文采用基本面分析的方法,將影響價格的因素分為資金技術、價格結構、供求關系、宏觀經濟、政治導向五大類。進而,可以對每類按“使價格上漲/下跌”再拆分,最終得到十個大類。接下來,通過對相關新聞的大范圍檢索,整合所有符合類目條件的詞語,即可得到一個基本完善的情感語料庫。
按以下原則對情感詞語賦權重值:屬于“使期貨價格上漲”類的詞語賦正分,屬于“使期貨價格下跌”類的詞語賦負分。屬于價格結構、供求關系類的詞語,因為其對價格波動具有直接影響,賦2分。屬于資金技術、宏觀經濟和政治導向類的詞語,因為其對價格波動具有間接影響,賦1分。程度副詞按對形容詞的修飾程度等級賦分,如“非?!辟x2分、“有些”賦1分。
最終將賦好權重值的詞語按分值形成負值詞典(negative_dict),正值詞典(positive_dict),詞組單獨形成詞組詞典:(phrase_dict),即完成情感詞典的建立。
(2)文本情感值計算
在建立了情感詞典后,用捕捉情感詞語的方式計算文本情緒值。具體來說,對一個語句進行分詞,獲得分詞序列,篩選出情感詞語、詞組與程度副詞,再按照情感詞典的權重值對識別出的詞語權重累加,計算得出語句的情感值。
上述方法計算的情感值正向越大,說明句子傾向正向情感的程度越大,即期貨價格存在上漲趨勢;負向越大,說明句子傾向負向情感的程度越大,即期貨價格存在下跌趨勢; 情感傾向值為零,說明句子不是情感句,即期貨價格不存在波動趨勢。
該模塊的作用為使用文本情感值預測出價格的波動趨勢。為了完成預測,首先需要對文本情感值與價格趨勢擬合回歸模型。價格趨勢可以分為“上漲”和“下跌”兩類,因此可以將問題看做定量變量對定性變量的擬合問題。本文選用Logistic模型進行擬合。
Logistic回歸是一種二分類模型,其自變量取值為實數,因變量為0或者1。二項Logistic回歸的條件概率公式為:
上式中,ρ為回歸擬合的條件概率,χ為回歸自變量,β0和β1為要求解的模型參數,通常采用最大似然估計。設置0.5為閾值,記y為預測結果,則:如果ρ≥0.5,y=1;否則y=0。
本文選擇的期貨合約代碼為JM2105,即2021年5月份交割的焦煤合約。使用該合約從2020年6月1日到2021年2月1日的價格數據,以及同時段從東方財富網取得的新聞文本數據進行模型回測分析。
為了展示策略性能,將在同時間段下分別使用海龜交易策略和事件驅動交易策略,通過對比二者的勝率和收益率來衡量策略優(yōu)劣。
海龜交易策略采用20日均線交易方式,價格選擇每日收盤價。其收益概覽如圖2所示,其回測收益為373%,回測年化收益為:944%。可以看出,海龜交易策略作為一個經典的交易策略,具有較為優(yōu)良的性能。然而,通過對比交易操作的后續(xù)盈虧情況,可以發(fā)現海龜的勝率僅有42.2%,具有較大的改進空間。
圖2 基礎海龜策略收益概覽
(1)新聞文本情緒分析
①焦煤情感詞典
以焦煤為主題,選取東方財富網的新聞文本進行檢索,共搜集了相關詞句500余個。依照上文所述方法分類后,得到焦煤主題的情感詞典。表1展示了情感語料庫的部分內容。從語料庫的結果,可以直觀看出情感詞語是如何影響焦煤價格的。
表1 焦煤新聞語料庫(部分)
②計算新聞情緒值
利用Python語言編程實現新聞標題情緒值的計算。圖3為兩條新聞標題的情緒值計算實例,可以看出,分析結果能夠明確區(qū)分語句中的上漲或下跌含義,并以數值的形式表現出價格波動程度,分析效果顯著。
圖3 文本情緒分析輸出示例
(2)回歸擬合與回測
①數據預處理
考慮后續(xù)價格走勢,將后續(xù)價格上漲的操作記為1,后續(xù)價格下跌的操作記為0,作為回歸所用因變量。將海龜操作前20天內新聞總情緒分值作為回歸自變量。自變量的獲取步驟如下。第一步,選取東方財富網“焦煤”板塊的新聞,并用文本挖掘技術取得帶時間戳的新聞文本。第二步,將爬取到的新聞文本使用新聞文本情緒方法計算情緒值。對一個操作點加總其前20天內的新聞總分值,得到擬合所需自變量。最終得到的回歸所需部分數據如表2所示。
表 2 回歸數據示意表
②描述性統(tǒng)計分析
統(tǒng)計不同新聞得分下價格上漲/下跌趨勢的個數,可做頻數直方圖,更為直觀地顯示價格趨勢與新聞得分的關系。
如圖4所示,淺色表示價格將下降,深色表示價格將上漲,橫軸對應新聞總得分。可以看出,隨著新聞得分分數增加,淺色條越來越短,深色條越來越長。即新聞得分分值越高,價格越可能上漲。這個結果與情緒分值設置的原則一致,說明價格趨勢與新聞間確實存在相關性,可以進行擬合。
圖4 頻數直方圖
③擬合回歸方程
使用R實現Logistic回歸方程的擬合。令p表示后續(xù)價格上漲的概率,x表示此前20天內新聞的總情緒分值,則Logistic回歸得到的方程為:
④數據回測
利用擬合的原始數據對回歸方程進行回測。經計算,引入新聞文本作為判斷標準后,操作的勝率為57.9%,較之前上升了15.7%,顯然引入新聞語義分析對降低傳統(tǒng)交易策略的誤判率有顯著效果。
⑤收益概覽
利用上述回測結果,過濾掉錯誤的海龜信號,重新制定交易策略。具體的形式為:若結合新聞文本判斷海龜的交易節(jié)點確實有價格上漲趨勢,則照常執(zhí)行海龜策略;若新聞判斷海龜的交易節(jié)點價格將下跌,則不執(zhí)行原有海龜策略。
執(zhí)行事件驅動的交易策略,收益概覽如圖5所示。可以看到:引入決策支持系統(tǒng)的交易策略回測收益顯著上漲,為404%;回測年化收益也漲至1049%。其余各項指標對比如表3所示。相較于原始海龜,事件驅動策略的回測收益上漲了31%,回測年化收益上漲了105%。顯然,引入新聞判斷對提高傳統(tǒng)交易策略收益率、促進收益最大化有重要意義。
表3 策略收益指標對比
圖5 事件驅動策略收益概率
本文通過引入基于新聞文本情緒分析的決策支持系統(tǒng),并將其與傳統(tǒng)交易策略相結合,形成了事件驅動的程序化交易策略。實驗證明,新的交易策略能夠成功過濾原有海龜捕捉的錯誤信號,將決策勝率提升了16%;同時,新的交易策略被證實在交易中也能取得良好收益。事件驅動策略相對原始海龜,不僅在回測收益、年化收益、夏普率等多項收益指標中表現更優(yōu),更降低了海龜的最大回撤,使得交易能夠更穩(wěn)健、高效地進行。但本文的策略仍存在一些不足,如回測時段可以更長,實驗選取的合約種類也可以有所增加,等等??傮w來說,引入文本分析的交易策略具有巨大的研究潛力,分析復合數據類型的策略研究也將成為大數據時代下程序化交易的必然趨勢,期待更多學者對此進行繼續(xù)鉆研與不斷探索。