我正在尝试解决Stata中函数的根源。有" polyeval" Mata下的命令,但我不知道如何在这里应用它。在我看来,好像在polyeval函数下必须遵循非常清晰的x ^ 2 + x + c结构。
我想了解更多关于如何使用Stata解决这类问题的更多信息。但这是我现在的一个,如果这提供了我正在使用的一些想法。 我目前正试图解决Black(1976)American Options定价模型:
C = e^{-rt} [ F N(d1) - E N(d2)]
where,
d1 = [ln(F/E) + 1/2 simga^2 t] / [sigma sqrt{t}]
d2 = d1 - sigma sqrt{t}
其中C是看涨期权的价格,t是到期时间,r是利率,F是合约的当前期货价格,E是执行价格,sigma是期货合约的年化标准差。 N(d1)和N(d2)是累积正态概率函数。除西格玛外,所有变量都是已知的。
顺便说一下,在R中这似乎很容易做到:
fun <- function(sigma) exp(-int.rate* T) * (futures * pnorm((log(futures/Strike)+ sigma^2 * T/2) / sigma * sqrt(T),0,1)- Strike * pnorm((log(futures/Strike)+ sigma^2 * T/2) / sigma * sqrt(T)- sigma * sqrt(T),0,1) ) - Option
uni <- uniroot(fun, c(0, 1), tol = 0.001 )
uni$root
有没有人对如何使用Stata解决这类功能有任何想法/指示?
答案 0 :(得分:0)