2020년 3월 17일 화요일

Day_00. Intro_02


Numpy stochastic process
 Numpy, pandas, matplotlib, seaborn package import후 실습 수행
 시뮬레이션이란?-경제학등의 모형에서 과거 data가 있을 때 미래를 추정하는 것

Geometric Brownian Motion

데이터가 특정 시점에서 다른 시점으로 변하는 값, Delta value

위험비율

시간에 상관없이 변화하는 비율

numpy에서 random 하게 변하는 값

--이 장의 중점
----geometric Brownian motion 의 수식을 numpy로 가져와서 분석해보기
--적용예시
----xx기업의 주사= 기존 예측 성장세 + 기대하지 않은 변동성 값,(국제정세등으로 변하는 알수 없는 값)

Black-scholes-merton model 의 구현


시작값(initial value)

지정한 시간까지

증가비

변동성

기간

랜덤값

 수식을 기반으로 numpy 를 이용한 구현

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

rng = np.random.RandomState(123)

T = 2 # years
r = 0.05 #constant short rate
sigma = 0.25 #constant volatility
S0 = 100 #initial value
I = 1000 # number of random draws
M = 50
dt = T / M
S = np.zeros((M+1,I))
S[0] = S0
for t in range(1 , M+1 ):
    S[t] = S[t - 1] * np.exp((r - 0.5 * sigma ** 2) * dt
                             + sigma * np.sqrt(dt)  * rng.standard_normal(I))

plt.hist(S[-1], bins=50)
plt.xlabel('index level')
plt.ylabel('frequency')


plt.plot(S[:,:10],lw=1.5)
plt.xlabel('time')
plt.ylabel('index level')
plt.grid(True)



나중에 추가로 해보면 좋은 것
-Stochastic volatitiy model
--변동성이시간에따라 변할 때 사용되는 모델로 20년전에 이론이 확립되어 사용중인 모델
-Option model

댓글 없음:

댓글 쓰기