SlideShare a Scribd company logo
1 of 37
Оценка рыночных рисков
Финансовая эконометрика
Содержание
• моделирование распределения доходности рынка (с
  помощью моделей семейства обобщённого
  гиперболического распределения)
• модель ARMA-GARCH
Моделирование распределения доходности рынка
Исходные данные
library(datasets)
dax <- EuStockMarkets[,"DAX"]

T <- length(dax) - 1
dax <- dax[2:(T+1)]/dax[1:T] - 1
Статистическая информация




                                                                                               0.04
                   library(fBasics)




                                                                                               0.02
                                                         # график




                                                                                               -0.08 -0.06 -0.04 -0.02 0.00
                   plot(dax,type="l")




                                                                                   dax
                   basicStats(dax)                   # статистики

                                                                                                                                  0             500                   1000        1500



                   histPlot(timeSeries(dax))#      гистограмма
                                                                                                                                                                 Index




                   acf(dax)        # автокорреляционная функция
                                 SS.1 Histogram                                                                                                Series dax



                                                                                         1.0
              60




                                                                                         0.8
              50
              40




                                                                                         0.6
Probability




                                                                                 ACF
              30




                                                                                         0.4
              20




                                                                                         0.2
              10




                                                                Mean: 0.000705




                                                                                         0.0
              0




                         -0.05                0.00       0.05                                                                 0       5   10     15         20   25          30

                                      Value                                                                                                       Lag
Тесты на нормальность
qqnormPlot(dax) # график   квантиль-квантиль
jarqueberaTest(dax)
Оценка параметров распределения
library(ghyp)
fit.*…+uv(dax,symmetric=FALSE,silent=TRUE)

# если symmetric == FALSE, то оценивается скошенное
# распределение, иначе — симметричное;
# вместо *…+ следует подставить название распределения:
# ghyp — обобщённое гиперболическое
# hyp — гиперболическое
# NIG — нормально-обратное гауссовское
# VG — Variance-Gamma
# t — t-распределение Стьюдента
# gauss — нормальное
Графический анализ модели
                       dax.ghyp <- fit.ghypuv(dax,symmetric=FALSE,silent=TRUE)
                       hist(dax.ghyp)  # гистограмма
                       qqghyp(dax.ghyp) # график квантиль-квантиль

                                     Histogram of data                                                         Generalized Hyperbolic Q-Q Plot


                                                          Asymm ghyp                              Asymm ghyp
                                                                                                  Gaussian
                                                          Gaussian




                                                                                          0.04
          50




                                                                                          0.02
          40




                                                                                          0.00
                                                                       Sample Quantiles
          30
Density




                                                                                          -0.02
                                                                                          -0.04
          20




                                                                                          -0.06
          10




                                                                                          -0.08
          0




               -0.10         -0.05                 0.00       0.05                                   -0.04        -0.02           0.00            0.02   0.04

                                           data                                                                           Theoretical Quantiles
Выбор наилучшей модели
Отношение правдоподобия
Н0: более общая модель обладает той же объясняющей
силой, что и её частный случай


dax.t <- fit.tuv(dax,symmetric=FALSE,silent=TRUE)
lik.ratio.test(dax.ghyp,dax.t,conf.level=0.95)

Информационный критерий Акаике

aic.uv <- stepAIC.ghyp(dax,dist=c("gauss","t","ghyp"),
symmetric=NULL,silent=TRUE)
summary(aic.uv$best.model)   # статистики по модели
Оценка финансового риска
•




                           VaR   -0.011
                           ES    -0.018
Кривая VaR
Используется для тестирования качества оценок риска
Кривая VaR — набор последовательных во времени значений VaR
# разделим выборку на обучающую и экзаменующую
T1 <- 6*260; T2 <- T - T1

# на пространстве экзаменующей выборки построим набор
# последовательных значений VaR
VaR <- numeric()
h <- 0.5 * 260 # длина обучающей выборки
for (i in (T1+1):(T1+T2)) {
  h.dax <- dax[(i-h):(i-1)]
  dax.fit <- stepAIC.ghyp(h.dax,dist=c("gauss","t","ghyp"),
  symmetric=NULL,silent=TRUE)
  VaR[i-T1] <- qghyp(alpha,object=dax.fit$best.model)
}
Кривая VaR
# сравнение оценок риска с фактом
fact <- dax[(T1+1):(T1+T2)]
plot(fact,type="l")
lines(VaR,col="red")




                                 0.04
                                 0.02
                                 0.00
                          fact

                                 -0.02
                                 -0.04
                                 -0.06




                                         0   50   100   150     200   250   300

                                                        Index
