如何用MATLAB写欧氏看涨看跌期权(B |
您所在的位置:网站首页 › 欧式看涨期权盈亏图怎么看 › 如何用MATLAB写欧氏看涨看跌期权(B |
如何用MATLAB写欧氏看涨看跌期权(B-S模型)的代码 欧式期权 (European Options) 即是指买入期权的一方必须在期权到期日当天才能行使的期权。 具体的数学模型为: 无收益欧式看涨期权的定价公式 无收益资产欧式看跌期权的定价公式 其中 , (1)S:标的资产的价格;(2) X:行权价格;(3) T-t:到期期限; (4)σ:标的资产价格波动率;(5) r:连续复利的无风险利率; 模型介绍完毕, 上代码 😃 %% 1.我写的函数 % B-S公式定价 S0=42;%资产当前价格 K=40;%期权敲定价格 r=0.1;%年化无风险利率 注意不是资产预期收益率 T=1;%到期时间,年为单位 Volatility=0.2;%波动率 [Call,Put]=mybsfun(S0,K,r,T,Volatility);%欧氏期权定价 disp(‘B-S欧氏看涨期权价格’); Call disp(‘B-S欧氏看跌期权价格’); Put %% 2.MATLAB自带的函数 Price=42;%某股票价格 Strike=40;%期权敲定价格 Rate=0.1;%年化无风险利率 Time=1;%到期时间 Volatility=0.2;%波动率 [Call, Put] = blsprice(Price, Strike, Rate, Time, Volatility);%欧氏期权定价 disp(‘B-S欧氏看涨期权价格’); Call disp(‘B-S欧氏看跌期权价格’); Put %% 3.蒙特卡洛法 % 3.1 先股价仿真(几何布朗运动) M=10000; %number of trajectories of Geometric Brownian motion 几何布朗运动的仿真轨迹数 N=52;%Number of steps in one trajectory 一年52周 S0=10; %initial point 初始股价 T=1;%Final Time in years in trajectory mu=0.03;% 周平均收益率,记得和N关联好 r=mu;% 无风险利率 sigma=0.1;%volatility 周平均波动率 dt=T/N; %时间步长 Sqrtdt=sqrt(dt); S(1:M,1)=S0; for j=1:M %轨迹数 for i = 2:N+1 %每个时间步的价格 %% end end t=0:dt:T; figure; plot(t,S); title(‘price of the stock’); % 3.2价格=××的均值 % 看涨期权 call K=12;%敲定价格 E=max(S(:,end)-K,0);% M个轨迹时间完成时的股价减去敲定价格, 有赚的部分取出来平均就是盈利 Call01=mean(E)exp(-rT) % 盈利折算到现在 % 看跌期权 put ok! K=12;%敲定价格 E=max(K-S(:,end),0);% M个轨迹时间完成时的股价减去敲定价格, 有赚的部分取出来平均就是盈利 Put01=mean(E)exp(-rT) % 盈利折算到现在 [Call, Put] = blsprice(S0, K, r, T, sigma) 程序结果: B-S欧氏看涨期权价格 Call = 6.8371B-S欧氏看跌期权价格 Put = 1.0306B-S欧氏看涨期权价格 Call = 6.8371B-S欧氏看跌期权价格 Put = 1.0306Call01 = 0.0296Put01 = 1.6743Call = 0.0300Put = 1.6753 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |