У меня проблема, которая возникает при расчете цены опциона с использованием биномиальной модели в Matlab.
введите описание изображения здесь
Проблема: я не знаю, почему это вообще не дает результата.
Это мой оригинальный python код:
import numpy as np
def binom_tree_put(S0, r, sigma, K, T, N):
dt = T/N
u = np.exp(sigma*numpy.sqrt(dt))
d = 1 / u
p = (numpy.exp(r*dt)-d) / (u-d)
price_tree = np.zeros([N+1, N+1])
for i in range(N+1):
for j in range(i+1):
price_tree[j,i] = S0*(d**j)*(u**(i-j))
option = np.zeros([N+1, N+1])
option =[:, N] = np.maximum(numpy.zeros(N+1), price_tree[:,N]-K)
for i in numpy.arange(N-1, -1, -1):
for j in numpy.arange(0, i+1):
option[j,i] + numpy.exp(-r*dt)*(p*option[j,i+1]+(1-p)*option[j+1,i+1])
return option[0,0]