[轉(zhuǎn)] 模型參數(shù)的優(yōu)化與取舍
交易系統(tǒng)可以理解為由內(nèi)在的邏輯與外在的參數(shù)有機(jī)構(gòu)成,我們希望程序化交易系統(tǒng)能夠?qū)ξ磥?lái)價(jià)格進(jìn)行預(yù)測(cè),不可避免地要涉及對(duì)模型參數(shù)的正確設(shè)置。通常我們?cè)谶x取參數(shù)時(shí)多會(huì)碰到兩個(gè)難點(diǎn):一是如何選擇合適的指標(biāo)來(lái)評(píng)價(jià)不同參數(shù)下模型的表現(xiàn);二是如何通過(guò)參數(shù)設(shè)置提升模型對(duì)未來(lái)的適用性。前者我們?cè)凇逗媚P蚔S壞模型》一文中已經(jīng)有論述,不在贅言,后者則是本文重點(diǎn)討論的問(wèn)題。
現(xiàn)在借助計(jì)算機(jī)強(qiáng)大的計(jì)算能力,我們可以迅速得出模型在不同參數(shù)下歷史行情中的表現(xiàn),但是問(wèn)題在于,我們判定參數(shù)的好壞是基于歷史的行情數(shù)據(jù),而未來(lái)的行情是動(dòng)態(tài)變化的,其與歷史行情既有相似性,也有變異性。這種變異性,可能使基于歷史行情選出的最優(yōu)的參數(shù)在未來(lái)行情中并不適用,甚至帶來(lái)大幅虧損。實(shí)踐中,一方面,我們可以通過(guò)參數(shù)優(yōu)化改進(jìn)模型,讓模型更好地匹配價(jià)格波動(dòng)的模式,提高投資收益;另一方面,我們又要防止對(duì)參數(shù)的過(guò)度優(yōu)化,導(dǎo)致模型的行情適用性大大降低。因此,模型參數(shù)調(diào)優(yōu)是我們構(gòu)建交易系統(tǒng)過(guò)程中的一項(xiàng)技術(shù)性與藝術(shù)性并重的工作。
上表是我們?cè)诠芍钙谪浿髁B續(xù)合約上,在某個(gè)特定的時(shí)間周期內(nèi),對(duì)某個(gè)模型在開倉(cāng)條件選取不同閥值(參數(shù)α)下的回測(cè)數(shù)據(jù)。為直觀簡(jiǎn)便起見,表中參數(shù)α給出的是0—10依次增加的自然數(shù),與模型選取的閥值一一對(duì)應(yīng)。本表選取了6個(gè)評(píng)價(jià)性指標(biāo)來(lái)判斷不同參數(shù)下模型的好壞,其評(píng)價(jià)指標(biāo)具有一定的代表性,反映的是筆者對(duì)模型好壞的判斷。在實(shí)際中,投資者也可以根據(jù)自己的偏好來(lái)選取評(píng)價(jià)指標(biāo)。
首先,從總盈利率和最大回撤率上來(lái)看,如果兩者的比值偏低,可能與選取的特定交易時(shí)間段有關(guān),需要另外選取數(shù)據(jù)區(qū)間進(jìn)行測(cè)試。若模型表現(xiàn)仍無(wú)實(shí)質(zhì)性提升,就趨勢(shì)性模型而言,表明該模型交易勝率偏低,其開倉(cāng)條件尚需進(jìn)一步改進(jìn),而不僅僅是進(jìn)行參數(shù)優(yōu)化的問(wèn)題。其次,從平均單筆盈虧比來(lái)看,隨著閥值的提高,盈虧比上升明顯,比較符合趨勢(shì)模型小賠大賺的投資理念,模型內(nèi)在的投資邏輯具有一定的可行性。但從最大盈利和最大虧損上來(lái)看,其比值過(guò)小,低于平均每筆的盈虧比值,可以認(rèn)為在平倉(cāng)以及止損條件的設(shè)置以及參數(shù)的選擇上,仍有一定改進(jìn)的空間。
我們考慮在模型僅有一個(gè)參數(shù)α的情況下,如何通過(guò)分析回測(cè)數(shù)據(jù)來(lái)選取合適的參數(shù),既提高模型的投資收益,又保障模型未來(lái)的適用性。按照α的取值從小到大的順序來(lái)看,當(dāng)α=2時(shí),模型回測(cè)效果很好,明顯優(yōu)于相鄰參數(shù)取值下的表現(xiàn)。然而通過(guò)對(duì)比成交記錄,我們發(fā)現(xiàn)模型優(yōu)異的表現(xiàn)來(lái)自于剛好回避了相鄰參數(shù)取值下幾筆較大的虧損,其投資表現(xiàn)具有很強(qiáng)的偶然性。在僅僅做一手的測(cè)試環(huán)境以及特定的數(shù)據(jù)區(qū)間內(nèi),某個(gè)特定的參數(shù)值很容易剛好抓住幾筆較大的盈利或回避較大的虧損,從而獲得較高的投資收益,但該參數(shù)在未來(lái)行情中的適用性并不能保證。而當(dāng)α=5,6,7,8,9時(shí),從各項(xiàng)評(píng)價(jià)指標(biāo)上看,模型的回測(cè)效果都較好。
參數(shù)在一定取值范圍內(nèi)均有較好的表現(xiàn),必然是其吻合了品種價(jià)格波動(dòng)的某些特性,因此就使得模型優(yōu)異的表現(xiàn)在未來(lái)具有可復(fù)制性。從多年的實(shí)踐經(jīng)驗(yàn)來(lái)看,在參數(shù)調(diào)優(yōu)的過(guò)程中,我們必須區(qū)分出模型優(yōu)異的表現(xiàn)是來(lái)自于對(duì)歷史行情數(shù)據(jù)過(guò)度的擬合,還是來(lái)自于更好地描述出價(jià)格波動(dòng)的模式,只有后者才是好的參數(shù)。在確定好參數(shù)α合適的閥值范圍后,我們還要盡量選取中間值,比如選取α為6的情形,而不是邊緣的值,因?yàn)榭紤]到一旦未來(lái)行情發(fā)生改變后,在邊緣閥值之外,模型的投資獲利能力較差。
上述例子考慮的是單一參數(shù)條件下通過(guò)使用模型回測(cè)來(lái)選取合適的參數(shù),而通常一個(gè)模型往往會(huì)使用多個(gè)參數(shù),加大了參數(shù)調(diào)優(yōu)的難度。一個(gè)較為可行的辦法是采用三維視角來(lái)評(píng)估對(duì)比。此外,由于評(píng)估需要采用多個(gè)評(píng)價(jià)指標(biāo),很可能出現(xiàn)互相矛盾的結(jié)果,我們的建議是依據(jù)投資者自身的偏好,對(duì)各個(gè)評(píng)價(jià)指標(biāo)進(jìn)行排序,對(duì)前幾位的指標(biāo)分別建立多維的分析矩陣來(lái)選取合適的參數(shù)。當(dāng)然,按照單一參數(shù)下的原則,異常的值仍然需要排除,我們需要參數(shù)在一定范圍內(nèi)都能夠獲取好的表現(xiàn)。
在建立模型的過(guò)程中,一些擁有豐富實(shí)戰(zhàn)經(jīng)驗(yàn)的投資者,僅憑經(jīng)驗(yàn)就能夠選出很好的模型參數(shù),這是其長(zhǎng)期投資實(shí)踐藝術(shù)化的體現(xiàn)。但對(duì)于大部分量化建模人員,通過(guò)使用科學(xué)、嚴(yán)謹(jǐn)?shù)姆治鲶w系,通過(guò)比較參數(shù)在歷史行情中的表現(xiàn)來(lái)確立合適的參數(shù),更加具備可行性和科學(xué)性。當(dāng)然,在具體實(shí)踐中,在幾個(gè)合適模型參數(shù)間的取舍,依然離不開模型開發(fā)人員的藝術(shù)性的選擇。
您需要 [注冊(cè)] 或 [登陸] 后才能發(fā)表點(diǎn)評(píng)