1

我有一组数字数据(碰巧是由 Strike 组织的期权看涨价格)。

我想计算 R 中的二阶导数。

我能够拟合平滑曲线,例如

call.lo <- loess(mid ~ strike, df.x, model=T)

但我坚持从那个到差异化。

任何帮助表示赞赏,谢谢。

4

1 回答 1

2

你想要离散的二阶导数吗?

 mid <- 1:100; strike <- (1:100)^3 + 2*(1:100)^2 + 1:100 + 5

 deriv <- function(x, y) diff(y) / diff(x)
 middle_pts <- function(x) x[-1] - diff(x) / 2
 second_d <- deriv(middle_pts(mid), deriv(mid, strike))
 smooth_second_d <- loess(second_d ~ midpts,
   data.frame(second_d = second_d, midpts = middle_pts(middle_pts(mid))), model = T)

例子:

 plot(middle_pts(middle_pts(mid)), deriv(middle_pts(mid), deriv(mid, strike)))

我看到6x + 4了预期的结果。

于 2014-03-24T04:29:43.977 回答