所有歷史數(shù)據(jù)都是樣本內(nèi)
發(fā)布時(shí)間:2019-02-28 | 來源: 川總寫量化
作者:石川
摘要:我們構(gòu)建策略靠的不是站在回測(cè)起點(diǎn)往后看的先見之明,而是站在回測(cè)終點(diǎn)往前看的后見之明。所有歷史數(shù)據(jù)都是樣本內(nèi)。
1 引言
金融領(lǐng)域的小伙伴想必對(duì) Institutional Investor Journals (II Journals) 并不陌生。它旗下有很多影響力很高的期刊,其中最著名的大概是 Journal of Portfolio Management。與 JF、JFE、RFS 這些純學(xué)術(shù)類期刊不同,II Journals 的期刊更注重實(shí)踐,深得業(yè)界喜愛;而 Fischer Black、Robert Engle、Daniel Kahneman、Andrew Lo、William Sharpe、Robert Shiller 等大咖也均在 II Journals 的期刊發(fā)表過研究。
2018 年 II Journals 更名為 Institutional Portfolio Research Journals (IPR Journals),并于 2019 年為旗下的期刊系列增加了一位最新成員 —— Journal of Financial Data Science。隨著大數(shù)據(jù)和機(jī)器學(xué)習(xí)算法在金融和投資中的潛在作用越來越大,這本期刊的誕生無疑是非常及時(shí)的。它旨在指導(dǎo)金融領(lǐng)域的實(shí)踐者正確使用與日俱增的數(shù)據(jù)和日新月異的技術(shù)。如今,該刊第一卷第一期已經(jīng)發(fā)行。
作為處女刊,它里面包含了很多非常有意思的文章。其中最吸引我的是一篇題為 A Backtesting Protocol in the Era of Machine Learning(機(jī)器學(xué)習(xí)時(shí)代的回測(cè)協(xié)議)。它的作者是 Rob Arnott、Campbell Harvey 以及 Harry Markowitz(三位都無需介紹)。在這篇文章中,三位作者從七個(gè)方面提出了新時(shí)代下進(jìn)行策略回測(cè)時(shí)應(yīng)該遵循的一些規(guī)則,從而最大化的降低數(shù)據(jù)挖掘和過擬合的影響。這七方面構(gòu)成了一個(gè)完整且可操作的體系,能夠幫助我們更好的規(guī)避樣本內(nèi)的虛假信號(hào)、找出能在樣本外更有效的交易策略。這七方面的每一塊都值得好好研讀一番(建議感興趣的小伙伴找來 Arnott, Harvey, and Markowitz 2019 這篇文章讀一讀)。在今天的文章中,我僅想對(duì)第四部分 Cross-Validation 里面的兩個(gè)論點(diǎn)談一些想法。在這一部分,三位作者拋出了兩個(gè)觀點(diǎn):
1. Out of Sample is Not Really Out of Sample.
2. Iterated Out of Sample is Not Out of Sample.
這兩句話結(jié)合起來再翻譯成中文就是所有歷史數(shù)據(jù)都是樣本內(nèi)。我對(duì)此深以為然。
2 OOS is NOT Really OOS
針對(duì) Out of Sample is Not Really Out of Sample 這個(gè)觀點(diǎn),Arnott, Harvey, and Markowitz (2019) 寫到:
Researchers have lived through the hold-out sample and thus understand the history, are knowledgeable about when markets rose and fell, and associate leading variables with past experience. As such, no true out-of-sample data exist; the only true out of sample is the live trading experience.
對(duì)于預(yù)留出來的樣本外數(shù)據(jù),它們也是已經(jīng)發(fā)生過的歷史。盡管模型將它們視作樣本外,但由于我們經(jīng)歷了那段歷史,知道在那段時(shí)間市場(chǎng)是如何發(fā)展的(什么時(shí)候漲、什么時(shí)候跌),會(huì)不可避免的把領(lǐng)先變量和這些歷史經(jīng)驗(yàn)聯(lián)系起來。正是由于這個(gè)原因,歷史數(shù)據(jù)中并沒有真正的樣本外,只有實(shí)盤交易才是真正的樣本外。舉個(gè)例子。在因子選股中,我們通常會(huì)用 PE、ROE、EPS 等指標(biāo)來選股,并按照各種邏輯 —— 比如動(dòng)量或者估值 —— 進(jìn)行難如登天的因子擇時(shí)。在擇時(shí)的時(shí)候,我們會(huì)非常小心的使用滾動(dòng)窗口外推,利用 point in time 數(shù)據(jù)來避免 look-ahead bias(前視偏差)。但無論是在全部回測(cè)期內(nèi)多因子選股,還是使用滾動(dòng)窗口在“樣本外”做因子擇時(shí),這背后無法否認(rèn)的事實(shí)是我們已經(jīng)知道 PE、ROE、EPS 在過去整段歷史時(shí)間內(nèi)是有效的!
我們并不是在 10 年前就預(yù)見到了 PE、ROE、EPS 會(huì)有效并在過去的 10 年里使用它們;而是在已經(jīng)知道市場(chǎng)在過去 10 年是如何展開的前提下,通過 empirical data analysis 找到了 PE、ROE、EPS 這些好使的因子然后再去對(duì)著它們回測(cè)。捫心自問一下,如果一個(gè)因子在回測(cè)期內(nèi)的表現(xiàn)是近似隨機(jī)的,我們會(huì)用它來做因子擇時(shí)嗎?這當(dāng)然不是說它們并沒有業(yè)務(wù)依據(jù),而只是想強(qiáng)調(diào)正是因?yàn)闅v史已經(jīng)發(fā)生了,因此它不是真正的樣本外。
如果在樣本內(nèi)找到的因子在真正的樣本外無效會(huì)在多大程度上削弱策略的表現(xiàn)呢?來看下面的實(shí)驗(yàn)。假設(shè)回測(cè)期從 2010 年 1 月 1 日到 2019 年 1 月 31 日;以中證 500 的成分股為股票池。針對(duì)每個(gè)因子,使用其首尾各 10% 的股票按照等權(quán)構(gòu)建多、空投資組合,以對(duì)沖后的組合的收益率作為因子收益率,每月末調(diào)倉(cāng)且不考慮任何費(fèi)用。下圖顯示了依照上述說明后找到 10 個(gè)回測(cè)期內(nèi)年化夏普率在 0.8 到 1.0 之間的因子的累積凈值(這些因子均來自基本面或量?jī)r(jià)信息、月收益率的平均相關(guān)系數(shù)為 0.1)。圖中黑色粗線表示通過等權(quán)配置這些因子所構(gòu)成的多因子策略的凈值。該多因子策略的夏普率高達(dá) 2.56,年化收益率 9.58%。
下面假設(shè)這 10 個(gè)因子中的 n 個(gè)(n 取值從 1 到 10)在真實(shí)樣本外完全失效 —— 即樣本外該因子實(shí)際上無法預(yù)測(cè)收益率。為了模擬“真實(shí)樣本外完全失效”,我們從上述 10 個(gè)因子中隨機(jī)選出 10 – n 個(gè)作為有效因子,并隨機(jī)生成 n 個(gè)因子來模擬那些失效的因子,以此進(jìn)行一次完整回測(cè)。為了得到這 10 個(gè)混合因子策略表現(xiàn)的分布,將上述過程進(jìn)行 3000 次仿真,并考察回測(cè)期內(nèi)每個(gè)時(shí)間點(diǎn)該策略累積凈值的中位數(shù)、5% 分位數(shù)以及 95% 分位數(shù)。下圖依次展示了當(dāng) n 從 1 取到 10 時(shí),混合多因子策略的累積凈值。
從上述結(jié)果不難看出,隨著無效因子個(gè)數(shù)的增加,策略表現(xiàn)的“中樞”(中位數(shù))逐漸下移,且不確定性(體現(xiàn)為 5% 和 95% 分位數(shù)的凈值)逐漸增大。在整個(gè)回測(cè)期末,上述 10 種 n 取值的策略表現(xiàn)總結(jié)于下表。對(duì)于樣本內(nèi)有效的 10 個(gè)因子,如果它們?cè)谡嬲臉颖就馊渴В礋o法預(yù)測(cè)收益率),那么該策略凈值中位數(shù)為零,這符合我們的預(yù)期。如果運(yùn)氣沒那么差,僅有 5 個(gè)無效,那么年化收益率的中位數(shù)為 4.69%;相比較樣本內(nèi)下降了 45.7%。
依照上述實(shí)驗(yàn)思路也可以對(duì)一些常見的因子擇時(shí)思路進(jìn)行驗(yàn)證。下面以主流的按因子動(dòng)量擇時(shí),每年配置過去一年漲幅最高的五個(gè)因子。使用全部 10 個(gè)樣本內(nèi)有效的因子,加之上述擇時(shí)策略,得到的效果如下,因子擇時(shí)年化收益率為 11.21%,超過了 10 個(gè)因子等權(quán)配(夏普率沒有超過)。
同樣的,假設(shè) n 個(gè)因子在真實(shí)樣本外失效,來看看對(duì)該擇時(shí)策略的影響。
和不擇時(shí)相似,隨著失效因子個(gè)數(shù)的增加,策略中位數(shù)表現(xiàn)下移、不確定性加大。如果把擇時(shí)策略和之前的不擇時(shí)策略橫向比較一下(即考慮給定失效因子個(gè)數(shù) n 下兩個(gè)策略的表現(xiàn)),可以發(fā)現(xiàn)有意思的結(jié)果:樣本內(nèi)有效的擇時(shí)策略在樣本外的中樞同樣優(yōu)于不擇時(shí)的策略,但代價(jià)是更高的波動(dòng);這個(gè)高波動(dòng)是由因子失效和擇時(shí)失效兩方面的不確定性共同貢獻(xiàn)的。
3 Iterated OOS is NOT OOS
再來看看 Iterated Out of Sample is Not Out of Sample。對(duì)此,Arnott, Harvey, and Markowitz (2019) 寫到:
Suppose a model is successful in the in-sample period but fails out of sample. The researcher observes that the model fails for a particular reason. The researcher modifies the initial model so it then works both in sample and out of sample.?This is no longer an out-of-sample test. It is overfitting.
在《科學(xué)回測(cè)中的大學(xué)問》一文中,我們表達(dá)過完全一致的觀點(diǎn):
在可交易特征方面,滿足一個(gè)策略假設(shè)的樣本其實(shí)很少。舉個(gè)極端的例子,比如 A 股中追蹤大牛市的趨勢(shì)類策略。在過去 20 年中,也僅有三波牛市,而且它們表現(xiàn)出來的市場(chǎng)特征均不相同(比如以 2007 年大牛市構(gòu)建的趨勢(shì)追蹤策略在 2015 年大牛市中的逃頂效果并不好)。在這種情況下,如果還把數(shù)據(jù)分成訓(xùn)練集和測(cè)試集會(huì)怎樣呢?我們一定會(huì)把策略在測(cè)試集中的體現(xiàn)出來的新市場(chǎng)環(huán)境反饋到訓(xùn)練過程中,這已經(jīng)違背了分訓(xùn)練集和測(cè)試集調(diào)參的本意;這等價(jià)于我們?cè)谡麄€(gè)歷史數(shù)據(jù)中對(duì)策略的參數(shù)調(diào)優(yōu)了。
來看一個(gè)簡(jiǎn)單的例子 —— 針對(duì)滬深 300 指數(shù)使用雙均線擇時(shí)。假設(shè)使用 2005 年 1 月 1 日到 2011 年 12 月 31 日作為樣本內(nèi)數(shù)據(jù);使用 2012 年 1 月 1 日到 2019 年 2 月 25 日為“樣本外”數(shù)據(jù)。在樣本內(nèi),使用 2 天窗口計(jì)算快均線、40 天窗口計(jì)算慢均線效果非常理想(下圖),其年化收益率超過 30%,夏普率高達(dá) 1.3。
再來看看這組參數(shù)在“樣本外”的表現(xiàn)。不幸的是,該策略在樣本外的年化收益不到 8%、最大回撤 -25.95%、夏普率僅有 0.51。
如果對(duì)著“樣本外”搜參數(shù),則最優(yōu)的快、慢均線窗口參數(shù)是 20 和 24,其夏普率也僅有 0.70,遠(yuǎn)遠(yuǎn)差于 2012 年之前的表現(xiàn)??紤]到這種情況,很自然的想法就是添加更復(fù)雜的邏輯來提高 2012 年之后的表現(xiàn)。顯然,這不是樣本外測(cè)試,而是過擬合。無論從獨(dú)立性還是可交易特征而言,交易數(shù)據(jù)其實(shí)都是十分匱乏的。從構(gòu)建策略的角度來說,如果要求策略能夠適應(yīng)不同的市場(chǎng)狀態(tài),那么基于歷史數(shù)據(jù)不斷迭代的樣本外并不是真正的樣本外。
4 結(jié)語
所有的歷史數(shù)據(jù)都是樣本內(nèi)。我們構(gòu)建策略靠的不是站在回測(cè)起點(diǎn)往后看的先見之明,而是站在回測(cè)終點(diǎn)往前看的后見之明。誠(chéng)然,這并不意味著策略就不靠譜或者一定是數(shù)據(jù)挖掘的產(chǎn)物。但是,意識(shí)到這一點(diǎn)會(huì)讓我們更加相信來自金融學(xué)或經(jīng)濟(jì)學(xué)先驗(yàn)的指標(biāo)或因果關(guān)系,并防止我們沉迷于純粹基于數(shù)據(jù)的交叉驗(yàn)證。
AQR?曾寫過一篇題為 Buffett's Alpha 的文章分析巴菲特的投資組合。結(jié)果顯示,巴菲特投資組合的收益幾乎可以被市場(chǎng)因子和五個(gè)如今我們這些后見之明的凡夫俗子能夠理解的風(fēng)格因子的 β 來解釋。而反觀巴菲特,他是在幾十年前就按照這些風(fēng)格因子來投資了,那是真正的樣本外。
Buffett figured out things we think are genius many years before we all did. —— Cliff Asness
參考文獻(xiàn)
Arnott, R., C. R. Harvey, and H. Markowitz (2019). A backtesting protocol in the era of machine learning. Journal of Financial Data Science 1(1), 64 – 74.
免責(zé)聲明:入市有風(fēng)險(xiǎn),投資需謹(jǐn)慎。在任何情況下,本文的內(nèi)容、信息及數(shù)據(jù)或所表述的意見并不構(gòu)成對(duì)任何人的投資建議。在任何情況下,本文作者及所屬機(jī)構(gòu)不對(duì)任何人因使用本文的任何內(nèi)容所引致的任何損失負(fù)任何責(zé)任。除特別說明外,文中圖表均直接或間接來自于相應(yīng)論文,僅為介紹之用,版權(quán)歸原作者和期刊所有。