R語(yǔ)言廣義矩量法GMM和廣義經(jīng)驗(yàn)似然GEL估計(jì)ARMA、CAPM模型分析股票收益時(shí)間序列
全文鏈接:?http://tecdat.cn/?p=27564
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
本文展示了如何通過(guò)矩量的廣義方法和廣義經(jīng)驗(yàn)似然來(lái)估計(jì)模型。對(duì)這兩種方法的理論方面進(jìn)行了簡(jiǎn)要討論,并通過(guò)經(jīng)濟(jì)學(xué)和金融學(xué)中的幾個(gè)例子介紹了R語(yǔ)言。
介紹
自Hansen?(?1982?) 以來(lái),廣義矩量法 (GMM) 已成為應(yīng)用經(jīng)濟(jì)學(xué)和金融學(xué)許多領(lǐng)域的重要估計(jì)程序。) 介紹了兩步 GMM (2SGMM)。它可以看作是許多其他估計(jì)方法的概括,例如最小二乘法 (LS)、工具變量 (IV) 或最大似然法 (ML)。因此,它不太可能被錯(cuò)誤指定。LS 估計(jì)量的性質(zhì)取決于回歸量的外生性和殘差的循環(huán)性,而 ML 的估計(jì)量取決于似然函數(shù)的選擇。GMM 更加靈活,因?yàn)樗恍枰恍╆P(guān)于矩條件的假設(shè)。例如,在宏觀經(jīng)濟(jì)學(xué)中,它允許通過(guò)方程來(lái)估計(jì)結(jié)構(gòu)模型方程。在金融領(lǐng)域,股票收益等大多數(shù)數(shù)據(jù)的特點(diǎn)是重尾分布和偏態(tài)分布。因?yàn)樗粚?duì)數(shù)據(jù)的分布施加任何限制,所以 GMM 在這個(gè)領(lǐng)域也是一個(gè)很好的選擇。
廣義矩量法
我們希望根據(jù)以下q?× 1 無(wú)條件矩條件向量從模型中估計(jì)參數(shù)向量θ?0 ∈ R?p :
E?[?g?(?θ?0?,xi?)] = 0?,
其中xi是橫截面數(shù)據(jù)、時(shí)間序列或兩者的向量。為了使 GMM 從上述條件產(chǎn)生一致的估計(jì),θ?0 必須是E?[?g?(?θ,xi?)] = 0 的唯一解,并且是緊致空間的一個(gè)元素。還需要對(duì)g?(?θ,xi?) 的更高矩進(jìn)行一些邊界假設(shè)。但是,它對(duì)xi的分布沒(méi)有施加任何條件,除了當(dāng)它是時(shí)間序列向量時(shí)觀察的依賴程度。
一些估計(jì)方法,如最小二乘法 (LS)、最大似然法 (ML) 或工具變量 (IV) 也可以被視為基于此類矩條件,這使其成為 GMM 的特殊情況。例如,以下線性模型:
Y?=?Xβ?+?u,
其中Y和X分別是n?× 1 和n?×?k矩陣,可以通過(guò) LS 估計(jì)。估計(jì)β?^是通過(guò)求解 min?β?k?u?k2 獲得的,因此是以下一階條件的解:

?這是矩條件E?(?Xiui?(?β?)) = 0 的估計(jì)。同樣的模型可以通過(guò) ML 估計(jì),此時(shí)矩條件變?yōu)椋?/p>
其中l(wèi)i?(?β?) 是ui的密度。在解釋變量X存在內(nèi)生性的情況下,即E?(?Xiui?) 6 = 0,通常使用 IV 方法。它通過(guò)將X替換為工具矩陣H來(lái)解決內(nèi)生性問(wèn)題,該矩陣需要與X相關(guān)且與u不相關(guān)。這些屬性允許模型通過(guò)條件矩條件E?(?ui?|?Hi?) = 0 或其隱含的無(wú)條件矩條件E?(?uiHi) = 0。一般來(lái)說(shuō),我們說(shuō)ui與信息集Ii正交,或者說(shuō)E?(?ui?|?Ii?) = 0 在這種情況下,Hi是包含Ii的任何元素的函數(shù)的向量。因此,該模型可以通過(guò)求解來(lái)估計(jì)