Кривая VaR
•




                 alpha     0.100
                 alpha0    0.130
                 p.value   0.092
Кривая VaR
•




                 L.Lo*10^4   1.399
                 L.BI        0.611
Домашнее задание
• рассчитать оценки риска для биржевого индекса по всей
  совокупности наблюдений на основе наилучшей модели
• построить кривую VaR и проверить качество оценок
• проделать то же самое для нормального распределения и
  сравнить результаты

Исходные данные — EuStockMarkets[, "SMI"]

Бонусные задания (необязательные):
• провести тест Колмогорова–Смирнова на эквивалентность
  распределения доходностей биржевого индекса и
  выбранной вами наилучшей модели
• выполнить основное задание для индекса DAX, исключив
  одну наименьшую доходность, и определить, как
  изменились оценки риска
Двумерный случай
smi <- EuStockMarkets[,"SMI"]
smi <- smi[2:(T+1)]/smi[1:T] - 1
# доходности портфеля из двух активов
prt <- array(c(dax,smi),dim=c(T,2))

# оценка параметров модели
prt.fit <- fit.*…+mv(prt,symmetric=FALSE,silent=TRUE)
aic.mv <- stepAIC.ghyp(prt, *…+)

# оценки риска
prt.fit <- fit.ghypmv(prt,symmetric=FALSE,silent=TRUE)
w <- c(0.5,0.5) # веса активов в портфеле
sim <- rghyp(n=N,object=prt.fit)
prt.sim <- w[1]*sim[,1]+w[2]*sim[,2]
prt.sim <- sort(prt.sim)
VaR <- prt.sim[alpha*N]
ES <- mean(prt.sim[1:(alpha*N-1)])
                                                   VaR   -0.009
                                                   ES    -0.017
Оптимизация портфеля
# выбор оптимальных весов активов в портфеле
opt <- portfolio.optimize(prt.fit,
risk.measure="value.at.risk",type="minimum.risk",
target.return=NULL,risk.free=NULL,level=0.95,silent=TRUE)

• risk.measure определяет целевой измеритель риска
  "sd", "value.at.risk", "expected.shortfall"
• type — вид оптимизации
  "minimum.risk" — по минимальному риску
  "tangency" — по соотношению "(доходность – безрисковая
   ставка) / риск"
  "target.return" — минимальный риск при заданной
  доходности
 opt$opt.weights # искомые веса
Домашнее задание
• рассчитать оценки риска для портфеля из двух биржевых
  индексов по всей совокупности наблюдений на основе
  наилучшей модели

Исходные данные — пара индексов CAC–SMI

Бонусное задание (необязательное):
• построить кривую VaR для портфеля и проверить качество
  оценок
Модель ARMA–GARCH
Моделирование средней доходности
•
Моделирование волатильности
•
Generalized Error Distribution (GED)
                  1               1 x
                      exp
                                  2
f GED x ; ,   ,           1
                              1       1
                      2                   1



Г(.) – гамма-функция
Формы GED в зависимости от параметров
•
Общая схема расчёта модели APARCH
•
Расчёт частных случаев модели APARCH
•
Графический анализ модели
                   dax.gfit <- garchFit(formula=~aparch(1,1),data=dax,delta=2,
                   include.delta=FALSE,leverage=TRUE,cond.dist="sged",
                   shape=1.25,include.shape=FALSE,trace=FALSE)

                   plot(dax.gfit,which=*…+)
                                   qsged - QQ Plot                                     ACF of Standardized Residuals
                   5




                                                                         1.0
                                                                         0.8
                   0




                                                                         0.6
Sample Quantiles




                                                                   ACF
                   -5




                                                                         0.4
                                                                         0.2
                   -10




                                                                         0.0




                         -4   -2             0             2   4               0   5      10      15       20      25   30

                                   Theoretical Quantiles                                           Lags


                                   which=13                                                which=10
Стационарность
•
Стационарность и единичные корни
•
Характеристическое уравнение и
стационарность ARMA(m,n) и APARCH(p,q)
•
Тесты на единичный корень
•
Тесты на единичный корень в R
library(urca)

