楊興雨,陳亮威,鄭蕭騰,張 永
(廣東工業(yè)大學(xué) 管理學(xué)院,廣州 510520)
如何設(shè)計(jì)股票交易策略是金融領(lǐng)域中被廣泛關(guān)注的重要問題。傳統(tǒng)的交易策略利用股票的歷史價(jià)格數(shù)據(jù)進(jìn)行技術(shù)分析,尋找合適的投資機(jī)會(huì),例如雙推力策略[1]。然而,這類交易策略有一定的局限性。一方面,面對(duì)復(fù)雜的金融市場(chǎng),策略的泛化能力較弱,不能很好地適應(yīng)未來的價(jià)格變化;另一方面,策略依賴人類專家對(duì)市場(chǎng)規(guī)律的準(zhǔn)確分析與把握,而人類專家可處理的信息量有限且存在認(rèn)知偏差。
近年來,隨著人工智能的迅速發(fā)展,深度強(qiáng)化學(xué)習(xí)越來越多地被用于設(shè)計(jì)股票交易策略。強(qiáng)化學(xué)習(xí)與人類學(xué)習(xí)類似,通過與環(huán)境的不斷交互試錯(cuò)來積累經(jīng)驗(yàn),從而實(shí)現(xiàn)對(duì)環(huán)境的感知,并做出與環(huán)境相適應(yīng)的決策[2],可應(yīng)用于研究資產(chǎn)定價(jià)[3]等問題。深度學(xué)習(xí)通過多層網(wǎng)絡(luò)和非線性變換對(duì)輸入的信息進(jìn)行特征提取,實(shí)現(xiàn)高維特征的表達(dá),被廣泛應(yīng)用于研究資產(chǎn)定價(jià)[4]、股價(jià)預(yù)測(cè)[5]與信用風(fēng)險(xiǎn)管理[6]等問題。深度強(qiáng)化學(xué)習(xí)將兩者結(jié)合,通過不斷地感知環(huán)境,實(shí)現(xiàn)從狀態(tài)空間到動(dòng)作空間的映射轉(zhuǎn)換,使決策者同時(shí)具有深度感知能力和決策能力,并實(shí)現(xiàn)自適應(yīng)的優(yōu)化控制[7]。目前,深度強(qiáng)化學(xué)習(xí)廣泛應(yīng)用于金融投資決策[8]、商品定價(jià)[9]、游戲博弈[10]等領(lǐng)域,展現(xiàn)了其在解決序列決策問題方面的優(yōu)勢(shì)。
利用深度強(qiáng)化學(xué)習(xí),可以直接從大量金融數(shù)據(jù)中學(xué)習(xí)得到股票交易策略,即根據(jù)決策時(shí)的價(jià)格等信息,對(duì)股票頭寸進(jìn)行適應(yīng)性調(diào)整。與傳統(tǒng)的交易策略相比,基于深度強(qiáng)化學(xué)習(xí)的股票交易策略具有較強(qiáng)的泛化能力。該策略設(shè)計(jì)方法可以方便地調(diào)整網(wǎng)絡(luò)層數(shù)與數(shù)據(jù)類型,具有良好的擴(kuò)展性。對(duì)于利用深度強(qiáng)化學(xué)習(xí)設(shè)計(jì)的股票交易策略,智能體通過不斷地探索金融市場(chǎng)環(huán)境,利用市場(chǎng)反饋的收益獎(jiǎng)勵(lì),適應(yīng)性地調(diào)整股票頭寸。然而,在探索過程中智能體缺少探索方向的指引,學(xué)習(xí)效率低,需要大量的探索才可能得到有效的股票交易策略。因此,本文借鑒模仿學(xué)習(xí)的思想,使智能體在保持自主探索能力的同時(shí),將專家的投資決策作為探索的指引,即模仿專家的行為,從而提高智能體的決策質(zhì)量與學(xué)習(xí)效率,使交易策略具有良好的盈利能力和抗風(fēng)險(xiǎn)能力。
基于上述分析,本文研究考慮行為克隆的深度強(qiáng)化學(xué)習(xí)股票交易策略。首先,選取股票的價(jià)格數(shù)據(jù)與技術(shù)因子作為強(qiáng)化學(xué)習(xí)中環(huán)境的狀態(tài),用于模擬股票市場(chǎng)環(huán)境;其次,通過設(shè)計(jì)專家策略為智能體提供每個(gè)狀態(tài)的投資建議;再次,令智能體不斷探索股票市場(chǎng)環(huán)境,使用對(duì)決DQN(Dueling Deep Qlearning Network,DDQN)算法優(yōu)化智能體的決策,利用行為克隆的方法,使智能體在環(huán)境中探索的同時(shí)模仿專家的決策,從而構(gòu)造出考慮行為克隆的對(duì)決DQN 股票交易策略;最后,對(duì)交易策略進(jìn)行數(shù)值分析,并檢驗(yàn)策略的性能。
本文的主要貢獻(xiàn)如下:
(1) 將模仿學(xué)習(xí)中的行為克隆引入深度強(qiáng)化學(xué)習(xí),讓智能體在探索的同時(shí)克隆專家的決策,提高智能體的決策水平。
(2) 結(jié)合深度強(qiáng)化學(xué)習(xí)與模仿學(xué)習(xí),設(shè)計(jì)同時(shí)具有探索能力和模仿能力的股票交易策略,使交易策略具有良好的盈利與抗風(fēng)險(xiǎn)能力。
(3) 利用多只股票對(duì)所設(shè)計(jì)的策略進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的策略可以適應(yīng)金融市場(chǎng)的變化,具有良好的泛化能力。
利用深度強(qiáng)化學(xué)習(xí)算法設(shè)計(jì)股票交易策略已成為量化投資領(lǐng)域的新趨勢(shì),受到眾多學(xué)者的廣泛關(guān)注,取得了豐富的研究成果。
許多學(xué)者提出了以Q 學(xué)習(xí)算法為框架的交易策略。Chakole等[11]利用K-Means聚類算法對(duì)股票狀態(tài)進(jìn)行離散化,并確定每個(gè)狀態(tài)類別離散的交易動(dòng)作集合,借助Q 學(xué)習(xí)算法設(shè)計(jì)了一個(gè)單只股票交易策略。由于深度學(xué)習(xí)的發(fā)展,可以利用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)非離散的股票狀態(tài)到投資動(dòng)作的映射,使強(qiáng)化學(xué)習(xí)也適用于狀態(tài)連續(xù)的決策問題。Li等[12]利用深度Q 學(xué)習(xí)(Deep Q-learning Network,DQN)算法分別在股票上實(shí)現(xiàn)了交易策略,通過數(shù)值實(shí)驗(yàn)驗(yàn)證了將深度強(qiáng)化學(xué)習(xí)用于設(shè)計(jì)股票交易策略的優(yōu)勢(shì)。許杰等[13]利用長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)和卷積神經(jīng)網(wǎng)絡(luò)(CNN),提出了一個(gè)可在復(fù)雜的金融市場(chǎng)中實(shí)現(xiàn)自動(dòng)交易的DQN 股票交易算法??紤]到股票數(shù)據(jù)的噪聲與非線性往往是影響交易策略性能的重要因素,Wu等[14]利用門控循環(huán)單元(GRU)提取股票在時(shí)間維度上的特征,結(jié)合DQN 算法構(gòu)造了GDQN 模型,實(shí)現(xiàn)了單只股票的自適應(yīng)交易。Lucarelli等[15]設(shè)計(jì)了一個(gè)由單個(gè)全局智能體和多個(gè)局部智能體構(gòu)成的深度Q 學(xué)習(xí)投資組合管理框架,其中,每個(gè)局部智能體負(fù)責(zé)單個(gè)資產(chǎn)的交易,全局智能體管理每個(gè)局部智能體的獎(jiǎng)勵(lì),且在加密貨幣市場(chǎng)對(duì)所設(shè)計(jì)策略進(jìn)行了測(cè)試。Lee等[16]基于多智能體DQN 強(qiáng)化學(xué)習(xí)框架設(shè)計(jì)了一個(gè)分散化的投資組合策略。為了在動(dòng)態(tài)的金融市場(chǎng)中實(shí)現(xiàn)穩(wěn)定的決策,Jeong等[17]利用深度神經(jīng)網(wǎng)絡(luò)提取股票價(jià)格數(shù)據(jù)的時(shí)序特征和挖掘交易信號(hào),并結(jié)合DQN算法設(shè)計(jì)了具有良好魯棒性的深度強(qiáng)化學(xué)習(xí)交易策略。
在基于深度強(qiáng)化學(xué)習(xí)設(shè)計(jì)交易策略的過程中,上述研究只關(guān)注股票自身的信息,而在現(xiàn)實(shí)的投資決策過程中,往往還需要參考專家的決策建議。因此,本文考慮將模仿學(xué)習(xí)引入深度強(qiáng)化學(xué)習(xí)股票交易策略,使智能體在學(xué)習(xí)過程中模仿專家的決策,從而提高智能體的學(xué)習(xí)效率與決策質(zhì)量。模仿學(xué)習(xí)使智能體通過模仿專家的決策過程學(xué)習(xí)策略。類似于強(qiáng)化學(xué)習(xí),模仿學(xué)習(xí)也適用于決策問題,其廣泛應(yīng)用于機(jī)器人控制[18]、自動(dòng)駕駛[19]、游戲[20]等領(lǐng)域,例如AlphaGo即通過克隆人類圍棋選手的行為進(jìn)行決策。然而,將模仿學(xué)習(xí)應(yīng)用于金融領(lǐng)域的研究較少。Liu等[21]通過模仿學(xué)習(xí)使智能體在學(xué)習(xí)中盡可能地參考專家的投資決策,設(shè)計(jì)了一個(gè)高頻的期貨交易算法。
隨著深度強(qiáng)化學(xué)習(xí)算法的不斷發(fā)展,不少更穩(wěn)定的DQN 改進(jìn)算法被提出,例如對(duì)決DQN[22]。為了進(jìn)一步豐富深度強(qiáng)化學(xué)習(xí)應(yīng)用于股票交易的研究,本文將對(duì)決DQN 作為基礎(chǔ)模型,設(shè)計(jì)股票交易策略。同時(shí),結(jié)合模仿學(xué)習(xí)的行為克隆方法,通過引入專家的決策信息,讓智能體在探索環(huán)境的同時(shí)克隆專家的決策,使其同時(shí)具有自主探索能力和模仿能力。將模仿學(xué)習(xí)引入強(qiáng)化學(xué)習(xí),一方面可以利用專家信息作為智能體探索環(huán)境的指引,提高探索環(huán)境的效率與決策質(zhì)量;另一方面保持智能體的自主探索能力,避免只依賴于行為克隆方法導(dǎo)致策略泛化能力弱的問題。
強(qiáng)化學(xué)習(xí)是通過與環(huán)境的不斷交互試錯(cuò),根據(jù)環(huán)境反饋的獎(jiǎng)勵(lì),不斷優(yōu)化策略。智能體觀測(cè)到環(huán)境的狀態(tài)s t,并根據(jù)策略π做出動(dòng)作a t,然后從環(huán)境中得到獎(jiǎng)勵(lì)r t,同時(shí)觀測(cè)到環(huán)境的下一個(gè)狀態(tài)s t+1。框架如圖1所示。
圖1 強(qiáng)化學(xué)習(xí)框架Fig.1 The framework of the reinforcement learning
智能體在狀態(tài)s t下執(zhí)行動(dòng)作a t,從環(huán)境中獲得的折扣獎(jiǎng)勵(lì)記為u t,其期望稱為動(dòng)作價(jià)值函數(shù)或Q函數(shù),記為Q(s t,a t),即
式中,γ為折扣率,且γ∈(0,1)。動(dòng)作價(jià)值函數(shù)可用于判斷動(dòng)作a t的好壞。
Q 學(xué)習(xí)的目的是學(xué)習(xí)最優(yōu)動(dòng)作價(jià)值函數(shù),使智能體做出最優(yōu)決策,其更新公式為
2015年,Mnih等[7]基于深度神經(jīng)網(wǎng)絡(luò)和Q 學(xué)習(xí)算法,使用Q 網(wǎng)絡(luò)代替Q 表,實(shí)現(xiàn)連續(xù)狀態(tài)到離散動(dòng)作的映射,即(其 中θQ為Q 網(wǎng)絡(luò)的參數(shù)),提出了DQN 算法。同時(shí),為充分利用智能體的探索經(jīng)驗(yàn),DQN 引入經(jīng)驗(yàn)回放機(jī)制[23]。在智能體每次與環(huán)境交互之后,將經(jīng)驗(yàn)四元組(s t,a t,r t,s t+1)存放在經(jīng)驗(yàn)回放池P中。在訓(xùn)練過程中,DQN 每次從P中隨機(jī)抽取N個(gè)四元組,并將當(dāng)前Q值與目標(biāo)Q值之間的均方誤差作為損失函數(shù),即
然而,DQN 算法存在高估Q值的問題[24],對(duì)決DQN 算法是解決這一問題的方法之一。該算法通過改進(jìn)DQN 中Q 網(wǎng)絡(luò)的結(jié)構(gòu),更準(zhǔn)確地估計(jì)Q值。對(duì)于某個(gè)狀態(tài),動(dòng)作價(jià)值與狀態(tài)價(jià)值之差稱為動(dòng)作優(yōu)勢(shì)值,對(duì)決DQN 設(shè)計(jì)了狀態(tài)價(jià)值網(wǎng)絡(luò)和動(dòng)作優(yōu)勢(shì)網(wǎng)絡(luò),分別計(jì)算智能體的狀態(tài)價(jià)值V(s)以及各動(dòng)作的優(yōu)勢(shì)值D(s,a),從而得到Q(s,a)。對(duì)決DQN 還包括一個(gè)共享網(wǎng)絡(luò),其網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 對(duì)決DQN 框架Fig.2 The framework of the dueling DQN
模仿學(xué)習(xí)是一種針對(duì)專家決策進(jìn)行模仿的方法,其中最直接的模仿學(xué)習(xí)方法是行為克隆(Behavior Cloning,BC),即對(duì)專家的決策行為進(jìn)行克隆[26]。它以專家的決策動(dòng)作為標(biāo)簽,使智能體在克隆專家決策的過程中得到一個(gè)接近專家決策水平的策略。
行為克隆的決策流程如下:
(1) 構(gòu)建一個(gè)專家訓(xùn)練集D,由M個(gè)“(狀態(tài),動(dòng)作)”二元組組成,即
(2) 在監(jiān)督學(xué)習(xí)的范式下,將智能體在N個(gè)狀態(tài)下的決策與專家決策的差距,定義為行為克隆的損失,即
(3) 計(jì)算損失值Loss(θμ),并利用梯度下降法優(yōu)化策略網(wǎng)絡(luò)參數(shù)θμ,從而使智能體具有接近專家決策水平的能力。
在強(qiáng)化學(xué)習(xí)中,智能體不斷地在環(huán)境中進(jìn)行探索,并根據(jù)環(huán)境反饋的獎(jiǎng)勵(lì),優(yōu)化自身的策略。然而,智能體通過探索的方式學(xué)習(xí)策略,存在學(xué)習(xí)效率低、策略收斂速度慢的問題[27]。若智能體在學(xué)習(xí)過程中將有關(guān)決策的先驗(yàn)知識(shí)作為指引,則有望提高其探索與學(xué)習(xí)的效率。因此,本文考慮利用機(jī)器學(xué)習(xí)中模仿學(xué)習(xí)的思想,賦予智能體模仿專家決策的能力,提高智能體的決策水平。具體地,本節(jié)結(jié)合對(duì)決DQN 與行為克隆,設(shè)計(jì)一個(gè)克隆專家決策的深度強(qiáng)化學(xué)習(xí)股票交易策略。
理想的專家行為應(yīng)與市場(chǎng)行情一致,即專家在每期決策時(shí)已知當(dāng)期股票價(jià)格的漲跌,并進(jìn)行相應(yīng)的買入或賣出操作。由于專家在每期期初調(diào)整資產(chǎn)頭寸時(shí)已知當(dāng)期股票價(jià)格的漲跌,故專家只持有現(xiàn)金或股票。
專家決策規(guī)則如下:
(1) 若當(dāng)期股票的收盤價(jià)高于開盤價(jià),則專家買入股票。具體地,若專家當(dāng)前持有現(xiàn)金,則全部買入股票;若專家當(dāng)前持有股票,則繼續(xù)持有。記對(duì)應(yīng)的交易動(dòng)作為1。
(2) 若當(dāng)期股票的收盤價(jià)低于開盤價(jià),則專家賣出股票。具體地,若專家當(dāng)前持有股票,則賣出全部股票,轉(zhuǎn)為持有現(xiàn)金;若專家當(dāng)前持有現(xiàn)金,則繼續(xù)持有。記對(duì)應(yīng)的交易動(dòng)作為-1。
(3) 若當(dāng)期股票行情持平,即收盤價(jià)等于開盤價(jià),則專家不進(jìn)行任何交易操作,記對(duì)應(yīng)的交易動(dòng)作為0。
綜上可知,第t期的專家動(dòng)作可表示為
投資者難以預(yù)知未來股票的漲跌,而且該類型的專家策略只有在事后才能確定,因此,這類專家策略不能用于現(xiàn)實(shí)的股票交易。本文將該類型專家引入股票交易策略的訓(xùn)練過程中,為智能體提供一個(gè)模仿對(duì)象,使智能體進(jìn)行自主探索的同時(shí)根據(jù)專家的決策進(jìn)行模仿學(xué)習(xí)。
為實(shí)現(xiàn)基于深度強(qiáng)化學(xué)習(xí)框架的股票交易策略,下面首先介紹環(huán)境的狀態(tài)、智能體的交易規(guī)則與動(dòng)作以及環(huán)境中的獎(jiǎng)勵(lì)函數(shù),然后利用深度強(qiáng)化學(xué)習(xí)對(duì)決DQN 算法和行為克隆方法設(shè)計(jì)完整的股票交易策略。
3.2.1環(huán)境的狀態(tài) 狀態(tài)是對(duì)環(huán)境的一種描述,代表智能體從環(huán)境中所能獲取的信息。利用股票價(jià)格數(shù)據(jù)與技術(shù)因子等指標(biāo)模擬真實(shí)的金融環(huán)境,包括每日股票的開盤價(jià)(Open)、最高價(jià)(High)、最低價(jià)(Low)、收盤價(jià)(Close)、相對(duì)強(qiáng)弱指數(shù)(RSI)、變動(dòng)率指標(biāo)(ROC)、順勢(shì)指標(biāo)(CCI)、收盤價(jià)平滑異同移動(dòng)平均線(MACD)、指數(shù)平均數(shù)指標(biāo)(EMA)和成交量平滑異同移動(dòng)平均線(VMACD)10個(gè)指標(biāo)。智能體每次從環(huán)境中觀察到的狀態(tài)是股票在過去一個(gè)歷史時(shí)間窗口內(nèi)(本文的歷史時(shí)間窗口大小是15個(gè)交易日)的各指標(biāo)數(shù)據(jù)。狀態(tài)s的樣例如表1所示。
表1 環(huán)境的狀態(tài)s 的樣例Tab.1 The example of the environment state s
3.2.2智能體動(dòng)作與獎(jiǎng)勵(lì)函數(shù) 在投資過程中,投資者只持有股票或現(xiàn)金,不會(huì)同時(shí)持有兩者,在每期期初對(duì)資產(chǎn)頭寸進(jìn)行調(diào)整,因此,投資者的決策包含將持有的資金全部買入股票、將持有的股票全部賣出和不進(jìn)行任何交易3 種,分別記為1、-1 與0。智能體的動(dòng)作記為a t,代表投資者的投資決策,其取值范圍為{1,-1,0},與專家動(dòng)作一致。值得注意的是,相比于專家策略,智能體并不知道當(dāng)期股票的漲跌,只能基于過去歷史時(shí)間窗口內(nèi)的數(shù)據(jù)進(jìn)行投資決策。
在強(qiáng)化學(xué)習(xí)中,通常選取Q值最大的動(dòng)作作為智能體的動(dòng)作,即然而,對(duì)于本文研究的股票交易問題,Q值最大的動(dòng)作不一定能夠被執(zhí)行。具體地,若當(dāng)前不持有現(xiàn)金,則買入動(dòng)作不能被執(zhí)行;若當(dāng)前不持有股票,則賣出動(dòng)作不能被執(zhí)行。因此,下面分3 種情形討論智能體的動(dòng)作。為方便敘述,記第t期末股票的持有數(shù)量為m t,第t期末的現(xiàn)金數(shù)額為b t,交易費(fèi)用率為c。
將第t+1期對(duì)數(shù)收益率作為環(huán)境對(duì)智能體的獎(jiǎng)勵(lì),即
3.2.3股票交易策略 股票投資是一個(gè)序列決策問題,可利用深度強(qiáng)化學(xué)習(xí)方法實(shí)現(xiàn)交易決策。相比于DQN 算法,對(duì)決DQN 算法能更準(zhǔn)確地估計(jì)各投資動(dòng)作帶來的未來期望收益。因此,本文基于對(duì)決DQN 算法設(shè)計(jì)股票交易策略。
令智能體在金融環(huán)境中探索。具體地,在第t期智能體觀察狀態(tài)st,通過ε貪心策略選擇投資動(dòng)作a t,從環(huán)境中獲得相應(yīng)的即期獎(jiǎng)勵(lì)r t,隨后環(huán)境返回下一個(gè)狀態(tài)s t+1,得到一個(gè)經(jīng)驗(yàn)四元組(s t,a t,r t,s t+1)。為了打破經(jīng)驗(yàn)間相關(guān)性和重復(fù)利用經(jīng)驗(yàn),采用經(jīng)驗(yàn)回放技巧,將智能體每次探索得到的經(jīng)驗(yàn)放入經(jīng)驗(yàn)回放池。當(dāng)經(jīng)驗(yàn)數(shù)量大于閾值L時(shí),開始對(duì)Q 網(wǎng)絡(luò)進(jìn)行訓(xùn)練。隨機(jī)抽取經(jīng)驗(yàn)回放池的N條經(jīng)驗(yàn)計(jì)算這批經(jīng)驗(yàn)四元組的實(shí)際Q值與目標(biāo)Q值間的均方誤差,即
對(duì)決DQN 通過不斷地與環(huán)境交互以優(yōu)化策略,這種基于探索的學(xué)習(xí)方式存在效率不高、策略收斂速度慢的問題。為此,本文將對(duì)決DQN 與行為克隆方法相結(jié)合,將專家的決策作為智能體模仿的對(duì)象,通過模仿專家來提高智能體的學(xué)習(xí)效率與決策質(zhì)量。令智能體對(duì)被抽取的歷史狀態(tài)s i再次決策,對(duì)應(yīng)的動(dòng)作為,并與專家動(dòng)作進(jìn)行對(duì)比,然后計(jì)算智能體的模仿?lián)p失,即此處不應(yīng)采用狀態(tài)si下的歷史動(dòng)作a i與專家動(dòng)作對(duì)比,是因?yàn)檫^去的決策不能及時(shí)反映智能體模仿的效果。
為使智能體同時(shí)具備探索環(huán)境和克隆專家決策的能力,本文將智能體的強(qiáng)化學(xué)習(xí)損失和模仿?lián)p失進(jìn)行加權(quán)求和,作為智能體的最終損失??紤]到智能體的強(qiáng)化學(xué)習(xí)損失與模仿?lián)p失存在量綱不一致的問題,若直接聯(lián)結(jié)智能體強(qiáng)化學(xué)習(xí)損失和模仿?lián)p失,則調(diào)節(jié)效果不明顯。因此,本文利用兩個(gè)損失的極差解決該問題。具體地,智能體強(qiáng)化學(xué)習(xí)損失和模仿學(xué)習(xí)損失的極差的定義為:
利用極差分別對(duì)這兩部分的損失進(jìn)行歸一化,再利用參數(shù)λ1、λ2加權(quán)處理后的損失,最終構(gòu)造模型的損失函數(shù)。具體定義為
式中:θ為Q 網(wǎng)絡(luò)的參數(shù);λ1和λ2分別為探索損失與模仿?lián)p失的權(quán)重,用于調(diào)節(jié)智能體探索能力和模仿專家的程度,λ1+λ2=1,λ1∈[0,1]。當(dāng)λ1=0,λ2=1時(shí),智能體僅具有克隆專家決策的能力。隨著λ1的不斷增大和λ2的不斷減小,智能體的探索能力逐漸增強(qiáng),模仿能力逐漸減弱。當(dāng)λ1=1,λ2=0時(shí),智能體僅具有自主探索的能力。
利用梯度下降法對(duì)Q 網(wǎng)絡(luò)參數(shù)θ進(jìn)行更新,更新公式為
式中,α為學(xué)習(xí)率。
綜上所述,本文設(shè)計(jì)了考慮行為克隆的對(duì)決DQN 股票交易策略,稱為BCDDQN(Behavior Cloning Dueling Deep Q-learning Network)。該策略的整體算法框架如圖3所示。
圖3 股票交易策略BCDDQN 的算法框架Fig.3 The algorithm framework of the stock trading strategy BCDDQN
偽代碼如算法1所示:
為檢驗(yàn)上節(jié)所設(shè)計(jì)的BCDDQN 策略的性能,將在多只股票上對(duì)其進(jìn)行訓(xùn)練與測(cè)試,同時(shí)與多個(gè)基準(zhǔn)策略進(jìn)行對(duì)比,并分析相關(guān)的實(shí)驗(yàn)結(jié)果。
從銀行、房地產(chǎn)、制造業(yè)與高新科技行業(yè)選取4只股票作為測(cè)試對(duì)象,分別是中國(guó)A 股市場(chǎng)的平安銀行、萬科A、格力電器和紫光股份。為了更充分地說明策略的性能,額外選取銀行業(yè)指數(shù)、家電行業(yè)指數(shù)與滬深300指數(shù)作為測(cè)試對(duì)象。
描述環(huán)境狀態(tài)的資產(chǎn)數(shù)據(jù)從東方財(cái)富網(wǎng)中獲得,時(shí)間段是2011年3月1日至2023年3 月1日。其中,將2011-03-01~2020-02-07 的交易數(shù)據(jù)作為訓(xùn)練集,將2020-02-10~2023-03-01的交易數(shù)據(jù)作為測(cè)試集。由于策略在決策時(shí)需要使用過去15個(gè)交易日的數(shù)據(jù),故測(cè)試數(shù)據(jù)中初始決策日實(shí)際為2020年3月1日。對(duì)于數(shù)據(jù)殘缺值,采取過去歷史時(shí)間窗口內(nèi)的平均值進(jìn)行代替。
在實(shí)驗(yàn)中,選取3 個(gè)全連接神經(jīng)網(wǎng)絡(luò)作為BCDDQN 策略的共享網(wǎng)絡(luò)、狀態(tài)價(jià)值網(wǎng)絡(luò)與動(dòng)作優(yōu)勢(shì)值網(wǎng)絡(luò)。選取股票的10個(gè)指標(biāo)在過去15個(gè)交易日的每日數(shù)據(jù)作為狀態(tài)s,將其轉(zhuǎn)換為一個(gè)150維的向量作為Q 網(wǎng)絡(luò)的輸入,亦即共享網(wǎng)絡(luò)的輸入。設(shè)置共享網(wǎng)絡(luò)輸出層的節(jié)點(diǎn)數(shù)為50,即狀態(tài)價(jià)值網(wǎng)絡(luò)與動(dòng)作優(yōu)勢(shì)值網(wǎng)絡(luò)輸入層的節(jié)點(diǎn)數(shù)為50。后兩者的輸出層節(jié)點(diǎn)數(shù)分別為3和1。Q 網(wǎng)絡(luò)最終輸出一個(gè)維度為3的向量,各分量分別為買入、持有和賣出3個(gè)動(dòng)作的價(jià)值。
設(shè)置智能體與環(huán)境交互的回合E=100,學(xué)習(xí)率α=0.001,經(jīng)驗(yàn)回放池中經(jīng)驗(yàn)數(shù)量閾值L=1 500,每次抽取經(jīng)驗(yàn)四元組的個(gè)數(shù)N=512,探索損失權(quán)重λ1與模仿?lián)p失權(quán)重λ2均為0.5。在訓(xùn)練過程中,Q網(wǎng)絡(luò)參數(shù)每更新10次,目標(biāo)Q網(wǎng)絡(luò)參數(shù)更新一次。另外,除了交易成本靈敏度分析,取交易費(fèi)用率為0.3%。
本文將與買入并持有策略、基于DQN 的交易算法、基于對(duì)決DQN 的交易算法、基于行為克隆的交易算法以及A 股市場(chǎng)指數(shù)在測(cè)試集內(nèi)的表現(xiàn)進(jìn)行對(duì)比。各對(duì)比策略介紹如下:
(1) 買入并持有策略(B&H)。該策略在第1期使用全部現(xiàn)金買入股票,此后不進(jìn)行任何買賣操作,其最終累計(jì)收益完全由市場(chǎng)決定。因此,通過觀察B&H 策略的走勢(shì),可以判斷該股票在各階段內(nèi)是否發(fā)生了較大的價(jià)格變化。
(2) 基于DQN 的交易策略。該算法適用于解決狀態(tài)連續(xù)的序列決策問題,其決策動(dòng)作是離散的。DQN 算法可用于實(shí)現(xiàn)股票交易,在每一期選擇對(duì)股票進(jìn)行買入、持有或賣出的決策。
(3) 基于對(duì)決DQN 的交易策略。與DQN 算法類似,該算法同樣適合于解決連續(xù)狀態(tài)的序列決策問題,其決策動(dòng)作是離散的。相對(duì)于DQN 算法,對(duì)決DQN 對(duì)動(dòng)作價(jià)值的估計(jì)更準(zhǔn)確。
(4) 基于行為克隆的交易策略。該策略僅利用行為克隆的模仿學(xué)習(xí)方法。該算法中的智能體不與環(huán)境進(jìn)行交互,而是在監(jiān)督學(xué)習(xí)的范式下,以專家決策為標(biāo)簽,通過克隆專家的決策學(xué)習(xí)股票交易策略。
(5) 市場(chǎng)策略。利用A 股指數(shù)在測(cè)試時(shí)間段內(nèi)的表現(xiàn)與BCDDQN 進(jìn)行對(duì)比,從而判斷BCDDQN盈利表現(xiàn)是否能夠高于市場(chǎng)整體水平。
在各策略訓(xùn)練完成后,將它們分別在不同股票上進(jìn)行測(cè)試,記錄每期的累計(jì)收益率,并選取年化收益率、夏普比率與卡瑪比率作為評(píng)價(jià)策略性能的指標(biāo),計(jì)算公式分別為:
式中:y為投資年限;n為投資期數(shù);S n為累計(jì)至n期的收益率;最大回撤
rf為無風(fēng)險(xiǎn)年化收益率;σ為日收益率的年化標(biāo)準(zhǔn)差。本文取rf=0.03。
本節(jié)對(duì)比各策略在累計(jì)收益率、夏普比率和卡瑪比率等指標(biāo)上的表現(xiàn),以此分析損失函數(shù)中權(quán)重λ1、λ2和 交易成本對(duì)本文策略BCDDQN 的影響,并對(duì)BCDDQN 策略進(jìn)行超額收益檢驗(yàn)。
4.4.1策略的收益表現(xiàn) 為檢驗(yàn)本文策略的盈利能力,分別使用上述所選標(biāo)的資產(chǎn)對(duì)其進(jìn)行測(cè)試,計(jì)算策略在各標(biāo)的資產(chǎn)上的逐日累計(jì)收益率,并與其他策略進(jìn)行對(duì)比,如圖4所示。
圖4 各策略在不同標(biāo)的資產(chǎn)上的逐日累計(jì)收益率對(duì)比Fig.4 The comparison of daily cumulative returns of the strategies on different underlying assets
由圖4可以發(fā)現(xiàn):對(duì)比基于行為克隆的交易算法,BCDDQN 策略的逐日累計(jì)收益率更高。基于行為克隆的交易算法缺少自主探索能力,其每期的投資動(dòng)作只是針對(duì)當(dāng)期情況做出,而強(qiáng)化學(xué)習(xí)方法會(huì)考慮對(duì)未來期望收益的影響。通過觀察BCDDQN 策略在7 只標(biāo)的資產(chǎn)上的表現(xiàn),可以發(fā)現(xiàn):當(dāng)市場(chǎng)上漲時(shí),智能體往往能夠持有股票賺取收益;反之,當(dāng)市場(chǎng)下跌時(shí),智能體往往能夠賣出股票減少損失。這體現(xiàn)了BCDDQN 策略具有充分應(yīng)對(duì)股票價(jià)格變化的能力和較好的泛化能力。DQN 與DDQN 交易算法缺少模仿專家投資決策的能力,僅通過自主探索能力所學(xué)策略不能很好地適應(yīng)未來復(fù)雜且變化的金融市場(chǎng),導(dǎo)致策略的收益表現(xiàn)不足。對(duì)比DQN 和DDQN 只有自主探索能力的交易算法,BCDDQN 策略的逐日累計(jì)收益率也是最高的。BCDDQN 策略通過行為克隆的方法模仿專家決策,充分利用專家的投資建議,從而智能體在各狀態(tài)下能更準(zhǔn)確地執(zhí)行投資動(dòng)作。因此,同時(shí)結(jié)合強(qiáng)化學(xué)習(xí)和模仿學(xué)習(xí)的股票交易策略有更好的收益表現(xiàn),其逐日累計(jì)收益率明顯高于其他對(duì)比策略。
4.4.2策略風(fēng)險(xiǎn)調(diào)整的收益表現(xiàn) 衡量股票交易策略的性能既要考慮收益也要考慮風(fēng)險(xiǎn),因此關(guān)注策略風(fēng)險(xiǎn)調(diào)整的收益表現(xiàn)。測(cè)試各策略并計(jì)算夏普比率和卡瑪比率,結(jié)果如表2、3所示。
表2 各策略的夏普比率Tab.2 The Sharpe ratios of the strategies
表3 各策略的卡瑪比率Tab.3 The Calmar ratios of the strategies
由表2、3可知,BCDDQN 策略的風(fēng)險(xiǎn)調(diào)整后的收益均優(yōu)于其他策略。基于行為克隆的策略僅模仿專家的決策,在學(xué)習(xí)過程中缺少收益等信息的指示,即智能體不知道決策可帶來的獎(jiǎng)勵(lì)與動(dòng)作價(jià)值,最終策略的收益表現(xiàn)不足。BCDDQN 策略在模仿的同時(shí)保持了自主探索能力,不僅模仿專家的投資決策,而且還利用環(huán)境反饋的獎(jiǎng)勵(lì)信息調(diào)整策略,從而提高策略在風(fēng)險(xiǎn)調(diào)整后的收益。
DQN 和DDQN 交易策略只是根據(jù)每期的對(duì)數(shù)收益率來調(diào)整投資策略,則智能體可能會(huì)執(zhí)行冒險(xiǎn)的投資動(dòng)作來賺取收益而忽略風(fēng)險(xiǎn)。BCDDQN 策略通過引入專家決策進(jìn)行模仿,使智能體在探索時(shí)考慮決策可實(shí)現(xiàn)收益的同時(shí)減少?zèng)Q策帶來的風(fēng)險(xiǎn),最終策略具有良好的風(fēng)險(xiǎn)調(diào)整后的收益表現(xiàn)。同時(shí),策略的抗風(fēng)險(xiǎn)表現(xiàn)也是股票交易策略的重要性能,相關(guān)結(jié)果如表4所示。由表4可知,BCDDQN 策略抗風(fēng)險(xiǎn)的表現(xiàn)也是最優(yōu)的。綜上所述,BCDDQN 策略在所選股票上展現(xiàn)了良好的適用性和抗風(fēng)險(xiǎn)能力。
表4 各策略的最大回撤Tab.4 The maximum drawdowns of the strategies
4.4.3行為克隆與對(duì)決Q 網(wǎng)絡(luò)的作用 為了進(jìn)一步驗(yàn)證智能體在探索環(huán)境時(shí)克隆專家決策的有效性以及不同類型Q 網(wǎng)絡(luò)對(duì)策略的影響,本文設(shè)計(jì)了考慮行為克隆的DQN 算法,記為BCDQN(Behavior Cloning Deep Q-learning Network)策略。BCDQN策略分別與DQN 交易算法和BCDDQN 策略對(duì)比年化收益率,從而驗(yàn)證使用行為克隆和對(duì)決Q 網(wǎng)絡(luò)的作用。BCDDQN 策略與DDQN 交易算法對(duì)比年化收益率,用于驗(yàn)證克隆專家決策的作用;DDQN 交易算法與DQN 交易算法對(duì)比年化收益率,用于驗(yàn)證使用對(duì)決Q 網(wǎng)絡(luò)的作用。實(shí)驗(yàn)結(jié)果如表5所示。
表5 各策略的年化收益率Tab.5 The annualized percentage yields of the strategies
由表5可知:在多數(shù)股票上考慮行為克隆的深度強(qiáng)化學(xué)習(xí)交易策略對(duì)比未考慮行為克隆的深度強(qiáng)化學(xué)習(xí)股票交易策略實(shí)現(xiàn)了更高的收益,即BCDQN 策略好于DQN策略,且BCDDQN 策略好于DDQN策略;使用對(duì)決Q 網(wǎng)絡(luò)的策略對(duì)比使用傳統(tǒng)Q 網(wǎng)絡(luò)的策略,在多數(shù)股票上實(shí)現(xiàn)了更高的年化收益率,即DDQN 策略好于DQN策略,且BCDDQN策略好于BCDQN策略。BCDDQN 策略結(jié)合強(qiáng)化學(xué)習(xí)和模仿學(xué)習(xí)兩種方法,不僅保持了在環(huán)境中自主探索的能力,而且還具有克隆專家決策的能力,使智能體在學(xué)習(xí)時(shí)同時(shí)利用自主探索的學(xué)習(xí)經(jīng)驗(yàn)和專家的投資建議優(yōu)化投資策略,從而智能體執(zhí)行更為恰當(dāng)?shù)耐顿Y動(dòng)作,帶來更高的收益。
4.4.4損失函數(shù)中權(quán)重對(duì)策略的影響 本文策略通過探索損失權(quán)重λ1與模仿?lián)p失權(quán)重λ2控制智能體自主探索和克隆專家決策的程度。為了分析損失函數(shù)中權(quán)重對(duì)策略的影響,分別計(jì)算BCDDQN 策略在不同權(quán)重取值下的年化收益率,如表6所示。
表6 參數(shù)λ1 與λ2 對(duì)各策略年化收益率的影響Tab.6 The impact of parametersλ1 and λ2 on the annualized percentage yields of the strategies
由表6可知:當(dāng)λ1取值較小、λ2取值較大時(shí),智能體主要依賴于專家過去的決策經(jīng)驗(yàn)進(jìn)行模仿學(xué)習(xí),并利用所學(xué)投資策略做出關(guān)于未來市場(chǎng)的決策,策略在缺少足夠的探索時(shí)未能實(shí)現(xiàn)良好的收益;當(dāng)λ1取值較大、λ2取值較小時(shí),智能體主要依賴于自主探索能力進(jìn)行學(xué)習(xí),智能體在探索過程中模仿專家的投資建議不充分,所學(xué)策略不能充分體現(xiàn)專家的決策規(guī)則,使得策略可帶來的收益降低;當(dāng)λ1、λ2取值恰當(dāng)時(shí),智能體在環(huán)境中探索時(shí)具有充分的自主探索能力和克隆專家決策能力,策略在各股均實(shí)現(xiàn)良好的收益。因此,應(yīng)同時(shí)保持智能體的自主探索能力和模仿能力,使智能體在學(xué)習(xí)過程中充分利用環(huán)境反饋的信息和專家的投資建議不斷地優(yōu)化投資策略。
4.4.5交易成本對(duì)策略收益的影響 交易成本是影響策略實(shí)現(xiàn)收益的重要因素之一,智能體每次買賣標(biāo)的資產(chǎn)時(shí)均會(huì)產(chǎn)生交易費(fèi)用。為了分析交易成本對(duì)策略收益的影響,對(duì)各策略在交易費(fèi)用率分別為0.00%、0.15%、0.30%、0.45%和0.60%時(shí)進(jìn)行測(cè)試,計(jì)算它們?cè)诓煌灰壮杀鞠伦罱K實(shí)現(xiàn)的年化收益率。具體結(jié)果如圖5所示。
圖5 交易成本對(duì)策略收益的影響Fig.5 The impact of transaction costs on the returns of the strategies
由實(shí)驗(yàn)結(jié)果可知,當(dāng)交易費(fèi)用率不斷提高時(shí),各股票交易策略可實(shí)現(xiàn)的收益均呈現(xiàn)下降趨勢(shì)。本文提出的BCDDQN 股票交易策略,在不同的交易費(fèi)用率下,其收益變化曲線均高于其他策略的收益變化曲線,且在各股中實(shí)現(xiàn)了最高的年化收益率。即使在高交易費(fèi)用率下,BCDDQN 股票交易策略仍然表現(xiàn)出良好的盈利能力,相比于其他策略具備更高的收益性和穩(wěn)定性。因此,同時(shí)保持智能體的自主探索能力和模仿能力,能有效提高智能體的投資決策水平,使股票交易策略有良好的收益表現(xiàn)。
4.4.6基于Fama-French三因子模型與五因子模型的策略超額收益檢驗(yàn) 實(shí)現(xiàn)超額收益是交易策略的核心目標(biāo)之一,一個(gè)交易策略如果能持續(xù)地獲得超額收益,則意味著該策略具有一定的市場(chǎng)優(yōu)勢(shì),并能夠抓住市場(chǎng)中存在的收益機(jī)會(huì)。為了檢驗(yàn)BCDDQN 策略是否具有市場(chǎng)優(yōu)勢(shì),利用Fama-French 三因子模型[28]與Fama-French 五因子模型[29]對(duì)BCDDQN 策略進(jìn)行超額收益檢驗(yàn),檢驗(yàn)結(jié)果如表7、8所示。實(shí)驗(yàn)結(jié)果表明,BCDDQN 策略在測(cè)試集中均實(shí)現(xiàn)超額收益且通過顯著性檢驗(yàn)。本文策略為投資者實(shí)現(xiàn)了比市場(chǎng)平均水平更高的收益,從而增加投資者的回報(bào)。
表7 基于Fama-French三因子模型的BCDDQN超額收益檢驗(yàn)Tab.7 The excess return test of the strategy BCDDQN based on Fama-French three-factor model
表8 基于Fama-French五因子模型的BCDDQN超額收益檢驗(yàn)Tab.8 The excess return test of the strategy BCDDQN based on Fama-French five-factor model
本文將專家的決策信息引入深度強(qiáng)化學(xué)習(xí)對(duì)決DQN 算法中,設(shè)計(jì)了同時(shí)具有探索能力和模仿能力的股票交易策略。利用不同標(biāo)的資產(chǎn)數(shù)據(jù)對(duì)本文策略進(jìn)行測(cè)試,實(shí)驗(yàn)發(fā)現(xiàn):本文策略在收益和風(fēng)險(xiǎn)指標(biāo)上均表現(xiàn)良好,具有較強(qiáng)的抗風(fēng)險(xiǎn)能力與適用性。這說明,模仿專家決策的同時(shí)保持自主學(xué)習(xí)能力能夠有效提高交易策略的表現(xiàn)。
本文存在一些不足。設(shè)計(jì)的交易策略只適用單只股票的投資決策,在決策過程中僅使用歷史價(jià)格數(shù)據(jù)與技術(shù)指標(biāo)。因此,未來研究將利用多源異構(gòu)的股票數(shù)據(jù),包括基本面數(shù)據(jù)和財(cái)經(jīng)文本數(shù)據(jù),設(shè)計(jì)交易多只股票的策略。