亚洲精品国产精品制服丝袜,亚洲欧美日韩精品a∨,97在线热免费视频精品视频,亚洲人成在线观看网站不卡

常見多重檢驗方法及其實證 (I)

發(fā)布時間:2020-08-19  |   來源: 川總寫量化

作者:石川

摘要:本文介紹三種常見的以控制族錯誤率為目標(biāo)的多重檢驗算法,并給出基于 A 股市場異象的實證分析。


0?引言


近日,長期戰(zhàn)斗在抵制金融學(xué)領(lǐng)域虛假發(fā)現(xiàn)一線的 Campbell Harvey 教授和他的 co-authors 在 Review of Asset Pricing Studies 上發(fā)表了一篇關(guān)于多重假設(shè)檢驗方法的綜述性文章(Harvey, Liu, and Saretto 2020)。該文系統(tǒng)的梳理了常見的控制多重檢驗、計算 t-statistic 閾值的方法,并給出了 code(雖然是 Matlab……)。憑借豐富的經(jīng)驗,三位學(xué)者在文中也給出了在研究金融學(xué)問題(例如異象研究或者基金選擇)時如何選擇方法的建議,極具實踐意義。


鑒于多重檢驗問題日益嚴(yán)峻,我決定給《出色不如走運》開個“番外篇”,就叫《常見多重檢驗方法及其實證》系列。本文是這一系列的第 (I) 篇,介紹以控制族錯誤率為目的的算法,并針對 A 股中的代表性異象給出實證結(jié)果。下文的行文順序為:第一節(jié)簡要介紹基礎(chǔ)知識,包括多重假設(shè)檢驗和 stationary bootstrap,后者是一大類多重檢驗算法的基礎(chǔ);第二節(jié)討論三種多重檢驗算法;第三節(jié)介紹實證結(jié)果;第四節(jié)給出金融學(xué)應(yīng)用建議。


1?基礎(chǔ)知識


1.1 多重假設(shè)檢驗


多重假設(shè)檢驗問題公眾號已經(jīng)介紹了很多了(見《出色不如走運》系列),本小節(jié)僅簡單說明。使用同樣的數(shù)據(jù)同時檢驗多個原假設(shè)就是統(tǒng)計學(xué)中的多重假設(shè)檢驗(multiple hypothesis testing,簡稱 MHT 問題)。以研究異象為例,對著同樣的歷史數(shù)據(jù)挖出成百上千個異象就是多重假設(shè)檢驗問題。MHT 問題的存在使得單一檢驗的 t-statistic 被高估,即里面有運氣的成分。當(dāng)排除了運氣后,該異象很可不再顯著。如果仍然按照傳統(tǒng)意義上的 2.0 作為 t-statistic 閾值來評價異象是否顯著,一定會有很多偽發(fā)現(xiàn)(false discoveries 或 false rejections)。因此,排除 MHT 影響的核心就是控制偽發(fā)現(xiàn)發(fā)生的概率。以此為目標(biāo),很多不同的多重檢驗算法被提出。學(xué)術(shù)界提出的不同算法可以分為三大類,借助下表說明。


f1.png


假設(shè)一共研究了 S 個異象,其中 S_0 個在原假設(shè)下為真(即收益率為零),S_1 個在原假設(shè)下為假(即收益率不為零)。假設(shè)根據(jù)事先選定的顯著性水平(通常為 5%),有 R 個假設(shè)被拒絕了,而其中包括 F_1 個 false rejections(因為它們的原假設(shè)為真)。使用 F_1 和 R 可以定義一些不同的統(tǒng)計量,而不同的 MHT 算法是以控制不同的統(tǒng)計量為目標(biāo)。這些統(tǒng)計量包括三大類,分別為族錯誤率(family-wise error rate,F(xiàn)WER)、偽發(fā)現(xiàn)率(false discovery rate,F(xiàn)DR)和偽發(fā)現(xiàn)比例(false discovery proportion,F(xiàn)DP)。它們都是描述一類錯誤,即錯誤拒絕原假設(shè)的統(tǒng)計量。