# ADF-тест
summary(ur.df(dax.gfit@residuals,type="none"/"drift"/"trend"
, selectlags="Fixed"/"AIC"/"BIC",lags=10))
punitroot(-3.5,N=T,trend="nc"/"c"/"ct")

# PP-тест
summary(ur.pp(dax.gfit@residuals,type="Z-tau",
model="constant"/"trend",lags="short"/"long"))

# KPSS-тест
summary(ur.kpss(dax.gfit@residuals,type="mu"/"tau",
lags="short"/"long"/"nil"))
ADF-тест
###############################################
# Augmented Dickey-Fuller Test Unit Root Test #
###############################################

Test regression drift


Call:
lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag)

Residuals:
      Min        1Q    Median         3Q        Max
-0.092449 -0.005302 -0.000251   0.005692   0.049013

Coefficients:
              Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.0001904 0.0002397     0.794    0.427
z.lag.1     -1.0260733 0.0329483 -31.142    <2e-16 ***
z.diff.lag   0.0255134 0.0233010    1.095    0.274
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.0103 on 1845 degrees of freedom
Multiple R-squared: 0.5001,     Adjusted R-squared: 0.4995
F-statistic: 922.8 on 2 and 1845 DF, p-value: < 2.2e-16


Value of test-statistic is: -31.1419 484.9111

Critical values for test statistics:
      1pct 5pct 10pct
tau2 -3.43 -2.86 -2.57
phi1 6.43 4.59 3.78
PP-тест
##################################
# Phillips-Perron Unit Root Test #
##################################

Test regression with intercept


Call:
lm(formula = y ~ y.l1)

Residuals:
      Min        1Q    Median          3Q        Max
-0.092499 -0.005368 -0.000231    0.005668   0.051371

Coefficients:
             Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.0001905 0.0002386    0.798    0.425
y.l1       -0.0007721 0.0232333 -0.033      0.973

Residual standard error: 0.01028 on 1856 degrees of freedom
Multiple R-squared: 5.95e-07,   Adjusted R-squared: -0.0005382
F-statistic: 0.001104 on 1 and 1856 DF, p-value: 0.9735


Value of test-statistic, type: Z-tau    is: -43.1312

           aux. Z statistics
Z-tau-mu              0.7995

Critical values for Z statistics:
                     1pct      5pct     10pct
critical values -3.436737 -2.863576 -2.567875
KPSS-тест
#######################
# KPSS Unit Root Test #
#######################

Test is of type: mu with 8 lags.

Value of test-statistic is: 0.4598

Critical value for a significance level of:
                10pct 5pct 2.5pct 1pct
critical values 0.347 0.463 0.574 0.739
Прогноз по модели ARMA-GARCH
# прогноз среднего и дисперсии на i шагов вперёд
dax.frc <- predict(dax.gfit,n.ahead=i)
dax.frc[,1]  # вектор средних
dax.frc[,3]^2 # вектор дисперсий

# расчёт границы потерь
alpha <- 0.05
VaR <- dax.frc[1,1]+dax.frc[1,3]*qged(alpha,mean=0,sd=1,
nu=dax.gfit@fit$par["shape"])
0.04
    Кривая VaR




                                                     0.02
                                                     0.00
                                              fact
VaR <- numeric()




                                                     -0.02
h <- 0.5*260




                                                     -0.04
for (i in (T1+1):(T1+T2)) {
  h.dax <- dax[(i-h):(i-1)]




                                                     -0.06
                                                             0   50   100   150     200   250   300

                                                                            Index


    dax.gfit <- garchFit(formula=~aparch(1,1),data=h.dax,
    delta=2,include.delta=FALSE,leverage=TRUE,cond.dist="sged",
    shape=1.5,include.shape=FALSE,trace=FALSE)

    dax.frc <- predict(dax.gfit,n.ahead=1)

    VaR[i-T1] <- dax.frc[1,1]+dax.frc[1,3]*qsged(alpha,mean=0,sd=1,
    nu=1.5,xi=dax.gfit@fit$par["skew"])
}
Домашнее задание
• рассчитать оценки риска для биржевого индекса по всей
  совокупности наблюдений на основе GARCH-модели
• построить кривую VaR и проверить качество оценок

Исходные данные — EuStockMarkets[, "SMI"]

