Я больше новичок в R и пытаюсь построить формулу для оценки опционов американского типа (колл или пут), используя простое моделирование Монте-Карло (без регрессий и т. Д.). Хотя код хорошо работает для европейских опций типа, он, кажется, переоценивает американские опционы типа (по сравнению с биномиальными / триномиальными деревьями и другими моделями ценообразования).
Буду очень признателен за ваш вклад!
Шаги, которые я делаю, описаны ниже.
1.) Имитация n траекторий цены акций с шагом m + 1 (геометрическое броуновское движение):
n = 10000; m = 100; T = 5; S = 100; X = 100; r = 0.1; v = 0.1; d = 0
pat = matrix(NA,n,m+1)
pat[,1] = S
dt = T/m
for(i in 1:n)
{
for (j in seq(2,m+1))
{
pat[i,j] = pat[i,j-1] + pat[i,j-1]*((r-d)* dt + v*sqrt(dt)*rnorm(1))
}
}
2.) Я рассчитываю матрицу выплат для опционов колл, опционов пут и скидок, используя обратную индукцию:
# Put option
payP = matrix(NA,n,m+1)
payP[,m+1] = pmax(X-pat[,m+1],0)
for (j in seq(m,1)){
payP[,j] = pmax(X-pat[,j],payP[,j+1]*exp(-r*dt))
}
# Call option
payC = matrix(NA,n,m+1)
payC[,m+1] = pmax(pat[,m+1]-X,0)
for (j in seq(m,1)){
payC[,j] = pmax(pat[,j]-X,payC[,j+1]*exp(-r*dt))
}
3.) Я рассчитываю цену опциона как среднюю (среднюю) выплату в момент времени 0:
mean(payC[,1])
mean(payP[,1])
В приведенном выше примере найдена цена колла приблизительно 44,83 и приблизительная цена пут 3,49. Однако, следуя подходу трехчленного дерева (n = 250 шагов), цены должны быть больше 39,42 (колл) и 1,75 (пут).
Цена колла Black Scholes (так как дивидендная доходность отсутствует) составляет 39,42.
Как я уже сказал, любой вклад высоко ценится. Заранее большое спасибо!
Все лучшие!