韓中華
(北方工業(yè)大學理學院,北京 100144)
眾所周知,作為毫無規(guī)律可循的時間序列數(shù)據(jù),提升股票數(shù)據(jù)的預測精度一直備受金融領域的關注。然而,隨著大數(shù)據(jù)與人工智能領域的不斷發(fā)展,利用計算機實現(xiàn)自我學習以及大批量計算,對預測準度的提升不容小覷。其中,強化學習作為一種倍受矚目的機器學習方法,它利用與環(huán)境交互過程中的獎勵函數(shù)激勵計算機學習,模擬人腦在學習過程當中的特點。自Alpha Go以4∶1擊敗著名圍棋選手李世石后,強化學習瞬間掀起了人工智能領域的研究浪潮,這一技術特點被應用在包括金融在內(nèi)的不同領域,進而凸顯其強大的學習能力。因此,強化學習將在未來廣泛應用于金融領域。
目前,強化學習在金融股票投資組合這一領域應用十分廣泛。例如,為了驗證DDPG算法的有效性,齊岳等[1]以我國股市為例,發(fā)現(xiàn)利用強化學習方法構建的投資組合,在實驗期間的價值增幅遠大于對照組,進而得以驗證。焦禹銘[2]通過對比A2C、PPO與SAC三個模型,發(fā)現(xiàn)SAC模型無論是在獲取收益還是在風險控制方面的優(yōu)勢最為顯著??紤]到股票價格變化受到多種因素影響,陳詩樂等[3]將遺傳算法(GA)與Transformer模型結合,提出GA-Transformer 這一組合模型,該組合模型要優(yōu)于傳統(tǒng)單模型的效果。
本文將DQN(Deep Q Network)算法作為基線,將三個不同優(yōu)化層面(Double-Q、Prioritized-replay以及Dueling)隨機組合成七個優(yōu)化模型對HDFC銀行(HDB)歷史交易數(shù)據(jù)進行預測,主要貢獻在于:①找出三種優(yōu)化方案分別對DQN 算法預測的影響作用;②對比三個優(yōu)化層面之間的聯(lián)系以及影響程度;③對短期股票收益預測產(chǎn)生的隨機性進行多次實驗取平均值,與基線模型進行預期收益平均水平與波動情況的對比分析。
相較于傳統(tǒng)的Q-learning 算法,DQN 算法解決了其Q-table 無法使用在狀態(tài)與動作為連續(xù)的高維空間中。通過將Q-table 更新替換為一個函數(shù)擬合的問題,以此來獲得處于相近狀態(tài)的輸出動作。這樣,將Deep Learning(DL)與Reinforcement Learning(RL)兩者相結合,便可獲得DQN。
在DQN 算法中,存在下列問題:首先,由于DL 中存在噪聲與延遲性,導致許多狀態(tài)與獎勵的值普遍為0;其次,盡管DL 當中每個樣本之間相互獨立,但是RL 當前狀態(tài)的返回值則依賴后續(xù)狀態(tài)的返回值;最后,當使用非線性表達式表示值函數(shù)時,可能會出現(xiàn)不穩(wěn)定的情況。
針對上述問題,DQN 通過以下方面進行優(yōu)化:首先,Q-learning 中使用獎勵來構造標簽;其次,采用經(jīng)驗池(Prioritized-replay)來解決相關性以及非靜態(tài)分布的問題;最后,采用主網(wǎng)絡(Main Net)產(chǎn)生當前狀態(tài)的Q值,使用另一個目標網(wǎng)絡(Target Net)產(chǎn)生相應的目標Q值。
由圖1 可得,在使用Tensorflow 來實現(xiàn)DQN的過程中,一般選用兩個神經(jīng)網(wǎng)絡進行搭建。其中target_net 用于預測Q_target 的值,但它并不會及時更新其中的參數(shù);eval_net 用于預測Q_eval,該神經(jīng)網(wǎng)絡擁有最新的神經(jīng)網(wǎng)絡參數(shù)。這兩個神經(jīng)網(wǎng)絡的結構是完全一致,只是其中的參數(shù)并不一樣。
圖1 DQN網(wǎng)絡
除了傳統(tǒng)的DQN 方法之外,可以通過對其進行優(yōu)化,得到下列三個DQN 的優(yōu)化算法:①Double DQN:解決了原本DQN 算法中Qmax導致Qreality當中的過估計問題;②Prioritized-replay DQN:在訓練過程中對獎勵較高或者較低的值加以重視;③Dueling DQN:將每個狀態(tài)的Q值分解成每個狀態(tài)的Value加上每個動作的advantage。
本文將DQN 算法作為基準,與七個組合模型的交易策略進行比較。表1 為DQN 算法與三個優(yōu)化因子之間的組合情況。
表1 三個優(yōu)化因子與DQN算法的任意組合
本文選取的股票數(shù)據(jù)取自雅虎金融(yahoo finance)網(wǎng)站,選取的對象為HDFC Bank(HDB)。本文設定的時間區(qū)間為2020 年9 月2 日至2022年9 月2 日這兩年期間所有交易日的歷史價格與成交量數(shù)據(jù),包含最高價(high)、最低價(low)、開盤價(open)、收盤價(close)、成交量(volume)以及調(diào)整后的收盤價(adj close)共計505條。圖2是歷史數(shù)據(jù)集的總體趨勢圖。
圖2 HDB股票2020年9月2日到2022年9月2日歷史收盤價軌跡
從圖2 中,大致可以看出HDB 股票收盤價的歷史變化趨勢。從2020 年10 月到2021 年4 月保持上升趨勢,但2021 年4 月到2022 年7 月之后整體呈下降趨勢,2022 年7 月到2022 年9 月有所回暖。
將原始數(shù)據(jù)分為以下兩個部分。其中,訓練集選取數(shù)據(jù)集中的前15~450 條數(shù)據(jù),從第450~505條數(shù)據(jù)則作為測試集來評估模型。
為了控制其他變量的影響,將固定移動預測步長(window_size)為15 天,即預測下一天股票短期收益情況取決于前15 天的歷史數(shù)據(jù);將總時間步數(shù)(total_timesteps= 150000),即循環(huán)訓練的總時間步長為150000次。
本文展開分析的角度共有兩個。首先,通過七種組合方法與單模型DQN 這一基線方法的對比,尋找出哪一個組合模型對短期股票預測效果較為貼切實際;其次,通過最終預測的短期股票收益情況,以此來確定這三種優(yōu)化方面之間的相互促進或抑制作用。
在原始DQN 算法的基礎之上,可以優(yōu)化的方面為以下三個,分別是:Double-Q,Prioritizedreplay 以及Dueling。通過這三個優(yōu)化因子的任意隨機組合,將產(chǎn)生七個組合模型以及一個基線模型。將Double DQN、Prioritized-replay DQN、Dueling DQN、Prioritized-replayDoubleDQN、Dueling Double DQN、Prioritized-replay Dueling DQN、Full DQN 以及DQN(baseline)模型分別標記為1~8。考慮到每一次評估模型的預期漲跌情況為一隨機數(shù),選取20 次實驗的結果以避免偶然性發(fā)生。表2 為這七個組合模型(序號1~7)以及基線模型(序號8)在測試集上最終持有資產(chǎn)相較于原始投入資產(chǎn)所占比重。
表2 七個組合模型以及基線模型在測試集上最終持有資產(chǎn)占原始投入資產(chǎn)比重
對表2 中的七個組合模型與基線模型DQN算法的20 次結果計算對應的平均資產(chǎn)變動情況(即平均值)與波動幅度(即標準差)。表3為這七個組合模型與DQN 這一單模型的股票預期平均資產(chǎn)變動與波動情況。
表3 DQN算法及其組合模型的股票測試集上預期資產(chǎn)變動與波動情況
通過表3,可以發(fā)現(xiàn)在前三種加入單一優(yōu)化方面組合算法當中,只有Dueling DQN 這一組合算法的現(xiàn)有資產(chǎn)較原始投入資產(chǎn)上漲幅度最大,為2.00%。因此,說明Dueling DQN 這一方法在預測股票短期收益方面較為貼合實際情況,其精度較高。其次則為Dueling Double DQN 模型,其現(xiàn)持有資產(chǎn)相較于原始投入資產(chǎn)上漲1.96%,說明在原本的Dueling DQN 模型中加入Double-Q后未對原始模型起到顯著性的抑制作用,基本保持了原有的收益水平。最后則為Prioritizedreplay Dueling DQN 這一組合算法,相較于原始投入資產(chǎn),其現(xiàn)有資產(chǎn)上漲了0.97%,說明在原本的Dueling DQN 模型中加入Prioritized-replay后,未對原本的Dueling DQN 算法起到任何促進作用,僅僅保持了微弱的收益幅度。由此說明,在這三個優(yōu)化因子中,Dueling 這一優(yōu)化因子的促進作用最強,其次是Double-Q,最后則為Prioritized-replay。
從最后一列的標準差,可以看出,相較于原本的DQN 模型,只有加入Prioritized-replay 這一優(yōu)化因子后,標準差由原本的0.0488 降低至0.0474,由此可見波動幅度有小幅度的降低。說明Prioritized-replay 這一優(yōu)化因子對DQN 模型的穩(wěn)定性具有促進作用。而Dueling DQN 模型相較于原本的DQN 模型,其標準差上漲了0.0304。而該上漲幅度小于Double DQN 模型相較于原本的DQN 模型的0.0323。由此可見,在這三個優(yōu)化因子中,對DQN 模型穩(wěn)定性起到促進作用的為Prioritized-replay,對模型穩(wěn)定性起到抑制作用的為Dueling以及Double-Q。
表4匯總了本文七個組合模型在測試集上的各項性能的表現(xiàn),包括年華化收益率與夏普比率。
表4 七個組合算法的回測結果(測試集)
本文計算年化收益率的計算公式為:
其中:“現(xiàn)持有資產(chǎn)/原有資產(chǎn)”選取表3 中七個組合模型的結果,測試集天數(shù)為55(即505-450=55)。最終結果如表4所示。
對于夏普比率的計算,本文基于原本的公式進行了調(diào)整與改動。由于原始公式中包含無風險利率,本文將無風險利率替換為表3 中DQN 模型的現(xiàn)持有資產(chǎn)占原有資產(chǎn)的平均比重,為93.44%;而原始公式中的投資組合預期報酬率與其標準差也相應地替換為表3中七個組合模型的現(xiàn)持有資產(chǎn)占原有資產(chǎn)的平均比重以及標準差。本文計算夏普比率的公式為:
在年化收益率方面,基于Dueling DQN 模型在測試集上達到了13.27%,基于Dueling Double DQN 模型在測試集上達到了13.01%,基于Prioritized-replay Dueling DQN 算法在測試集上達到了6.44%。這三個模型均為在回測中有所盈利的,剩下的模型則均有所虧損。從整體上看,在原本的Double DQN 與Prioritized-replay DQN 模型中分別加入Dueling 這一優(yōu)化因子后,其年化收益率均有顯著性提升;在原本的Double DQN模型與Dueling DQN 模型中加入Prioritized-replay這一優(yōu)化因子后,年化收益率有明顯的負增長;在原本的Prioritized-replay DQN 模型與Dueling DQN 模型中加入Double-Q 這一優(yōu)化因子后,年化收益率未起到了顯著性改變。
在夏普比率方面,基于Dueling DQN 算法在測試集上達到了1.0808,基于Dueling Double DQN 算法達到了1.0545,剩下的組合模型均小于1。由此可見,Dueling 與Double-Q 這兩個優(yōu)化因子對DQN 模型均起到了促進作用,并且將二者同時加入模型中不會對模型起到顯著性的抑制作用。
本文通過將DQN 算法結合三個不同優(yōu)化方面的七個相互組合模型,與單一模型DQN 算法進行對比,得出以下結論:①這七個組合模型中,只有Dueling DQN 算法的盈利率達到了最高,為2.00%,說明該模型對股票短期收益預測結果最為貼合實際;②這三個優(yōu)化方面之間,Dueling 對Double-Q 與Prioritized-replay 均起到了顯著性促進作用,而Prioritized-replay對Double-Q與Dueling 均起到了顯著性抑制作用,Double-Q則對Prioritized-replay 與Dueling 未起到顯著性改變;③將三個優(yōu)化方面對DQN 算法共同優(yōu)化,相較于單一模型DQN 算法而言,盈虧率有所上升,由此可以得出三個優(yōu)化方面之間存在相互獨立的作用。
本文在股票短期收益預測方面利用深度學習當中的DQN 算法進行探索,針對不同三個優(yōu)化方面進行對比驗證,為后續(xù)將深度學習應用于金融領域奠定了基礎。鑒于短期預測的不穩(wěn)定性,在未來后續(xù)研究中仍有可以優(yōu)化提升的方面。個人認為后續(xù)研究還可以在兩大主題上進行展開:①引入較為穩(wěn)定的預測方案及優(yōu)化技巧的前沿方案,以此來抑制隨機性帶來的影響;②可將該DQN 算法應用在金融其他領域,例如投資領域,以此來促進我國金融領域智能化大力發(fā)展。