當(dāng)沒(méi)有對(duì)u的協(xié)方差矩陣進(jìn)行假設(shè)時(shí),IV 對(duì)應(yīng)于 GMM。如果E?(?Xiui?) = 0 成立,則廣義 LS 不假設(shè)u的協(xié)方差矩陣(邊界矩陣除外)也是 GMM 方法。對(duì)于被視為 GMM 的 ML 過(guò)程,必須滿足關(guān)于u分布的假設(shè)。如果不是,但E?(?dli?(?θ?0)?/dθ?) = 0 成立,因?yàn)樗蔷哂蟹钦龖B(tài)誤差項(xiàng)的線性模型的情況,使用穩(wěn)健協(xié)方差矩陣的偽 ML 可以看作是GMM 方法。
由于 GMM 僅依賴于矩條件,因此對(duì)于經(jīng)濟(jì)和金融中的許多模型來(lái)說(shuō),它是一種可靠的估計(jì)過(guò)程。例如,一般均衡模型存在內(nèi)生性問(wèn)題,因?yàn)檫@些模型被錯(cuò)誤指定并且它們僅代表經(jīng)濟(jì)的一部分。因此,具有正確時(shí)刻條件的 GMM 比 ML 更合適。在金融中,沒(méi)有令人滿意的參數(shù)分布來(lái)再現(xiàn)股票收益的特性。穩(wěn)定分布族是一個(gè)很好的候選者,但只有屬于該族的正態(tài)分布、柯西分布和 L′evy 分布的密度具有封閉形式的表達(dá)式。因此,在這種情況下,GMM 的無(wú)分布特性很有吸引力。
R 的 GMM
估計(jì)正態(tài)分布的參數(shù)
當(dāng)矩條件信息不足時(shí),這也是 GMM 弱點(diǎn)的一個(gè)很好的例子。事實(shí)上,正態(tài)分布的均值和方差的 ML 估計(jì)更有效,因?yàn)樗迫槐壬贁?shù)矩條件攜帶更多信息。
對(duì)于正態(tài)分布的兩個(gè)參數(shù) (?μ,σ?),我們有以下矩量條件向量:

其中前兩個(gè)可以通過(guò) (?μ,σ?) 的定義直接獲得,最后一個(gè)來(lái)自在 0 處評(píng)估的矩生成函數(shù)的三階導(dǎo)數(shù)。
我們首先需要?jiǎng)?chuàng)建一個(gè)函數(shù)g?(?θ,x?),它返回一個(gè)n?× 3 矩陣:
? f <- cbind(m1,m2,m3)
以下是ˉ?g?(?θ?) 的梯度:

如果提供,它將用于計(jì)算θ?^ 的協(xié)方差矩陣。
首先我們生成正態(tài)分布的隨機(jī)數(shù):
> x1 <- rnorm(n, mean = 4, sd = 2)
然后我們使用起始值運(yùn)行 gmm?

summary 方法從估計(jì)中輸出更多結(jié)果:
> summary(res)


“系數(shù)的初始值”部分顯示了用于計(jì)算 2 步 GMM 中的加權(quán)矩陣或 CUE 或迭代中的固定帶寬的第一步估計(jì)GMM。
提取過(guò)度識(shí)別限制的 J 檢驗(yàn):

使用以下函數(shù)的小型模擬表明,基于上述矩條件,ML 生成的估計(jì)量均方誤差小于 GMM。然而,不是 GMM 而是矩條件不是有效的,因?yàn)?ML 是 GMM,以似然導(dǎo)數(shù)作為矩條件。
for(i in 1:iter)
?? {
?????? x1 <- rnom(n mean = 4, sd = 2)
??????? tet1[i,1] <- mean(x1)
???????????????????? tet1[i,2] <- sqrt(varx1)*(n-1)/n)
??????????????????? tet2[i,] <- gm(g,x1,c(,0),graDg)$oefficiets
??? }
? bias<- cind(rwMens(t(et)-(4,2)),owMans(t(tet2)-c4,2)))
? dimnams(bias)<-ist(c("mu","sigma"),c("ML","GMM"))

在n?= 50、iter?= 2000 并通過(guò)設(shè)置 set.seed可以重現(xiàn)以下結(jié)果:

