[Matlab]蒙特卡罗方法和二叉树方法估计期权价值的Matlab实现

最近学习了一点简单的matlab,之前打算边做边发,但是在腐国csdn很难打开,于是回来集中发一下几个代码。

环境:Matlab R2014b, 64bit.

1. 用matlab实现使用蒙地卡罗方法对期权估值
%Monte Carlo Simulation

%Option value -- Average payoff -- Payoff --  Expiry price

S0=100;
StrikePrice=100;
T=1;
sig=0.3;
r=0.05;

n=1000000;
payoff=0;
sumOfPayoff=0;
optionValue=0;
profit=0;


for i=1:n
    S_expiry = S0*exp((r-0.5*sig^2)*T+sig*T^0.5*randn);
    payoff =  max ((S_expiry - StrikePrice),0) ; %payoff different accr.
    sumOfPayoff = sumOfPayoff + payoff;
end

optionValue=exp(-r*T)*(1/n)*sumOfPayoff;

optionValue

% profit= max ((x- StrikePrice),0)-optionValue ;
% plot(profit);
要点有三:

1) 核心在于用lognormal random walk的公式预测asset在expiry的价格,S_expiry = S0*exp((r-0.5*sig^2)*T+sig*T^0.5*r

  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值