族錯誤率(FWER)的定義是出現(xiàn)至少一個偽發(fā)現(xiàn)的概率,即 prob(F_1 ≥ 1)。在給定的顯著性水平 α 下,控制它的數(shù)學(xué)表達式為:



由定義可知,F(xiàn)WER 對單個假設(shè)非常嚴(yán)格,會提升二類錯誤的數(shù)量,削弱檢驗的 power。常見的算法包括 Bonferroni 和 Holm 方法,以及 White (2000) 的 bootstrap reality check 算法,Romano and Wolf (2005) 的 StepM 算法和 Romano and Wolf (2007) 的 k-StepM 算法。早在《出色不如走運(II)?》一文我們就介紹了 Bonferroni 和 Holm 方法。本文的目標(biāo)是介紹后三種方法。


偽發(fā)現(xiàn)率(FDR)的定義為 E[F_1/R]。在給定的水平 δ 下,它可以表達為:



從定義可知,F(xiàn)DR 允許 F_1 著 R 的增大而成比例上升,是一種更加溫和的方法。常見的算法為 BHY 方法(見《出色不如走運(II)?》)。


最后,偽發(fā)現(xiàn)比例(FDP)以限制 F_1/R 超過給定閾值 γ 的概率不超過給定的顯著性水平 α 為目標(biāo):



和 FDR 類似,它也允許 F_1 隨 R 增加,因而比 FWER 更加溫和。其中著名的算法包括 Romano and Wolf (2007) 以及 Romano, Shaikh, and Wolf (2008)。


1.2 自助法


本文的目標(biāo)是介紹 bootstrap reality check、StepM 以及 k-StepM 三種控制 FWER 的算法。這三種算法的優(yōu)點是不對數(shù)據(jù)的分布做任何假設(shè),因為它們都依賴于 bootstrap 自助法進行重采樣,并在此基礎(chǔ)上結(jié)合正交化求出 t-statistic 的閾值。對于研究異象來說,由于絕大多數(shù)變量都是高度相關(guān)的,因此異象的收益率也是高度相關(guān)的。為了保留時序和截面上的相關(guān)性,在進行重采樣時,往往采用 block bootstrap。顧名思義,block bootstrap 就是每次從序列中有放回的抽取一個由連續(xù) n 個相鄰數(shù)據(jù)點構(gòu)成的 block(大小由 block size 決定)。主流的 block bootstrap 算法包括以下三種:moving block bootstrap,circular block bootstrap 以及 stationary bootstrap。關(guān)于自助法更詳細的介紹請見《使用正交化和自助法尋找顯著因子》一文。本文將遵循學(xué)術(shù)界的選擇,使用 Politis and Romano (1994) 提出的 stationary bootstrap 算法進行重采樣。


2?三種控制 FWER 算法


本節(jié)介紹的三種算法的核心都是“正交化”+“自助法”。“正交化”可以理解為人為消除異象變量和收益率之間的任何關(guān)聯(lián)。正交化之后,我們就可以把該變量看成是隨機的,因而正交后異象的收益率也僅僅是來自運氣?!白灾ā眲t是為了得到僅因運氣成分而造成的統(tǒng)計量的分布,以此就可以判斷原始異象變量的顯著性是否是真實的,還是僅僅是運氣。值得一提的是,這三種算法本身也是密切相關(guān)的,后一個站在前者的基礎(chǔ)之上。下文將以異象月均收益率的 t-statistic 作為統(tǒng)計量,介紹不同的算法。


為了方便地介紹三種算法,先來做一些鋪墊工作。假設(shè)一共有 M 個異象,原始數(shù)據(jù)為 T × M 階收益率序列矩陣(記為 D),其中 T 為月頻期數(shù),M 為異象的個數(shù)。首先,對每個異象計算月均收益率的 t-statistic,得到一個 M 階向量,記為 θ。接下來,使用 stationary bootstrap 算法對原始矩陣 D 重采樣 B 次。對每一個 bootstrap sample,計算 M 個異象的 bootstrapped t-statistics 并取絕對值。由于在重采樣時并沒有強加“正交化”,因此在計算異象 bootstrapped t-statistics 的時候就要應(yīng)用“正交化”。