具有 iid 矩條件的線性ar 模型
我們想估計(jì)一個(gè)具有內(nèi)生性問(wèn)題的線性模型。
xi的任何函數(shù)都可以用作工具,因?yàn)樗ci正交且與Wi相關(guān)。因此有無(wú)數(shù)種可能的工具。對(duì)于此示例, (?xi,x?2?i ,x?3?i?) 將是選定的工具,并且樣本大小設(shè)置為n?= 400:
> e <-rmvnorm(,sma=sig
> x4 <- rnom(n)
> w <- exp(-x4^2) + e[,1]
> y <- .1*w + e[,2]
其中 rmvnorm 是一個(gè)多元正態(tài)分布隨機(jī)生成器,它包含在 mvtnorm 包中(Genz、Bretz、Miwa、Mi、Leisch、Scheipl 和 Hothorn(2009 年))。對(duì)于線性模型,g參數(shù)是一個(gè)公式,用于指定 lm 的右側(cè)和左側(cè):
> h <- cbind(x4, x4^2, x4^3)
> g3 <- y~w
但是,在實(shí)際數(shù)據(jù)中,建議不要將此選項(xiàng)設(shè)置為“iid”,因?yàn)槲覀円褂?GMM 的原因之一是避免此類限制。最后,當(dāng)模型是線性的時(shí),不需要提供梯度,因?yàn)樗呀?jīng)包含在 gmm 中。第一個(gè)結(jié)果是:


默認(rèn)情況下,計(jì)算 2SGMM??梢酝ㄟ^(guò)修改選項(xiàng)“類型”來(lái)選擇其他方法。第二種可能性是 ITGMM:
type='iterative'

該過(guò)程迭代直到兩次連續(xù)迭代的估計(jì)值之間的差異達(dá)到某個(gè)容差水平,由選項(xiàng) crit(默認(rèn)為 10-7)定義,或者如果迭代次數(shù)達(dá)到 itermax(默認(rèn)為 100)。在后一種情況下,指示該過(guò)程未收斂。
第三種方法是 CUE。如您所見(jiàn),來(lái)自 ITGMM 的估計(jì)值用作起始值。但是,僅當(dāng) g 是函數(shù)時(shí)才需要起始值。當(dāng) g 是一個(gè)公式時(shí),默認(rèn)的起始值是通過(guò)設(shè)置權(quán)重矩陣等于單位矩陣獲得的。
type='cue')

可以使用 confint 方法生成置信區(qū)間:
> confint(res3,level=.90)

擬合方法和殘差方法也可用于線性模型。我們可以將 lm 的擬合值與 gmm 的擬合值進(jìn)行比較,看看為什么這個(gè)模型不能被 LS 估計(jì)。
> plot(w,y)

LS 似乎更適合模型。但是圖形隱藏了內(nèi)生性問(wèn)題。LS 高估了y和w之間的關(guān)系,因?yàn)樗鼪](méi)有考慮到一些相關(guān)性是由yi和wi與誤差項(xiàng)i正相關(guān)引起的。
估計(jì)ARMA 過(guò)程的 AR 系數(shù)
使用 ML 或非線性 LS 可以更好地估計(jì) ARMA(p,q) 過(guò)程的自回歸系數(shù)。但是在蒙特卡洛實(shí)驗(yàn)中,往往是通過(guò) GMM 估計(jì)來(lái)研究它的性質(zhì)。它給出了具有內(nèi)生性問(wèn)題的線性模型的一個(gè)很好的例子,其中矩條件是序列相關(guān)的并且可能是條件異方差的。與前面的示例相反,HAC 矩陣的選擇成為一個(gè)重要問(wèn)題。
對(duì)于這個(gè)例子,選擇的工具是 (?Xt?-3?,Xt?-4?,Xt?-5?,Xt?-6) 并且樣本大小等于 400。ARMA(2,2) 過(guò)程由函數(shù) arima.sim 生成:
> 5 <- arima.sim(n=t))
>

當(dāng)矩條件基于時(shí)間序列時(shí),最優(yōu)矩陣是由等式(3)定義的HAC矩陣。文獻(xiàn)中已經(jīng)提出了該矩陣的幾個(gè)估計(jì)量。給定一些正則條件,它們是漸近等價(jià)的。但是,它們對(duì) GMM 估計(jì)器的有限樣本屬性的影響可能不同。
我們可以將結(jié)果與不同的內(nèi)核選擇進(jìn)行比較:
> coef(res2)