More Related Content

Viewers also liked

CMF_Presentation
CMF_PresentationCMF_Presentation
CMF_Presentationmsuteam
 
Venture investments structuring
Venture investments structuringVenture investments structuring
Venture investments structuringmsuteam
 
Cmf enrolled students_2016_new
Cmf enrolled students_2016_newCmf enrolled students_2016_new
Cmf enrolled students_2016_newCMF_Moscow
 
A study on construction of optimal portfolio using sharpe’s single index model
A study on construction of optimal portfolio using sharpe’s single index modelA study on construction of optimal portfolio using sharpe’s single index model
A study on construction of optimal portfolio using sharpe’s single index modelProjects Kart
 
5. регрессионный анализ
5. регрессионный анализ5. регрессионный анализ
5. регрессионный анализmsuteam
 

Viewers also liked (7)

CMF_Presentation
CMF_PresentationCMF_Presentation
CMF_Presentation
 
Sound waves
Sound wavesSound waves
Sound waves
 
Venture investments structuring
Venture investments structuringVenture investments structuring
Venture investments structuring
 
Cmf enrolled students_2016_new
Cmf enrolled students_2016_newCmf enrolled students_2016_new
Cmf enrolled students_2016_new
 
Cmf 2016-2017
Cmf 2016-2017Cmf 2016-2017
Cmf 2016-2017
 
A study on construction of optimal portfolio using sharpe’s single index model
A study on construction of optimal portfolio using sharpe’s single index modelA study on construction of optimal portfolio using sharpe’s single index model
A study on construction of optimal portfolio using sharpe’s single index model
 
5. регрессионный анализ
5. регрессионный анализ5. регрессионный анализ
5. регрессионный анализ
 

