注:以下內(nèi)容選自《程序化交易實(shí)戰(zhàn):平臺(tái)、策略、方法》(馮永昌、景亮、易曉磊著,ISBN: 978-7-121-27293-6)第五章第二節(jié) 相對(duì)于交易運(yùn)行來(lái)說(shuō),程序化交易實(shí)踐的主要時(shí)間都是花費(fèi)在研發(fā)階段。類(lèi)似于一款汽車(chē)的開(kāi)發(fā)和制造,每一個(gè)策略在被應(yīng)用到實(shí)際交易之前都需要反復(fù)不斷地經(jīng)過(guò)“設(shè)計(jì)、修改、測(cè)試”這樣一個(gè)循環(huán),直到它的表現(xiàn)和運(yùn)行特征達(dá)到研發(fā)者的預(yù)期。在這個(gè)過(guò)程中,如何對(duì)策略運(yùn)行結(jié)果進(jìn)行評(píng)估、全面地進(jìn)行“體檢”、使它的優(yōu)缺點(diǎn)毫無(wú)遺漏地暴露出來(lái),是重中之重的事情。 一般來(lái)說(shuō),策略表現(xiàn)評(píng)估的關(guān)注方面包括收益能力、風(fēng)險(xiǎn)特征、交易特征、時(shí)間特征等方面。同時(shí),按照交易標(biāo)的和交易時(shí)間又可以進(jìn)行多品種分析和多周期分析。更高階的評(píng)估分析包括使用統(tǒng)計(jì)方法和模型進(jìn)行關(guān)聯(lián)性分析、因果關(guān)系分析、假設(shè)檢驗(yàn)等,以揭示內(nèi)在的特征和關(guān)系。另外,評(píng)估結(jié)果可視化也是不可忽視的方面,一套好的圖表設(shè)計(jì)可以有效地突出重要結(jié)果,提高開(kāi)發(fā)者的策略研發(fā)效率。 1. 后驗(yàn)研究過(guò)程 程序化交易策略的后驗(yàn)研究過(guò)程主要是使用歷史行情數(shù)據(jù)運(yùn)行開(kāi)發(fā)好的策略代碼,生成交易記錄,然后通過(guò)交易記錄計(jì)算策略各方面的表現(xiàn)特征,再把策略的后驗(yàn)表現(xiàn)特征和對(duì)策略的期望目標(biāo)結(jié)合起來(lái)分析,確定下一步對(duì)策略的優(yōu)化修改方法。對(duì)策略進(jìn)行修改后再次后驗(yàn),重復(fù)上面的流程,周而復(fù)始直至達(dá)到期望目標(biāo)。 交易記錄的格式一般分為兩種: 不管使用哪種格式的交易記錄,都可以根據(jù)歷史行情數(shù)據(jù)和資金設(shè)置情況計(jì)算出整個(gè)后驗(yàn)過(guò)程中的資產(chǎn)權(quán)益(包括閑置資金和持倉(cāng)價(jià)值)變化情況,從而得到權(quán)益曲線(或經(jīng)過(guò)歸一化處理后得到初始值為1的凈值曲線,如下圖所示)。 后驗(yàn)運(yùn)行結(jié)束并對(duì)交易記錄進(jìn)行處理后,我們可以得到“交易記錄”和“權(quán)益凈值曲線”這兩個(gè)最根本的結(jié)果,基本上所有的策略表現(xiàn)特征值的計(jì)算都是由它們開(kāi)始。下面先以天語(yǔ)平臺(tái)的后驗(yàn)報(bào)告為例,對(duì)這些評(píng)估策略各方面表現(xiàn)的特征值進(jìn)行簡(jiǎn)單介紹。 以一個(gè)日內(nèi)程序化交易策略在股指期貨從2013/12/16至2014/2/28這段時(shí)間之內(nèi)的后驗(yàn)為例:設(shè)置開(kāi)倉(cāng)手?jǐn)?shù)固定為1,初始資金150000。天語(yǔ)平臺(tái)的策略交易記錄使用上面提到的第二種記錄格式,如下所示。 從權(quán)益(或凈值)曲線我們最直接可以計(jì)算的策略表現(xiàn)特征就是盈利能力(收益情況)和盈利能力的變化情況(即波動(dòng)情況),包括收益率、波動(dòng)率、日/周/月/年絕對(duì)收益情況。 相對(duì)于策略的盈利能力,很多時(shí)候我們可能更關(guān)心的是它“犯錯(cuò)”的情況,也就是權(quán)益曲線“走下坡路”的情況,這即我們常說(shuō)的回撤(Drawdown)。回撤一般定義為:對(duì)于權(quán)益曲線上的任意一點(diǎn),該點(diǎn)的回撤等于這個(gè)點(diǎn)之前(包括該點(diǎn))的權(quán)益最大值減去該點(diǎn)的權(quán)益。假設(shè)權(quán)益定義為X(t),t≥0,那么在時(shí)間點(diǎn)T的回撤為, 按照回撤的定義,根據(jù)權(quán)益曲線可以計(jì)算出回撤曲線,下圖顯示了示例策略的回撤曲線。 ![]() 從交易記錄中,我們可以很方便地計(jì)算出跟每筆交易相關(guān)的盈利和虧損指標(biāo),具體的如下表和下圖所示。其中比較重要的指標(biāo)包括: 1)交易次數(shù)、勝率:從交易次數(shù)可以看出策略的活躍程度,是否頻繁交易。在手續(xù)費(fèi)高和容易出現(xiàn)滑點(diǎn)的情況下,應(yīng)該避免過(guò)于頻繁的交易。而對(duì)勝率這個(gè)指標(biāo)容易產(chǎn)生的一個(gè)誤區(qū)是:勝率不夠高的策略都不是好策略。如果策略勝率不高,但是它有非常好的止損出場(chǎng)機(jī)制,同時(shí)在機(jī)會(huì)出現(xiàn)時(shí)能夠很好地抓住從而產(chǎn)生大的盈利,那么它依然是一個(gè)好的策略。 2)每筆交易的平均利潤(rùn):這個(gè)指標(biāo)能很好的反映策略每次“出手”的結(jié)果的概率期望值。如上所述,一個(gè)勝率不高的策略也可以產(chǎn)生好的平均利潤(rùn)。 3)總盈利和總虧損的比值、每筆平均盈利和平均虧損的比值:這兩個(gè)指標(biāo)從不同角度反映策略盈利能力和風(fēng)險(xiǎn)程度的對(duì)比,其作用類(lèi)似夏普比和年平均利潤(rùn)與最大回撤之間的比值。 4)最大連續(xù)虧損、最大單次虧損:這兩個(gè)指標(biāo)從不同角度反映策略的風(fēng)險(xiǎn)程度,其作用類(lèi)似于最大回撤。 值得注意的是,除了按整體的交易記錄進(jìn)行統(tǒng)計(jì),也可以把它分成做多和做空兩部分交易記錄分別計(jì)算盈虧指標(biāo),以及進(jìn)行策略的“收益結(jié)構(gòu)分析”,如下面的圖表所示。 ![]() ![]() ![]() ![]() 根據(jù)交易記錄我們也可以計(jì)算跟策略持倉(cāng)相關(guān)的指標(biāo)(見(jiàn)下表),根據(jù)持倉(cāng)指標(biāo)我們可以分析策略運(yùn)行過(guò)程中的 1) 資金利用情況:一般來(lái)說(shuō),較高的“持倉(cāng)周期比例”表明該策略能夠充分的利用資金,較少發(fā)生閑置情況。 2) 持倉(cāng)周期情況:平均每筆交易的持倉(cāng)周期(包括整體平均周期和盈利、虧損交易的平均周期)可以結(jié)合策略思想來(lái)分析,譬如對(duì)于一個(gè)抓大趨勢(shì)、止損嚴(yán)格的策略,我們可以期望的是它的盈利交易平均周期較長(zhǎng)而虧損交易平均周期較短。如果后驗(yàn)結(jié)果與預(yù)期不符,我們需要更進(jìn)一步分析并查明原因。 ![]() 如下表所示的資金指標(biāo)也可以通過(guò)交易記錄計(jì)算得出,其中 1) 最大持倉(cāng):反映策略在運(yùn)行過(guò)程中的資金風(fēng)險(xiǎn)峰值。值得注意的是,這個(gè)風(fēng)險(xiǎn)峰值僅代表策略在后驗(yàn)時(shí)間段出現(xiàn)的峰值,并不是它可能達(dá)到的最大峰值。策略在未來(lái)運(yùn)行時(shí),如果行情持續(xù)單方向走勢(shì),這個(gè)值可能繼續(xù)增大。所以最好留有一定的“安全區(qū)間”(即預(yù)期最大持倉(cāng)比例不超過(guò)一定數(shù)值),以防極端行情下發(fā)生爆倉(cāng)等事件。 2) 年平均利潤(rùn)/最大持倉(cāng):這是一個(gè)反映策略盈利效率的指標(biāo),因?yàn)樵趯?shí)際運(yùn)行中資金的投入量一般可以通過(guò)后驗(yàn)過(guò)程中的最大持倉(cāng)來(lái)估算,對(duì)于單位資金投入量,年平均利潤(rùn)越高,策略的盈利效率就越高。 3) 最大隔夜持倉(cāng):在次日交易時(shí)間來(lái)臨之前多種因素都有可能影響標(biāo)的價(jià)格,產(chǎn)生開(kāi)盤(pán)跳空、急速變化、漲跌停、或停牌等情況,所以隔夜持倉(cāng)具有一定的風(fēng)險(xiǎn),特別是對(duì)于短線投資。最大隔夜持倉(cāng)在一定程度上可以反映策略在這方面的風(fēng)險(xiǎn)。 4) 交易費(fèi)用、滑點(diǎn)成本:這兩個(gè)指標(biāo)和策略的交易頻率有很大的關(guān)系,同時(shí)需要注意的是一般計(jì)算策略表現(xiàn)指標(biāo)需要扣除交易費(fèi)用和滑點(diǎn)成本后進(jìn)行計(jì)算。 ![]() 上面簡(jiǎn)單介紹了如何對(duì)單個(gè)策略的表現(xiàn)進(jìn)行評(píng)估,下面我們來(lái)看看如何在多個(gè)策略之間進(jìn)行比較。 首先,最直觀方式就是把所有策略的凈值曲線放在一起做可視化比較,如下圖所示。這種比較圖以最簡(jiǎn)單的方式把最重要的信息展現(xiàn)的我們眼前,使我們對(duì)各策略之間的表現(xiàn)有了初步的感受,并且能夠因此確定下一步需要著重進(jìn)行比較的方向。 ![]() ![]() ![]() 1) 什么是相關(guān)性分析? 簡(jiǎn)單地說(shuō),相關(guān)性分析就是分析兩個(gè)(或更多的)變量之間是否存在互相影響或者依賴的關(guān)系或者現(xiàn)象。譬如,我們可以分析父母和子女之間的相貌特征是否存在相關(guān)性,商品的價(jià)格和對(duì)它的需求之間是否存在相關(guān)性,太陽(yáng)黑子活動(dòng)與某海邊城市漁業(yè)收入之間是否存在相關(guān)性,等等。兩個(gè)變量之間的相關(guān)性現(xiàn)象可能是由直接的因素導(dǎo)致的,也可能是間接的因素或者多重因素中的一部分,也可能是我們無(wú)法解釋的原因產(chǎn)生的,或者在少數(shù)情況下某些特定的相關(guān)性現(xiàn)象只是難以穩(wěn)定重復(fù)的“巧合”而已。但值得注意的是,相關(guān)性分析并不去分析產(chǎn)生相關(guān)性現(xiàn)象的原因,而更多地是去描述這種現(xiàn)象是否存在,如果存在的話它的程度是多大。 以兩個(gè)簡(jiǎn)單的數(shù)值變量為例,并使用相關(guān)性系數(shù)ρ來(lái)表征它們的相關(guān)性程度(ρ的取值范圍為-1到1:其中ρ=0表示兩個(gè)變量之間無(wú)相關(guān)性,ρ=1表示兩個(gè)變量之間存在非常強(qiáng)的正相關(guān)性,ρ=-1表示兩個(gè)變量之間存在非常強(qiáng)的負(fù)相關(guān)性),這兩個(gè)變量之間的關(guān)系可以通過(guò)它們?cè)谄矫孀鴺?biāo)系中的散點(diǎn)分布展現(xiàn)出來(lái),如下圖所示:我們可以看出,當(dāng)一個(gè)變量是較大(或較?。┲档臅r(shí)候,如果另外一個(gè)變量也會(huì)是較大(或較?。┑闹?,那么它們之間存在很強(qiáng)的相關(guān)性;反之,當(dāng)一個(gè)變量是較大(或較?。┲档臅r(shí)候,如果另外一個(gè)變量是較?。ɑ蜉^大)的值,那么它們之間存在很強(qiáng)的負(fù)相關(guān)性;在這兩種情況之間的情況,因它們之間的趨同程度不同而會(huì)有不同程度的相關(guān)性;同時(shí),圖中也給出了很多它們之間沒(méi)有相關(guān)性的例子。 ![]() 對(duì)于分析策略表現(xiàn)之間的相關(guān)性,我們首先需要選取一個(gè)用來(lái)分析相關(guān)性的表現(xiàn)特征變量。一般而言,我們可以選擇策略日收益率。因?yàn)槭找媛适俏覀冏铌P(guān)心的策略表現(xiàn)能力,而且在后驗(yàn)數(shù)據(jù)中日收益率一般有足夠多的取值,方便我們?nèi)ビ?jì)算相關(guān)性系數(shù)。其他可以選擇的變量主要是基于每日表現(xiàn)的變量,一個(gè)主要的原因就是它們能夠提供足夠多的取值樣本去分析相關(guān)性,它們包括:每日的勝率、每日的最大回撤、每日的開(kāi)倉(cāng)次數(shù)、等待?;诓煌淖兞咳シ治鱿嚓P(guān)性可以從不同方面挖掘策略之間的關(guān)系。 3) 如何進(jìn)行相關(guān)性分析? 在確定特征變量之后,通過(guò)下面的公式可以計(jì)算相關(guān)性系數(shù)ρ, ![]() 對(duì)于相關(guān)性系數(shù)ρ的數(shù)值含義,我們?cè)谏厦孀隽撕?jiǎn)要介紹,在后面的章節(jié)我們還會(huì)介紹如何根據(jù)策略之間相關(guān)性來(lái)構(gòu)建最優(yōu)化的策略組合。具體的,在天語(yǔ)平臺(tái)中我們可以很方便的進(jìn)行相關(guān)性分析并得到多策略之間的相關(guān)性矩陣,如下圖所示。 ![]() |
|