[英]Monte carlo pricing of European call option
我正在嘗試使用二項式定價的封閉式表達式為歐式看漲期權定價,公式如下:
這是我認為我正確實施的:
T = 2 # Number of periods
S0 = 10 # Starting price of stock
K = 9 # Strike price of option
r = 0.2 # Risk free interest rate
u = 1.5 # Up factor
d = 0.5 # Down factor
p = 0.2 # risk of up and down
C = 0 #Value of call
risk_free = 1 / (1 + r)**T
q = ((1 + r) - d) / (u - d)
for i in range(T+1):
prob = math.comb(T, i)*(q**T)*(1-q)**(T-i)
ST = max(((u**i)*(d**(T-i))*S0)-K, 0)
C += ST*prob
print(risk_free*C)
現在我正在努力解決以下問題,我想在風險中性假設下在多期二項式設置中生成 N 個股票價格的樣本路徑。 其中每條路徑 i 包含股票價格 Si_1、Si_T。 根據這條路徑 ii 計算期間 T 的收益。
現在我正在努力實現這個文本,我有p=0.2
所以我知道股價上下波動的概率,但是我不確定如何計算新的樣本路徑,然后用它來為期權定價對於任意數量的 N 次運行,例如 200。
你可以這樣做:
# monte carlo
from random import random
value = 0
numPaths = 200
for j in range(numPaths):
S = S0
for i in range(T):
S *= u if random() < q else d
value += max(S - K, 0)
value /= numPaths * (1 + r) ** T
print(value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.