時間序列

擬合 Copula 和模擬

  • April 30, 2019

我將非常感謝對下面描述的問題的任何見解,關於使用通過將包的功能應用到 rugarch包中的功能獲得的數據copula

  1. 我將 AR(1)-GARCH(1,1) 擬合到兩個長度為 500 的返回序列 u,v。rugarchfit在 R 中使用。
  2. 我將殘差轉換為統一使用 pit(residuals(fit,standardize=TRUE))
  3. 然後,我將這些殘差(使用 PIT 統一)插入到 copula 並獲取參數。
  4. 我從擬合的 copula 中模擬了 100 個點(雙變數)。

現在,我想將這 100 個均勻分佈的點轉換回原來分佈的系列。我怎樣才能做到這一點?如何將它們轉換回殘差形式,然後應用擬合的 AR-GARCH 來獲得原始序列形式?

您需要估計或假設 (u,v) 的邊際分佈。假設您假設正常(不要這樣做),您將能夠執行羅森布拉特變換,以執行您描述的任務。

https://en.wikipedia.org/wiki/Inverse_transform_sampling

這可能是一個有用的資源。

您需要知道擬合 AR-GARCH(1,1) 時的原始條件分佈是什麼。假設您選擇了一個分佈, instudent-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)

引用自:https://quant.stackexchange.com/questions/25596