2

我刚刚发现了 R 中的“线框”函数来绘制 3D 曲面图。我希望通过根据两个数据序列绘制 Black&Scholes 看涨期权价格来实现它:到期时间和执行价格。所以,到目前为止,首先这里遵循我的脚本:

S=100  #My stock Price
K=90   #Initial Strike Price
T=1    #Initial Time to Maturity (1 year here)
RF=0.03    #Risk free rate
SIGMA=0.2  #Volatility
d1=(log(S/K) + (RF + 0.5*SIGMA^2)*T)/SIGMA*sqrt(T)     #initial d(1)
d2=d1-SIGMA*sqrt(T)                                    #initial d(2)

然后我尝试为我的表面/3D 图准备一个网格:

K=seq(80,120,1)
T=seq(0,1,0.1)
table=expand.grid(K,T)

最后一步,我添加了一个新的列变量,用于根据每个组合计算我的看涨价格:

table$CALL= S*pnorm(d1) - K*exp(-RF*T)*pnorm(d2)
names(table)= c("K","T","CALL")

最后是表面/3D 图:

wireframe(CALL ~ K * T, scales = list( arrows = FALSE),aspect = c(1, .6),data=table,
      drape=T,shade=T)

所以,它绘制了一个明显可靠的图表(根据我的金融研究)但是......我不知道,它看起来有点“比例尺”图表。由于我是“线框”功能的新手,我不知道我是否正确使用了所有输入数据。我很想对已经习惯在 3D 图中绘制 B&S 公式的人发表意见。我很感兴趣,因为我会做同样的事情来绘制未来的希腊人和隐含波动率。

提前致谢

4

0 回答 0