kernel="Bartlett")
> coef(res3)

kernel="Parzen")
> coef(res4)
kernel="Tukey-Hanning")
> coef(res5)
結(jié)果的相似性并不奇怪,因?yàn)闄?quán)重矩陣應(yīng)該只影響估計(jì)器的效率。我們可以使用 vcov 方法比較估計(jì)的標(biāo)準(zhǔn)差:
這表明,對(duì)于這個(gè)例子,巴特利特核生成的估計(jì)值具有最小的方差。但是,這并不意味著它更好。如果我們想比較它們,我們必須運(yùn)行模擬并計(jì)算真實(shí)的方差。事實(shí)上,我們不知道哪一個(gè)產(chǎn)生了最準(zhǔn)確的方差估計(jì)。
第二個(gè)選項(xiàng)用于帶寬選擇。
最后,可以對(duì) gmm 對(duì)象應(yīng)用 plot 方法來(lái)繪制殘差的 QQ 圖:
> plot(res,which=2)
或用擬合值繪制觀察結(jié)果:
估計(jì)方程組:CAPM
我們想測(cè)試資本資產(chǎn)定價(jià)模型 (CAPM) 的影響之一。
數(shù)據(jù)包中包含的數(shù)據(jù)是 1993 年 1 月至 2009 年 2 月 20 只選定股票的日收益率、無(wú)風(fēng)險(xiǎn)利率以及 Fama 和 French的三個(gè)因素。以下測(cè)試是使用 5 只股票的收益和 500的樣本量進(jìn)行的。
> z <- as.matrix(r-rf)
> zm <- as.matrix(rm-rf)
> coef(res)
其中使用漸近卡方,因?yàn)槟J(rèn)分布需要正態(tài)假設(shè)。可以使用系數(shù)的名稱執(zhí)行相同的測(cè)試:
測(cè)試 CAPM 的另一種方法是估計(jì)過(guò)度識(shí)別的受限模型 (?α?= 0),并執(zhí)行 J 檢驗(yàn)。將 -1 添加到公式中會(huì)刪除截距。在這種情況下,必須將一列 1 添加到工具矩陣中:
> specTest(res2)
證實(shí)了該理論的不被拒絕。
廣義經(jīng)驗(yàn)似然
GEL 是一個(gè)新的估計(jì)方法家族,與 GMM 一樣,它是基于矩條件的。它遵循Owen?(?2001?),他提出了經(jīng)驗(yàn)似然估計(jì)的想法,旨在提高估計(jì)器的置信區(qū)域。我們?cè)谶@里簡(jiǎn)要討論該方法,而不涉及太多細(xì)節(jié)。
估計(jì)是基于
E?(?g?(?θ?0?,xi?)) = 0?,
對(duì)于此示例,我們可以將選項(xiàng) smooth 保留為其默認(rèn)值,即 FALSE,因?yàn)閤的 iid 屬性。良好的起始值對(duì) GEL 非常重要。最好的選擇是樣本均值和標(biāo)準(zhǔn)差。默認(rèn)情況下,選項(xiàng)類型設(shè)置為 EL。
> summary(res_el)
每個(gè)拉格朗日乘數(shù)代表矩條件隱含的約束的價(jià)格。summary 報(bào)告了兩個(gè)收斂代碼,一個(gè)用于λ?,另一個(gè)用于θ。
ET 和 CUE 估計(jì)值可以如下獲得:
type="ET")
> coef(r_et)
g1,x1,tet0,type="CUE")
> cef(esue)
第四種方法可用,稱為指數(shù)傾斜經(jīng)驗(yàn)似然 (ETEL),由Schennach?(?2007?) 提出。但是,它不屬于 GEL 估計(jì)器家族。它解決了錯(cuò)誤指定模型的問(wèn)題。在這樣的模型中,隨著樣本量的增加,可能不存在任何θ ^ 收斂到的偽值。ETEL 使用 ET 的ρ?() 求解λ和 EL 的ρ?() 求解θ。Schennach?(?2007?) 表明 ETEL 與 EL 具有相同的漸近特性,而不必對(duì)ρ?(?v) 求解λ時(shí)。
g1,x1,c(mu=1,sig=1),type="ETEL")
> oef(re_el)