為此,對于給定 bootstrap sample 中的每個異象,計算該異象在當(dāng)前 bootstrap sample 中的月收益率均值和標(biāo)準(zhǔn)差,使用該月均收益率均值減去原始數(shù)據(jù) D 中該異象的月均收益率(這個減法正是“正交化”),然后將差值再除以前述標(biāo)準(zhǔn)差,就得到該異象在當(dāng)前 bootstrap sample 中的 bootstrapped t-statistic。上述過程的數(shù)學(xué)公式為:



式中上標(biāo) m 代表第 m 個異象,下標(biāo) b 代表第 b 個 bootstrap sample,下標(biāo) D 代表原始數(shù)據(jù)。依照上述操作,對于每一個 bootstrap sample,得到一個 M 階經(jīng)正交化調(diào)整后的 bootstrapped t-statistics 向量。由于一共有 B 次重采樣(即 B 個 bootstrap samples),因此上述步驟得到的是 M × B 階矩陣,其中每一行代表一個異象,每一列代表一次重采樣,每個元素都是一個 bootstrapped t-statistic。稱該矩陣為 Z。向量 θ 和矩陣 Z 就是以下三種算法的輸入。


2.1 Bootstrap Reality Check


將 M 個異象按它們月均收益率 t-statistics 的絕對值從高到低排列。Bootstrap reality check(BRC)算法的目標(biāo)是檢驗排名第一的異象是否在考慮了 MHT 問題后依然顯著。BRC 算法是 stationary bootstrap 的直接應(yīng)用,非常直截了當(dāng),分為以下幾步:


1. 對矩陣 Z 的每一列(即某個 bootstrap sample 下 M 個異象的 bootstrapped t-statistics)中 t-statistics 取絕對值并求出最大值;


2. 在上述得到的 B 個(因為一共有 B 個 bootstrap samples)最大值中,求出其 1 – α 分位數(shù),這就是給定顯著性水平下僅靠運氣得到的最優(yōu) t-statistic 的閾值;


3. 比較 M 個異象中原始 t-statistic 的最大值是否超過上述閾值,如果超過,則其在 α 水平下顯著。


值得一提的是,雖然很可能有多個異象的原始 t-statistics 超過了 BRC 算法給出的閾值,但 BRC 算法設(shè)計的初衷僅僅是為了檢驗 t-statistic 最高的異象是否依然顯著,即它只關(guān)心所有異象中最顯著的那一個。因此在所有 M 個異象中,該算法最多只拒絕一個原假設(shè)。毫無疑問,這太過苛刻。


2.2 StepM


StepM 是 BRC 的自然延伸。與 BRC 相比,它允許更過的原假設(shè)在 prob(F_1 ≥ 1) ≤ α 的前提下被拒絕,因此提高了檢驗的 power。StepM 算法具體包括以下三步:


1. 與 BRC 的前兩步一樣,計算 max bootstrapped t-statistic 的閾值(記為 c_1)。假設(shè) M 個異象中,有 P_1 個的原始 t-statistics 超過 c_1,即這 P_1 個原假設(shè)在考慮了 MHT 后依然可以被拒絕,挑出這 P_1 個異象(它們被認為是真正異象)。剩余 M – P_1 個異象,它們的 t-statistics 小于 c_1。


2. 對于剩余的 M – P_1 個異象,在 Z 矩陣中找到它們所在的行,得到矩陣 Z’,以此為對象選出新一輪的 max bootstrapped t-statistic 閾值(記為 c_2)。假設(shè)在剩余異象中,有 P_2 個異象的 t-statistics 超過了 c_2,則認為它們的原假設(shè)也可以被拒絕,它們也被認為是真正的異象。此時,剩余 M – P_1 – P_2 個異象。