1. оценка рыночных рисков

  • 2. Содержание • моделирование распределения доходности рынка (с помощью моделей семейства обобщённого гиперболического распределения) • модель ARMA-GARCH
  • 4. Исходные данные library(datasets) dax <- EuStockMarkets[,"DAX"] T <- length(dax) - 1 dax <- dax[2:(T+1)]/dax[1:T] - 1
  • 5. Статистическая информация 0.04 library(fBasics) 0.02 # график -0.08 -0.06 -0.04 -0.02 0.00 plot(dax,type="l") dax basicStats(dax) # статистики 0 500 1000 1500 histPlot(timeSeries(dax))# гистограмма Index acf(dax) # автокорреляционная функция SS.1 Histogram Series dax 1.0 60 0.8 50 40 0.6 Probability ACF 30 0.4 20 0.2 10 Mean: 0.000705 0.0 0 -0.05 0.00 0.05 0 5 10 15 20 25 30 Value Lag
  • 6. Тесты на нормальность qqnormPlot(dax) # график квантиль-квантиль jarqueberaTest(dax)
  • 7. Оценка параметров распределения library(ghyp) fit.*…+uv(dax,symmetric=FALSE,silent=TRUE) # если symmetric == FALSE, то оценивается скошенное # распределение, иначе — симметричное; # вместо *…+ следует подставить название распределения: # ghyp — обобщённое гиперболическое # hyp — гиперболическое # NIG — нормально-обратное гауссовское # VG — Variance-Gamma # t — t-распределение Стьюдента # gauss — нормальное
  • 8. Графический анализ модели dax.ghyp <- fit.ghypuv(dax,symmetric=FALSE,silent=TRUE) hist(dax.ghyp) # гистограмма qqghyp(dax.ghyp) # график квантиль-квантиль Histogram of data Generalized Hyperbolic Q-Q Plot Asymm ghyp Asymm ghyp Gaussian Gaussian 0.04 50 0.02 40 0.00 Sample Quantiles 30 Density -0.02 -0.04 20 -0.06 10 -0.08 0 -0.10 -0.05 0.00 0.05 -0.04 -0.02 0.00 0.02 0.04 data Theoretical Quantiles
  • 9. Выбор наилучшей модели Отношение правдоподобия Н0: более общая модель обладает той же объясняющей силой, что и её частный случай dax.t <- fit.tuv(dax,symmetric=FALSE,silent=TRUE) lik.ratio.test(dax.ghyp,dax.t,conf.level=0.95) Информационный критерий Акаике aic.uv <- stepAIC.ghyp(dax,dist=c("gauss","t","ghyp"), symmetric=NULL,silent=TRUE) summary(aic.uv$best.model) # статистики по модели
  • 11. Кривая VaR Используется для тестирования качества оценок риска Кривая VaR — набор последовательных во времени значений VaR # разделим выборку на обучающую и экзаменующую T1 <- 6*260; T2 <- T - T1 # на пространстве экзаменующей выборки построим набор # последовательных значений VaR VaR <- numeric() h <- 0.5 * 260 # длина обучающей выборки for (i in (T1+1):(T1+T2)) { h.dax <- dax[(i-h):(i-1)] dax.fit <- stepAIC.ghyp(h.dax,dist=c("gauss","t","ghyp"), symmetric=NULL,silent=TRUE) VaR[i-T1] <- qghyp(alpha,object=dax.fit$best.model) }
  • 12. Кривая VaR # сравнение оценок риска с фактом fact <- dax[(T1+1):(T1+T2)] plot(fact,type="l") lines(VaR,col="red") 0.04 0.02 0.00 fact -0.02 -0.04 -0.06 0 50 100 150 200 250 300 Index
  • 13. Кривая VaR • alpha 0.100 alpha0 0.130 p.value 0.092
  • 14. Кривая VaR • L.Lo*10^4 1.399 L.BI 0.611
  • 15. Домашнее задание • рассчитать оценки риска для биржевого индекса по всей совокупности наблюдений на основе наилучшей модели • построить кривую VaR и проверить качество оценок • проделать то же самое для нормального распределения и сравнить результаты Исходные данные — EuStockMarkets[, "SMI"] Бонусные задания (необязательные): • провести тест Колмогорова–Смирнова на эквивалентность распределения доходностей биржевого индекса и выбранной вами наилучшей модели • выполнить основное задание для индекса DAX, исключив одну наименьшую доходность, и определить, как изменились оценки риска
  • 16. Двумерный случай smi <- EuStockMarkets[,"SMI"] smi <- smi[2:(T+1)]/smi[1:T] - 1 # доходности портфеля из двух активов prt <- array(c(dax,smi),dim=c(T,2)) # оценка параметров модели prt.fit <- fit.*…+mv(prt,symmetric=FALSE,silent=TRUE) aic.mv <- stepAIC.ghyp(prt, *…+) # оценки риска prt.fit <- fit.ghypmv(prt,symmetric=FALSE,silent=TRUE) w <- c(0.5,0.5) # веса активов в портфеле sim <- rghyp(n=N,object=prt.fit) prt.sim <- w[1]*sim[,1]+w[2]*sim[,2] prt.sim <- sort(prt.sim) VaR <- prt.sim[alpha*N] ES <- mean(prt.sim[1:(alpha*N-1)]) VaR -0.009 ES -0.017
  • 17. Оптимизация портфеля # выбор оптимальных весов активов в портфеле opt <- portfolio.optimize(prt.fit, risk.measure="value.at.risk",type="minimum.risk", target.return=NULL,risk.free=NULL,level=0.95,silent=TRUE) • risk.measure определяет целевой измеритель риска "sd", "value.at.risk", "expected.shortfall" • type — вид оптимизации "minimum.risk" — по минимальному риску "tangency" — по соотношению "(доходность – безрисковая ставка) / риск" "target.return" — минимальный риск при заданной доходности opt$opt.weights # искомые веса
  • 18. Домашнее задание • рассчитать оценки риска для портфеля из двух биржевых индексов по всей совокупности наблюдений на основе наилучшей модели Исходные данные — пара индексов CAC–SMI Бонусное задание (необязательное): • построить кривую VaR для портфеля и проверить качество оценок
  • 22. Generalized Error Distribution (GED) 1 1 x exp 2 f GED x ; , , 1 1 1 2 1 Г(.) – гамма-функция
  • 23. Формы GED в зависимости от параметров •
  • 24. Общая схема расчёта модели APARCH •
  • 26. Графический анализ модели dax.gfit <- garchFit(formula=~aparch(1,1),data=dax,delta=2, include.delta=FALSE,leverage=TRUE,cond.dist="sged", shape=1.25,include.shape=FALSE,trace=FALSE) plot(dax.gfit,which=*…+) qsged - QQ Plot ACF of Standardized Residuals 5 1.0 0.8 0 0.6 Sample Quantiles ACF -5 0.4 0.2 -10 0.0 -4 -2 0 2 4 0 5 10 15 20 25 30 Theoretical Quantiles Lags which=13 which=10
  • 31. Тесты на единичный корень в R library(urca) # ADF-тест summary(ur.df(dax.gfit@residuals,type="none"/"drift"/"trend" , selectlags="Fixed"/"AIC"/"BIC",lags=10)) punitroot(-3.5,N=T,trend="nc"/"c"/"ct") # PP-тест summary(ur.pp(dax.gfit@residuals,type="Z-tau", model="constant"/"trend",lags="short"/"long")) # KPSS-тест summary(ur.kpss(dax.gfit@residuals,type="mu"/"tau", lags="short"/"long"/"nil"))
  • 32. ADF-тест ############################################### # Augmented Dickey-Fuller Test Unit Root Test # ############################################### Test regression drift Call: lm(formula = z.diff ~ z.lag.1 + 1 + z.diff.lag) Residuals: Min 1Q Median 3Q Max -0.092449 -0.005302 -0.000251 0.005692 0.049013 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.0001904 0.0002397 0.794 0.427 z.lag.1 -1.0260733 0.0329483 -31.142 <2e-16 *** z.diff.lag 0.0255134 0.0233010 1.095 0.274 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.0103 on 1845 degrees of freedom Multiple R-squared: 0.5001, Adjusted R-squared: 0.4995 F-statistic: 922.8 on 2 and 1845 DF, p-value: < 2.2e-16 Value of test-statistic is: -31.1419 484.9111 Critical values for test statistics: 1pct 5pct 10pct tau2 -3.43 -2.86 -2.57 phi1 6.43 4.59 3.78
  • 33. PP-тест ################################## # Phillips-Perron Unit Root Test # ################################## Test regression with intercept Call: lm(formula = y ~ y.l1) Residuals: Min 1Q Median 3Q Max -0.092499 -0.005368 -0.000231 0.005668 0.051371 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.0001905 0.0002386 0.798 0.425 y.l1 -0.0007721 0.0232333 -0.033 0.973 Residual standard error: 0.01028 on 1856 degrees of freedom Multiple R-squared: 5.95e-07, Adjusted R-squared: -0.0005382 F-statistic: 0.001104 on 1 and 1856 DF, p-value: 0.9735 Value of test-statistic, type: Z-tau is: -43.1312 aux. Z statistics Z-tau-mu 0.7995 Critical values for Z statistics: 1pct 5pct 10pct critical values -3.436737 -2.863576 -2.567875
  • 34. KPSS-тест ####################### # KPSS Unit Root Test # ####################### Test is of type: mu with 8 lags. Value of test-statistic is: 0.4598 Critical value for a significance level of: 10pct 5pct 2.5pct 1pct critical values 0.347 0.463 0.574 0.739
  • 35. Прогноз по модели ARMA-GARCH # прогноз среднего и дисперсии на i шагов вперёд dax.frc <- predict(dax.gfit,n.ahead=i) dax.frc[,1] # вектор средних dax.frc[,3]^2 # вектор дисперсий # расчёт границы потерь alpha <- 0.05 VaR <- dax.frc[1,1]+dax.frc[1,3]*qged(alpha,mean=0,sd=1, nu=dax.gfit@fit$par["shape"])
  • 36. 0.04 Кривая VaR 0.02 0.00 fact VaR <- numeric() -0.02 h <- 0.5*260 -0.04 for (i in (T1+1):(T1+T2)) { h.dax <- dax[(i-h):(i-1)] -0.06 0 50 100 150 200 250 300 Index dax.gfit <- garchFit(formula=~aparch(1,1),data=h.dax, delta=2,include.delta=FALSE,leverage=TRUE,cond.dist="sged", shape=1.5,include.shape=FALSE,trace=FALSE) dax.frc <- predict(dax.gfit,n.ahead=1) VaR[i-T1] <- dax.frc[1,1]+dax.frc[1,3]*qsged(alpha,mean=0,sd=1, nu=1.5,xi=dax.gfit@fit$par["skew"]) }
  • 37. Домашнее задание • рассчитать оценки риска для биржевого индекса по всей совокупности наблюдений на основе GARCH-модели • построить кривую VaR и проверить качество оценок Исходные данные — EuStockMarkets[, "SMI"]