ETEL 類型目前是實(shí)驗(yàn)性的。雖然它應(yīng)該更穩(wěn)定,因?yàn)榍蠼猞瞬恍枰魏蜗拗?,但是一旦我們?cè)?EL 目標(biāo)函數(shù)中替換λ?(?θ ) 來(lái)估計(jì)θ,我們?nèi)匀恍枰拗痞?0?gt以避免出現(xiàn) NA。解決方案是使用 constrOptim獲得λ?(?θ ),限制為 λ?0?gt >?1,即使 ET (?ρ?(?v?) = -exp(?v?)) 不需要它。然而,它對(duì)起始值很敏感。這就是為什么我們?cè)谏厦媸褂貌煌脑颉?/p>
估計(jì) ARMA 過(guò)程的 AR 系數(shù)
因?yàn)榫貤l件是弱相關(guān)的,我們需要設(shè)置選項(xiàng)smooth=TRUE。在進(jìn)行估計(jì)程序之前,我們需要了解平滑核和 HAC 估計(jì)器之間的關(guān)系。因此,該模型將使用核截?cái)鄟?lái)估計(jì)。選擇具有單位矩陣的 GMM 估計(jì)作為起始值。
watrix="ident")$coef
smoothTRUE,kernel="Truncated")
> sumay(res)


計(jì)算了Smith提出的三個(gè)檢驗(yàn)2004):
> specTest(res)

plot 產(chǎn)生更多圖形。它顯示了隱含的概率以及經(jīng)驗(yàn)密度 (1?/T?)。
> plot(res,which=4)
?我們還可以選擇 optfct="nlminb" 或 constraint=TRUE 以對(duì)系數(shù)施加限制。前者設(shè)置系數(shù)的下限和上限,而后者使用算法 constrOptim 施加線性約束。在此示例中,我們希望 AR 系數(shù)的總和小于 1。constrOptim 施加約束uiθ???ci?≥ 0。
因此,我們需要設(shè)置:
> ui=cbind(0,-1,-1)
> ci <- -1
并重新運(yùn)行估計(jì)
+ constraint=TRUE, ui=ui,ci=ci)
結(jié)果是相同的。
也可以使用選項(xiàng)更改優(yōu)化器控制列表中的默認(rèn)值LadaCntol(參見(jiàn) ?nlminb 或 ?optim)。這里有些例子:
+ LambdaControl=list(trace=TRUE, parscale=rep(.1,5)))
結(jié)論
R提供了完整和靈活的算法來(lái)估計(jì) GMM 和 GEL 模型。為了估計(jì)參數(shù)向量,用戶可以根據(jù)是否需要不等式約束來(lái)選擇他們喜歡的優(yōu)化算法。對(duì)于GEL的拉格朗日乘子向量,可以通過(guò)基于牛頓法的迭代程序計(jì)算,提高了收斂速度,降低了估計(jì)程序的不穩(wěn)定性。那些對(duì)研究這兩種方法的數(shù)值特性感興趣的人可以很容易地使用它。

最受歡迎的見(jiàn)解
1.R語(yǔ)言對(duì)S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
2.R語(yǔ)言改進(jìn)的股票配對(duì)交易策略分析SPY—TLT組合和中國(guó)股市投資組合
3.R語(yǔ)言時(shí)間序列:ARIMA GARCH模型的交易策略在外匯市場(chǎng)預(yù)測(cè)應(yīng)用
4.TMA三均線期指高頻交易策略的R語(yǔ)言實(shí)現(xiàn)
5.r語(yǔ)言多均線量化策略回測(cè)比較
6.用R語(yǔ)言實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)股票實(shí)例
7.r語(yǔ)言預(yù)測(cè)波動(dòng)率的實(shí)現(xiàn):ARCH模型與HAR-RV模型
8.R語(yǔ)言如何做馬爾科夫轉(zhuǎn)換模型markov switching model
9.matlab使用Copula仿真優(yōu)化市場(chǎng)風(fēng)險(xiǎn)