3. 重復(fù)上述第 2 步(每次新的迭代,對象都是剩余的 M – P_1 – P_2 – … – P_{j-1} 個異象),反復(fù)在剩余異象中求出新的(也是逐漸降低的)max bootstrapped t-statistic 閾值,直至無法挑出任何原始 t-statistics 不低于 c_j 的異象。最終,經(jīng)過多次迭代的過程中,根據(jù)不同 max bootstrapped t-statistic 閾值(c_1、c_2 等)依次挑出的全部異象就是真正的異象。


2.3 k-StepM


雖然 StepM 比 BRC 方法允許更多的原假設(shè)被拒絕,但它依然比較苛刻。究其原因,還是因為 prob(F_1 ≥ 1) ≤ α 這個條件太嚴(yán)格 —— 它控制至少出現(xiàn)一個偽發(fā)現(xiàn)的概率。在 BRC 和 StepM 的算法中,上述條件體現(xiàn)為在每個 bootstrap sample 中,我們挑出了所有 M 個異象 t-statistics 絕對值的最大值,然后通過 B 個最大值得到其 1 – α 分位數(shù)作為閾值。如果想要放松上述限制,就要從 prob(F_1 ≥ 1) ≤ α 入手。k-StepM 算法將其改為不少于 k 個偽發(fā)現(xiàn)的概率(這也是其得名的原因),即:



由定義可知,StepM(默認 k = 1)是 k-StepM 的一個特例。k-StepM 同樣分為三步:


1. 對矩陣 Z 的每一列中 t-statistics 取絕對值并找到第 k 大的(注意,這里和 BRC 以及 StepM 最大的區(qū)別就是不再從每列取最大的 t-statistics 而是找到第 k 大的);求 B 個第 k 大的 1 – α 分位數(shù),這就是第一輪的閾值,記為 c_1;假設(shè) M 個異象中,有 P_1 個的原始 t-statistics 超過 c_1,M – P_1 個小于 c_1。


2. 從 P_1 個異象中挑出 k – 1 個(這是一個組合問題,比如 5 選 3, 10 選 4 這種,我們這里是 P_1 選 k - 1),假設(shè)一共有 h 種方法。對于每種組合方法選出的 k – 1 個異象,進行如下操作:


2a. 將它們和剩余的 M – P_1 個異象放在一起,構(gòu)成 M – P_1 + (k-1) 個異象的集合;


2b. 在 Z 矩陣中找到這 M – P_1 + (k-1) 個異象所在的行,得到矩陣 Z’,以此為對象找到第 k 大的閾值 c_2’;


取 h 種組合方法所得到的 h 個 c_2’ 的最大值,記為 c_2,這就是第二輪的閾值。從 M – P_1 個異象中,找出所有原始 t-statistics 高于 c_2 的異象(假設(shè)有 P_2 個)。


3. 重復(fù)上述第二步,只不過在每次迭代中挑選 k – 1 個異象的池子變?yōu)樵谥暗幸呀?jīng)被選出的異象(比如在第二次迭代中,池子是 P_1 個異象;在第三次迭代中,池子是 P_1 + P_2 個異象,以此類推);反復(fù)計算出新一輪第 k 大 t-statistic 的閾值 c_j,直至無法挑出任何原始 t-statistics 不低于 c_j 的異象。


以上就是 k-StepM 的步驟。直觀地說,它和 StepM 很接近 —— StepM 每次迭代用剩余異象的 Z’ 矩陣挑出最高 t-statistic 的分位數(shù)作為閾值;k-StepM 每次迭代用剩余異象的 Z’ 矩陣挑出第 k 高的 t-statistic 的分位數(shù)作為閾值。這是它們相似的地方。然而,它們最大的區(qū)別在于,在 StepM 中,已經(jīng)被選出的異象不會被重新考慮;而在 k-StepM 中,已經(jīng)被選出的異象中的 k – 1 個會被重新考慮(和尚未被選出的一起作為剩余異象)。


這么做的原因和每次計算閾值時選擇第 k 大的 t-statistic 以及該算法允許最多出現(xiàn) k – 1 個偽發(fā)現(xiàn)有關(guān)。其假設(shè)在 j – 1 次迭代之后被拒絕的 P_1 +… + P_{j-1} 個異象中,有 k – 1 個偽發(fā)現(xiàn)。由于不知道其中的哪些是偽發(fā)現(xiàn),因此該算法考慮了從 P_1 +… + P_{j-1} 中選出 k – 1 個的全部組合方式。


3?實證研究


為了說明上述三種方法的差異,本節(jié)針對 A 股中的 35 個異象做簡單實證。這些異象均是常見的基本面或技術(shù)面異象,實證窗口為 2000 年 1 月 1 日至 2019 年 12 月 31 日。這些異象月均收益率的 t-statistics 由高到低如下表所示。


f7.png


在實證中,進行 B = 1000 次 stationary bootstrap 重采樣(令 block size 均值為 4;我驗證了不同的取值,結(jié)果較為穩(wěn)健),并計算上述 35 個異象的 Z 矩陣;并選擇顯著性水平 α = 5%。接下來看三種方法的實證結(jié)果。首先來看 BRC。利用 Z 矩陣,求出 max bootstrapped t-statistic 的分布(下圖)以及 95% 的分位數(shù)為 2.98。由于 BRC 只關(guān)心 t-statistic 最高的異象,我們只需檢驗該值是否大于閾值。由于 3.58 大于 2.98,因此可以說在考慮了 MHT 后,該異象依然在 5% 的顯著性水平下顯著。(BTW,排名第一的異象是一個 SUE 類的異象。)


f8.png


接下來看 StepM 算法。由于其第一次迭代和 BRC 一樣,因此第一個閾值仍然是 2.98。在 35 個異象中,有 4 個超過了該閾值,因此被選出(其中有兩個 SUE 類的異象,另外兩個是市值和特質(zhì)性動量)。在第二次迭代中,以剩余 31 個異象的 Z’ 矩陣為目標(biāo),算出的閾值為 2.93,因此未能選出新的異象。最終 StepM選出 4 個異象(來自第一次迭代),過程如下表所示。


f9.png


最后來看 k-StepM。實證中選擇 k = 2。在第一次迭代中,第 2 大 bootstrapped t-statistic 的分布如下圖所示,其 95% 分位數(shù)為 2.53。以此為閾值,前 9 個異象被選出(包括市值、ILLIQ、異常換手率、特質(zhì)性動量以及三個 SUE 類等)。


f10.png


在第二次迭代中,首先從上述 9 個異象中選出 1 個和剩余 26 個合并,以這 27 個異象的 Z’ 矩陣為目標(biāo)計算出新的閾值;由于 9 選 1 一共有 9 種方式,因此上述過程共得到 9 個新的閾值,將它們的最大值作為本次迭代的閾值,該值為 2.41。以此為閾值,又有額外 4 個異象(異象 10 ~ 13)被選出。在第三次迭代中,首先從前兩次迭代選出的總共 13 個異象中選出 1 個和剩余 22 (= 35 - 13) 個合并,以這 23 個異象的 Z’ 矩陣為目標(biāo)計算出新的閾值;由于 13 選 1 共有 13 種方式,因此上述過程共得到 13 個新的閾值,將它們的最大值作為本次迭代的閾值,該值為 2.34。以此為閾值,本次迭代選出異象 14。在接下來的迭代中,由于沒有新的異象被進一步選出,因此算法結(jié)束。通過三次迭代,k-StepM 算法共選出 14 個異象,過程如下表所示。


f11.png


實證結(jié)果表明,k-StepM 放松了 StepM 對 FWER 的限制,因此有更多的原假設(shè)被拒絕。


