Finansforbundet Univeristy - Mellemledere en truet dyreart
Slides Peter Dalgaard
1. Statistisk analyse af finansielle data
Peter Dalgaard
27 May 2015
Peter Dalgaard Statistisk analyse af finansielle data
2. Præsentation
Hvem jeg er
Hvad jeg laver
Undervisning på CBS
Forskning/udviklingsarbejde
Peter Dalgaard Statistisk analyse af finansielle data
3. Hvem er jeg?
Peter Dalgaard, professor siden 2010, tidligere Biostatistisk Afdeling
ved Københavns Universitet
Nu ved Center for Statistik, Institut for Finansiering, CBS
Underviser hovedsagelig HA(mat) og Cand.merc.(mat) (“MØK”)
Hovedemne inden for forskning/udvikling: Statistical Computing,
specielt statistikværktøjet “R”
Peter Dalgaard Statistisk analyse af finansielle data
4. Statistik og finansiering
Statistik, overordnet: At se observerede data i lyset af
matematisk/sandsynlighedsteoretiske modeller.
Vurdere data under hensyntagen til “støj i systemet”.
Delvis overlap med matematisk finansiering og økonometri.
Statistikeren har typisk mere fokus på data, modelkontrol, osv.
Peter Dalgaard Statistisk analyse af finansielle data
5. Statistisk software
“Let’s not kid ourselves: the most widely used piece of
software for statistics is Excel.”
– Brian D. Ripley (‘Statistical Methods Need Software: A
View of Statistical Computing’) Opening lecture Royal
Statistical Society 2002, Plymouth (September 2002)
Peter Dalgaard Statistisk analyse af finansielle data
6. MEN:
9/2/13 10:11Right Tool for the Job
Page 1 of 1http://homepage.stat.uiowa.edu/~jcryer/22s008/righttool.htm
Get the Right Tool for the Job!
Friends Don't Let Friends Use
Excel For Statistics!
Peter Dalgaard Statistisk analyse af finansielle data
7. Problemer med Excel
Excel er fint til småting, hvor man kan overskue beregningerne
Bliver uoverskueligt, med stor risiko for fejl, i komplekse regneark
Folk i branchen nævner “The London Whale” hvor JP Morgan tabte
2 milliarder USD på en enkelt traders uholdbare position
[VaR model] “operated through a series of Excel
spreadsheets, which had to be completed manually, by a
process of copying and pasting data from one spreadsheet
to another”, and “that it should be automated” but never
was.
Peter Dalgaard Statistisk analyse af finansielle data
8. R projektet
R er et Open Source værktøj til statistiske beregninger og grafik.
Først og fremmest er R et programmeringssprog hvori man kan
formulere og automatisere sine analysemetoder
Startede c. 1992 i New Zealand, oprindelig til undervisningsbrug.
Udviklede sig fra 1997 ganske heftigt og har i dag flere millioner
brugere, over 6000 kontribuerede pakker, m.m.
Peter Dalgaard Statistisk analyse af finansielle data
9. Plan:
Vise et simpelt eksempel på en finansiel tidsserie
Vise eksempler på sandsynlighedsmodeller for kursudviklinger
Vise metoder til fit af modeller til observerede data
Alt sammen med brug af R
Peter Dalgaard Statistisk analyse af finansielle data
10. Indlæse og opsummere data
(Nordea Invest Stabil Balanceret, jan. 2012 – nov. 2014)
Beregning af log-return rt = log(Yt) − log(Yt−1)
dd <- read.delim2("stabil-bal.txt", na="-")
val <- dd[[2]] ## 2. søjle
logret <- diff(log(val))
mean(logret)
## [1] 0.0003886024
sd(logret)
## [1] 0.002263442
Peter Dalgaard Statistisk analyse af finansielle data
12. log-returns
plot(logret, type="l")
0 200 400 600
−0.010−0.0050.0000.005
Index
logret
Stationær tidsrække (?)
Peter Dalgaard Statistisk analyse af finansielle data
13. Geometrisk Random Walk
Standardmodel i matematisk finansiering (Kontinuert tid: Geometric
Brownian Motion)
Yt = Yt−1 + m + et
Yt log-kursværdi til tid t
m driftled
et “error term”, støjled
et uafhængige, normalfordelte middelværdi 0, standardafvigelse
(volatilitet) s — “hvid støj”
Peter Dalgaard Statistisk analyse af finansielle data
15. Simulere geometrisk Random Walk
m <- mean(logret)
s <- sd(logret)
set.seed(7913)
sim <- cumsum(rnorm(723, m, s))
Peter Dalgaard Statistisk analyse af finansielle data
17. Mange simulationer
sim <- replicate(50, cumsum(rnorm(723, m, s)))
matplot(100*exp(sim), type="l") # 723x50 matrix
0 200 400 600
100110120130140150
100*exp(sim)
Peter Dalgaard Statistisk analyse af finansielle data
18. Sandsynlighedsfordeling af afkast
Usikkerheden på afkast efter 723 børsdage kan (i denne simple
model) beregnes matematisk: Standardafvigelse på r1 + · · · + r723
er s
√
723
curve(dlnorm(x/100, 723*m, sqrt(723)*s), from=100, to=150)
100 110 120 130 140 150
012345
x
dlnorm(x/100,723*m,sqrt(723)*s)
Peter Dalgaard Statistisk analyse af finansielle data
20. Holder Random Walk modellen?
I almindelighed holder der ikke at antage at data er en
geometrisk Random Walk!
Det er en hæderlig første tilnærmelse, men der er problemer
et er ikke uafhængige
et er ikke normalfordelte
s er ikke konstant
Peter Dalgaard Statistisk analyse af finansielle data
21. Seriel korrelation
Random Walk forudsætter at log-returns er indbyrdes uafhængige.
Imidlertid ses ofte en sammenhæng med den/de forgående
observationer (autokorrelation). Dette kan checkes ved at plotte
Yt+1 mod Yt:
first <- head(logret, -1)
last <- tail(logret, -1)
plot(first, last)
Peter Dalgaard Statistisk analyse af finansielle data
23. Autoregressiv model
AR(1) proces
rt − m = a(rt−1 − m) + et
rt log-returns
m middelværdi
a regressionsparameter
et hvid støj
Stationær, hvis −1 < a < 1
a = 0 =⇒ rt − m = et og dermed at Yt er en Random Walk
Peter Dalgaard Statistisk analyse af finansielle data
24. Estimation i AR-proces
fit <- arima(logret, order=c(1,0,0))
(De tre led i “order=”) er
antal AR lags (her 1)
I (integrereret): antal differenser for at processen bliver
stationær
MA: moving average (ut = et + bet−1)
Peter Dalgaard Statistisk analyse af finansielle data
25. Output
fit
##
## Call:
## arima(x = logret, order = c(1, 0, 0))
##
## Coefficients:
## ar1 intercept
## 0.1702 4e-04
## s.e. 0.0368 1e-04
##
## sigma^2 estimated as 4.969e-06: log likelihood = 3388.8
Peter Dalgaard Statistisk analyse af finansielle data
27. Volatility clustering
“Klumper i støjen”
plot(residuals(fit))
Time
residuals(fit)
0 200 400 600
−0.0100.0000.005
Peter Dalgaard Statistisk analyse af finansielle data
28. GARCH modellerne
“Generalized AutoRegressive Conditional Heteroskedastic”
Støjled med varierende s
ut = stet
GARCH(1,1):
s2
t = ω + αe2
t−1 + βs2
t−1
(+mange varianter!)
Peter Dalgaard Statistisk analyse af finansielle data
29. Fitte GARCH model
AR(1)-proces, GARCH(1,1) fejl, med skæv t-fordeling i stedet for
normalfordeling (“sstd”)
library(fGarch)
fit <- garchFit(~ arma(1,0) + garch(1,1),
data=logret, cond.dist="sstd")
summary(fit)
Peter Dalgaard Statistisk analyse af finansielle data
31. Prædiktion
predict(fit, plot=TRUE)
0 50 100 150
−0.006−0.0020.0020.006
Index
x
Prediction with confidence intervals
X
^
t+h
X
^
t+h − 2.098 MSE
X
^
t+h + 1.878 MSE
Peter Dalgaard Statistisk analyse af finansielle data
32. Perspektiver og udfordringer
Store porteføljer
Big data
Fast data (High-Frequency Trading)
Tradingstrategier
Teoriudvikling (metoderne indeholder fx en del tvivlsomme
approksimationer)
Peter Dalgaard Statistisk analyse af finansielle data