時間序列
擬合 Copula 和模擬
我將非常感謝對下面描述的問題的任何見解,關於使用通過將包的功能應用到
rugarch
包中的功能獲得的數據copula
。
- 我將 AR(1)-GARCH(1,1) 擬合到兩個長度為 500 的返回序列 u,v。
rugarchfit
在 R 中使用。- 我將殘差轉換為統一使用
pit(residuals(fit,standardize=TRUE))
- 然後,我將這些殘差(使用 PIT 統一)插入到 copula 並獲取參數。
- 我從擬合的 copula 中模擬了 100 個點(雙變數)。
現在,我想將這 100 個均勻分佈的點轉換回原來分佈的系列。我怎樣才能做到這一點?如何將它們轉換回殘差形式,然後應用擬合的 AR-GARCH 來獲得原始序列形式?
您需要估計或假設 (u,v) 的邊際分佈。假設您假設正常(不要這樣做),您將能夠執行羅森布拉特變換,以執行您描述的任務。
https://en.wikipedia.org/wiki/Inverse_transform_sampling
這可能是一個有用的資源。
您需要知道擬合 AR-GARCH(1,1) 時的原始條件分佈是什麼。假設您選擇了一個分佈, in
student-t
之後的反向轉換將如下所示:step 4``R
第 1 步:適合 Garch
fit <- rugarchfit
第 4 步:模擬點
sim <- 'simulated 100 points'
步驟 5:將 100 個均勻分佈的點轉換回原來分佈的序列
shape <- coef(fit)['shape'] transformed_residuals <- qdist("std", mu=0, sigma=1, sim, shape = shape)