Я бы хотел найти забастовку для данной дельты с помощью чёрных ямок.Я могу сделать это, используя uniroot для одного спотового значения и значения волатильности, но хотел бы, чтобы это работало с вектором спотовых значений и вектором значений волатильности.Мой нижеприведенный пример упрощен, как только он заработает, я расширюсь до гораздо больших векторов ...
Я видел, что есть предыдущий пост, использующий sapply в uniroot для другой проблемы.Попытался подать заявку здесь и не получил много удачи.
Не могли бы вы помочь мне разобраться, как это сделать?
Большое спасибо!
library(rootSolve)
library(ragtop)
CallPut <- 1 # Call
Spot <- c(110, 112, 114)
Rate <- 0 # For simplicity
T <- 0.5 # half a year
Vol <- c(0.07, 0.08, 0.09)
TargetDelta <- 0.5
Lower <- c(100, 102, 104)
Upper <- c(120, 122, 124)
solve.for.strike <- function(Strike) {
BS <- blackscholes(CallPut, Spot, Strike, Rate, T, Vol)
TargetDelta - BS$Delta
}
test <- uniroot(solve.for.strike, lower = Lower, upper = Upper)
Также пытались использовать uniroot.all, но не работали:
test <- uniroot.all(solve.for.strike, c(100, 120), lower = 100, upper = 120)
Добавлены библиотеки.
ЕслиЛюбое руководство будет высоко ценится.