1. Random Walk
(1) 동전던지기 실험 예시
- 앞면이 나올 확률과 뒷면이 나올 확률이 각각 1/2 인 경우
Xj={1,if wj=Head−1,if wj=Tail
- Mk=∑kj=1Xj(k=1,...)M0=0
- E(Mk)=0,Var(Xj)=1
- k0<k1<k2<...<km 일 때, Mki+1−Mki=∑ki+1j=ki+1Xj
- E(Mki+1−Mki)=0
- Var(Mki+1−Mki)=∑ki+1j=ki+1Var(Xj)=ki+1−ki
(2) 금융에서의 random walk
- Discrete Time Series
- Xt=Xt−1+ϵt,ϵt∼i.i.d(0,σ2)
- Xt=X0+ϵ1+ϵ2+...+ϵt=X0+∑tj=1 ϵj
- E[St]=X0,Var[St]=tσ2
- Xt=X0+ϵ1+ϵ2+...+ϵt=X0+∑tj=1 ϵj
- Xt=Xt−1+ϵt,ϵt∼i.i.d(0,σ2)
2. Brownian Motion
(1) 정의
- Brownian Motion은 다음의 조건을 만족한다
- Prob(B0=0)=1
- 임의의 0≤t1<t2<... 에 대하여 Bt1,Bt2−Bt1,Bt2−Bt1,... 은 서로 독립이다(Independence of increments).
- Bt−Bs∼N(0,σ2(t−s)),0≤s≤t
- {Bt}: t 에 관해 연속이다.
- Random Walk에 스케일을 조정한 Xt/√n 은 n→∞ 일 때, Bt 로 수렴한다.
- Wiener Process(혹은 Brownian Motion)은 Random walk의 t 사이사이에 더 작은 시간단위를 추가한 것이다. 이는 연속적인 시간 하의 금융시장에 적용될 수 있다.
(2) 특징
- 브라운 운동의 증분 Wt+s−Ws 는 이전 기간과 독립이다. 따라서 만약 0≤v≤s 인 v 가 존재할 때 이는 Wt+s−Ws 에 아무런 영향을 주지 않는다. (Markov Process)
- 만약 t>s 이면, E[Wt|Is]=Ws 이다. (Martingale Process)
- 0≤s<t 에 대하여, Wt−Ws∼N(0,σ2(t−s)),Wt−s−W0∼N(0,σ2(t−s)) 가 성립한다.
- 미분이 불가능하다.
(3) Simulation
import numpy as np
import matplotlib.pyplot as plt
3. Arithmetic Brownian Motion
(1) 정의
- dXt=μdt+σdWt,Wt∼N(0,1)
- 주가는 장기적으로 추세를 갖고 상승함
- μ : drift term
- Xt=μ+Xt−1+ϵt
- Xt=X0+ϵ1+ϵ2+...+ϵt=S0+∑tj=1 ϵj
(2) Stochastic Differential Equation
∫T0dXt=∫T0μdt+∫T0σdWtXT−X0=μ(T−0)+σ(WT−W0),XT=X0+μT+σWT
(3) Mean and Variance
- E[XT]=X0+μT
- Var[XT]=σ2T
- Cov[Xt,Xs]=σ2min(t,s)
(4) Simulation
dXt=μdt+σdWt 를 통해 μ와 σ를 추정한다.
XT=X0+μT+σWT 에 추정된 값을 넣어 미래 시점의 X 값을 수만번 시뮬레이션 후 분포를 확인한다.
예시) 95% 신뢰수준에서 X 값이 어떤 boundary 안에 있을지 보고 그에 맞는 위험 관리를 할 수 있다.
import yfinance as yf
from Brownian_Motion import Brownian
import matplotlib.pyplot as plt
df = yf.download('KO', '2017-01-01', '2022-01-01').Close
model = Brownian(df, process='arithmetic', period='daily')
model.fit()
paths = []
for i in range(20):
paths.append(model.predict(t=i))
paths = np.array(paths)
plt.plot(paths[:, :20])
plt.show()
prediction = model.predict(t=20)
plt.hist(prediction)
plt.show()
print(model.confidence_level_)


(54.077968542154025, 64.95059117054961)
4. Geometric Brownian Motion
(1) 정의
- dXt=μXtdt+σXtdWt,Wt∼N(0,1)
- 주가 수익률에 대한 확률과정
- 주가의 변동에 따른 GBM 일반화 식 도출
- 가정: 주가는 오르거나 내린다. 주가가 상승할 확률을 H, 하락할 확률을 T라고 하자. (위에서 동전 던지기의 H, T라고 생각하면 좀 더 이해가 쉽다.)
- St=S0(1+μn+√σn)H(1+μn−√σn)T
- μ: drift
- σ: return (주가의 순간 분산은 수익률 제곱이로 순간 표준편차는 수익률)
- nt=H+T,M=H−T
- M 은 랜덤워크를 따름(위의 2.0에서 Mk 의 정의를 보면 알 수 있음)
- St=S0(1+μn+σ√n)12(nt+M)(1+μn−σ√n)12(nt−M)
- H=12(nt+M),T=12(nt−M)
- lnSt=lnS0+μt−σ22t+σWt
- ln(1+μn+σ√n)≈(μn+σ√n)−12(μn+σ√n)2
- ln(1+μn−σ√n)≈(μn−σ√n)−12(μn−σ√n)2
- By Taylor's Series
- n→∞:M√n=Wt: 무한번 동전던지기 게임을 하면 랜덤워크 과정은 위너과정이 됨
- 따라서, St=S0eσWt+(μ−σ22)t 가 기하브라운운동(GBM)의 식이 된다
(2) Stochastic Differential Equation
dXt=μXtdt+σXtdWt,dYt=dlnXt=dXtXt−12dX2tX2t←dX2t=σ2X2tdtdlnXt=μdt+σdWt−12sigma2dtdlnXt=(μ−σ22)dt+σdWt∫T0dlnXt=∫T0μ−σ22dt+∫T0σdWtlnXt−lnX0=(μ−σ22)T+σWT
(3) Mean and Variance
- E[lnXt]=lnX0+(μ−12σ2)t
- Var[lnXt]=σ2T
- Cov[Xt,Xs]=X20eμ(t+s)
(4) Simulation
import yfinance as yf
from Brownian_Motion import Brownian
import matplotlib.pyplot as plt
df = yf.download('KO', '2017-01-01', '2022-01-01').Close
model = Brownian(df, process='geometric', period='daily')
model.fit()
paths = []
for i in range(20):
paths.append(model.predict(t=i))
paths = np.array(paths)
plt.plot(paths[:, :20])
plt.show()
prediction = model.predict(t=20)
plt.hist(prediction)
plt.show()
print(model.confidence_level_)


[57.69536717 61.45777074]
5. Fractional Brownian Motion
(1) 정의
- Brownian Motion의 일반화된 확률 과정
- Independent Increment 가정 성립하지 않음
- Cov[BH(t),BH(s)]=E[BH(t)BH(s)]=12(|t|2H+|s|2H−|t−s|2H) : H는 Hurst Index
(2) 특징
- Hurst index에 따라 Process가 결정됨
BH(t)={Wiener Process,if H=1/2Mean-reverting,if H<1/2Trending,if H>1/2
Proof
For 0≤s1<t1<s2<t2,[s1,t1]∩[s2,t2]=∅E[(BH(t1)−BH(s1))(BH(t2)−BH(s2)]=12(|t2−s1|2H−|t2−t1|2H−(|s2−s1|2H−|s2−t2|2H))Map f(x)=x2Hthen E[(BH(t1)−BH(s1))(BH(t2)−BH(s2)]=12(f(a1)−f(a2)−(f(b1)−f(b2))(a1=t2−s1,a2=t2−t1,b1=s2−s1,b2=s2−t2,and b2<a2<b1<a1)For H∈(0,1/2)f″<0,E[.]<0→negatively correlatedFor H∈(1/2,1)f″>0,E[.]>0→positively correlated
'Stochastic Process > Stochastic Process' 카테고리의 다른 글
Ch3. Ornstein-Uhlenbeck Process (0) | 2022.02.07 |
---|---|
Ch1. 금융에서의 Stochastic Process (0) | 2022.02.05 |