4?金融學(xué)應(yīng)用建議


本文介紹了三種常見的以控制 FWER 為目標(biāo)的多重檢驗算法;它們只是眾多算法的冰山一角。面對如此豐富的工具箱,選擇合適的工具也就成為了難題 —— 算法是否合適很大程度上取決于數(shù)據(jù)滿足怎樣的假設(shè)。為此,Harvey, Liu, and Saretto (2020) 給出了一般性建議。首先,原假設(shè)的個數(shù)(即異象的個數(shù))是一個重要的選擇依據(jù)。由于 FWER 類的算法非常嚴(yán)格,因此當(dāng) M 很大時,這類算法就不太合適,而應(yīng)該選擇以控制 FDR 或 FDP 為目標(biāo)的算法。但如果檢驗的個數(shù)較少,比如 M = 10,選擇此類算法則沒有太大問題。另一個需要考量的因素是不同原假設(shè)(異象)之間的相關(guān)性,即數(shù)據(jù)的相關(guān)性。當(dāng)數(shù)據(jù)中存在很高的相關(guān)性時,依賴 bootstrap 的算法則比較適合。在這方面,本文介紹的三種算法,以及同樣是 Romano and Wolf (2007) 提出的另一種控制 FDP 的算法(稱為 FDP-StepM)則有一定的用武之地。當(dāng)我們手中有全新的樣本時(比如其他國家的股市,或者不同時期的數(shù)據(jù)),Harvey, Liu, and Saretto (2020) 建議使用以控制 FDR 為目標(biāo)的多重檢驗算法。由定義可知,F(xiàn)DR 是 FDP 的期望,較后者而言,它更加溫和一些。最后,如果上述 guideline 仍然無法讓人選出合適的算法,我們也可以嘗試 Harvey 教授的另一個大招 —— Harvey and Liu (2020)。用二位作者自己的話說:


They present a double bootstrap approach that delivers a set Type I error rate in multiple testing applications. Their method is?data dependent?so the cutoff will differ conditional on the particular data at hand. The method also?allows the researcher to inject their prior on the proportion of hypotheses that are true. Finally, in contrast to other methods that focus on Type I errors, Harvey and Liu’s method allows the research to develop?a decision framework that assigns differential costs of Type I and Type II errors.


怎么樣?這篇即將發(fā)表在?Journal of Finance?的文章聽上去就令人興奮。我們以后找機會再細說。



參考文獻

Harvey, C. R. and Y. Liu (2020). False (and missed) discoveries in financial economics. Journal of Finance 75(5), 2503?– 2553.

Harvey, C. R., Y. Liu, and A. Saretto (2020). An evaluation of alternative multiple testing methods for finance applications. Review of Asset Pricing Studies 10(2), 199 – 248.

Politis, D. N. and J. P. Romano (1994). The stationary bootstrap. Journal of the American Statistical Association 89(428), 1303 – 1313.

Romano, J. P., A. M. Shaikh, and M. Wolf (2008). Formalized data snooping based on generalized error rates. Econometric Theory 24(2), 404 – 447.

Romano, J. P. and M. Wolf (2005). Stepwise multiple testing as formalized data snooping. Econometrica 73(4), 1237 – 1282.

Romano, J. P. and M. Wolf (2007). Control of generalized error rates in multiple testing. The Annals of Statistics 35(4), 1378 – 1408.

White, H. (2000). A reality check for data snooping. Econometrica 68(5), 1097 – 1126.



免責(zé)聲明:入市有風(fēng)險,投資需謹慎。在任何情況下,本文的內(nèi)容、信息及數(shù)據(jù)或所表述的意見并不構(gòu)成對任何人的投資建議。在任何情況下,本文作者及所屬機構(gòu)不對任何人因使用本文的任何內(nèi)容所引致的任何損失負任何責(zé)任。除特別說明外,文中圖表均直接或間接來自于相應(yīng)論文,僅為介紹之用,版權(quán)歸原作者和期刊所有。