Statistics for Finance

FinTech

Juhyeong-Park
sutudent | 201101443

2017년 1학기 중간고사

- 1. KOSPI200 데이터

- 2. 시계열적 특징 – GARCH

- 3. 잔차 분석

- 4. 잔차의 분포 탐색

Get data

KOSPI200 Index

head(idx, 3); tail(idx, 3)
##              Open   High    Low  Close    Volume
## 2010-01-04 221.67 223.49 221.66 223.49  85967000
## 2010-01-05 224.24 224.40 222.18 222.84 153282000
## 2010-01-06 223.83 224.96 223.52 224.67 170500000
##              Open   High    Low  Close   Volume
## 2016-12-27 262.35 262.85 261.79 262.49 52535000
## 2016-12-28 259.65 260.59 259.52 259.70 54257000
## 2016-12-29 259.02 260.04 258.62 260.01 48685000

EDA

Code

idx <- idx[, -5]
idx_r <- diff(log(idx[, -5]))
x <- as.numeric(idx[,4])
r <- as.numeric(na.omit(idx_r[,4]))

Explanation

  • google finance에서 가져온 KOSPI200 데이터를 idx 객체에 저장했다.

  • 또한 로그수익률을 계산하여 idx_r 객체에 저장했다."

  • 일반적으로 주가를 분석할 때는 종가를 이용하므로 각 idx 데이터에 4열에있는 종가를 따로 불러와 x, r 객체에 저장한다.

Plot

KOSPI200

plot of chunk unnamed-chunk-7

Returns

plot of chunk unnamed-chunk-8

Distributional feature: non-normal

## 1st-Moment:  8.73865e-05 
##  * 중심이 0 근방이다.
## 2st-Moment :  0.01048265 
##  * 표준편차가 0근방이다.
## 3th-Moment :  -0.302264 
##  * 왼쪽으로 치우쳐 있다.
## 4th-Moment :  6.643532 
##  * 극첨하다.

가우시안분포 적합

Plot

plot of chunk unnamed-chunk-11

Explanation

"로그수익률의 밀도함수의 plot과 QQplot을 그려본 결과이다. 밀도함수의 그림으로 봐서 극첨한 것이 보이고 QQplot을 봐서는 양쪽 꼬리가 두껍다는 것이 보인다.

Temporal feature: volatility clustering

Plot

plot of chunk unnamed-chunk-12

Explanation

"로그수익률의 자기상관함수(ACF) 이다. 일반적으로 로그수익률은 자기상관성을 띄지 않는다. 하지만 로그수익률의 제곱값을 이용해 자기상관성을 계산하면 아래 그림처럼 오랜시간에 걸쳐 자기상관성이 존재하는것을 확인할 수 있다."

Volatility modeling

JB_test$method; JB_test$p.value
[1] "Jarque Bera Test"
   X-squared 
1.021405e-14 
LB_test$method; LB_test$p.value
[1] "Box-Ljung test"
[1] 0.2372468

Explanation

"로그 수익률의 GARCH(1, 1) 모형이다. 해당 모형의 요약값을 보니 Jarque Bera Test 의 p-value 가 0.05보다 작게나와 해당 모형이 가우시안분포를 따르지 않는다는 충분한 근거가 있고 Box-Ljung test 의 p-value 가 0.05보다 크게나와 해당 모형이 자기상관성이 없다는 주장에 근거가 없다."

Volatility modeling

GARCH(1, 1)

plot of chunk unnamed-chunk-17

Explanation

  • GARCH(1, 1) 모형에 대해 devolatilization 과정을 보여주는 그림이다
  • data 에서 volatility를 제거해서 remainder가 나왔는데 어느정도 분해가 잘된 것으로 보인다."

Volatility modeling

GARCH(1, 1)

plot of chunk unnamed-chunk-18

Explanation

  • residuals의 acf를 확인한 결과 devolatilization이 잘 된것으로 보여진다.

Value-at-Risk

Plot

plot of chunk unnamed-chunk-19

Explanation

  • 우리가 기간에 따라 변하는 분산을 이용해 VaR을 구하기 위해서는 residuals의 분포를 알아야 한다.
  • devolatilization 된 residual이 정규성을 만족하는지 확인했다.
  • devolatilization을 거친 residuals의 QQplot을 보면 여전히 분포가 안맞다는 것을 알 수 있다.

Model select

ghyp_aic <- stepAIC.ghyp(na.omit(resid), dist = c("hyp", "NIG"), silent = TRUE)
## Currently fitting: asymmetric hyp 
## Currently fitting: asymmetric NIG 
## Currently fitting: symmetric hyp 
## Currently fitting: symmetric NIG
model lambda alpha.bar mu sigma gamma aic
hyp 1.0 1.425529 0.1604352 1.0031349 -0.1600378 4868.348
NIG -0.5 2.042995 0.1935929 0.9984952 -0.1930514 4871.316

Explanation

  • 로그 수익률의 residual을 hyp 와 nig 분포에 적합시켜본 결과 AIC값이 hyp가 낮게 나왔다.

HYP

plot of chunk unnamed-chunk-22

Explanation

  • hyp 분포를 이용해 residual을 적합시킨 결과 정규분포와는 다르게 꼬리부분에서 아주 잘 맞음을 확인할 수 있다.

Value-at-Risk

mean(r <= VaR99.0, na.rm = TRUE)
## [1] 0.008087811
mean(r <= VaR99.5, na.rm = TRUE)
## [1] 0.004621606

Explanation

  • 과거 2010년부터 2016년까지의 데이터를 기준으로 residual을 hyp 분포에 적합시킨 모형의 99% VaR와 99.5% VaR를 계산해서 해당 기준을 초과한 outlier를 확인하는 과정이다.

  • 99% VaR와 99.5% VaR 둘다 기준치보다 작게나왔다.

  • 이 모형은 위험을 더 심각하게 보는 경향을 갖고있다

Value-at-Risk

Plot

plot of chunk unnamed-chunk-25

Explanation

  • 로그수익률의 시계열적 plot위에 99% VaR와 99.5% VaR을 겹쳐그린 그림이다.

  • 밑에 각 VaR을 넘었던 시점을 "+" 모양으로 표시해주었다.