R代码#蒙特卡洛法计算欧式看涨期权

论坛 期权论坛 期权     
殷炼乾   2021-5-21 21:29   5236   0
#蒙特卡洛法计算欧式看涨期权
payoff_call=function(price,X)
{
  return(max(0,price-X))
}
price_simulate=function(S,r,sigma,t)
{
  R=(r-0.5*sigma^2)*t
  sd=sigma*sqrt(t)
  return(S*exp(R+sd*rnorm(1)))
}
mc_eurocall=function(S,X,r,sigma,t,n)

{
s_t=numeric(n)
sum_payoffs=numeric(n)
for(i in 1:n)
{
   s_t=price_simulate(S,r,sigma,t)
   sum_payoffs=payoff_call(s_t,X)
}
s=sum(sum_payoffs)
return(exp(-r*t)*(s/n))
}


S
X
r
sigma
t
n


res2=mc_eurocall(S,X,r,sigma,t,n)
res2


#每次运行结果都不同,同样的代码实际运行收敛到10.4左右,参考文献(同前)是14.8左右
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:26
帖子:1
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP