Black-Scholes; Monte-Carlo-Sim
Verfasst: Donnerstag 3. September 2020, 13:21
Guten Tag,
kann mir bitte jemand helfen ?
Ich würde gerne mehrere Pfade auf einmal simulieren.
Ich habe hinbekommen einen Pfad zu simulieren...
#Black-Scholes-Dynamik
import math
import numpy as np
import pandas as pd
from pandas_datareader import data as wb
import matplotlib as mlp
import matplotlib.pyplot as plt
from scipy.stats import norm
import statsmodels.api as sm
import pylab
def asset_price(S,drift,volatility,dt,X):
return S*math.exp((drift-(volatility**2)/2)*dt + volatility*math.sqrt(dt)*X)
S_0 = 18.49
drift = -0.0011963815
volatility = 0.02
dt = 1/252
N_days = 252
path_matrix = np.zeros((N_days+1,1))
path_matrix[0,0] = S_0
random_variable = np.random.randn(N_days)
for i in range(N_days):
path_matrix[i+1,0] = asset_price(path_matrix[i,0],drift,volatility,dt,random_variable)
path_matrix
plt.plot(path_matrix)
kann mir bitte jemand helfen ?
Ich würde gerne mehrere Pfade auf einmal simulieren.
Ich habe hinbekommen einen Pfad zu simulieren...
#Black-Scholes-Dynamik
import math
import numpy as np
import pandas as pd
from pandas_datareader import data as wb
import matplotlib as mlp
import matplotlib.pyplot as plt
from scipy.stats import norm
import statsmodels.api as sm
import pylab
def asset_price(S,drift,volatility,dt,X):
return S*math.exp((drift-(volatility**2)/2)*dt + volatility*math.sqrt(dt)*X)
S_0 = 18.49
drift = -0.0011963815
volatility = 0.02
dt = 1/252
N_days = 252
path_matrix = np.zeros((N_days+1,1))
path_matrix[0,0] = S_0
random_variable = np.random.randn(N_days)
for i in range(N_days):
path_matrix[i+1,0] = asset_price(path_matrix[i,0],drift,volatility,dt,random_variable)
path_matrix
plt.plot(path_matrix)