簡體   English   中英

歐式看漲期權的蒙特卡羅定價

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM