gpt4 book ai didi

r - 计算曲线下面积

转载 作者:行者123 更新时间:2023-12-03 01:25:46 25 4
gpt4 key购买 nike

我想计算曲线下的面积以进行积分,而无需定义诸如 integrate() 之类的函数。

我的数据如下所示:

Date          Strike     Volatility
2003-01-01 20 0.2
2003-01-01 30 0.3
2003-01-01 40 0.4
etc.

我绘制了plot(strike,波动率)来观察波动率微笑。有没有办法整合这条绘制的“曲线”?

最佳答案

通过查看大量梯形图,每次都限制在 x_ix_{i+1}y{ 之间,可以很容易地近似 AUC i+1}y_i。使用zoo包的rollmean,你可以这样做:

library(zoo)

x <- 1:10
y <- 3*x+25
id <- order(x)

AUC <- sum(diff(x[id])*rollmean(y[id],2))

请确保对 x 值进行排序,否则您的结果将没有意义。如果 y 轴上的某个位置有负值,则必须弄清楚要如何准确地定义曲线下的区域,并进行相应调整(例如使用 abs() )

关于你的后续:如果你没有正式的函数,你会如何绘制它?因此,如果只有值,则唯一可以近似的就是定积分。即使 R 中有该函数,也只能使用 integrate() 计算定积分。仅当您也可以定义形式函数时,才可以绘制形式函数。

关于r - 计算曲线下面积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4954507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com