佛了,我不信你们都没解决!
第一个m函数:
function[Va,sda]=Reverse(VE,B,r,T,sde2)
%根据账面负债B,利率r,时期数T,股权价值波动率sde2
x0 = [1,1];
Result = fsolve(@(X)Black_Scholes(VE,B,r,T,sde2,X),x0);
Va = Result(1);
sda = Result(2);
end
第二个m函数
function F=Black_Scholes(VE,B,r,T,sde2,X)
%由市场价值Ve与市场价值波动率sde2根据期权定价公式反向迭代求资产价值Va与波动率sda
d1 = (log(X(1)/B)+(r+0.5*X(2)^2)*T)/(X(2)*sqrt(T));
d2 = d1-X(2)*sqrt(T);
F = [X(1)*normcdf(d1)-exp(-r*T)*B*normcdf(d2)-VE;X(1)*normcdf(d1)*X(2)/VE-sde2];
end
新建函数脚本把这两段分别复制进去保存,然后调用方式:
[Va,sda]=Reverse(VE,B,r,T,sde2);
其中Va与sda表示资产价值与波动率,而参数VE表示市场股价,B上市公司市面负债,r利率,T历史数据时期,比如用去年12个月12个观测数据来衡量今年的VA与sda,那么T就是12,sde2就是这12个观测数据的波动率。但是目前关于B的这个计算方式,我不确定是不是债务市场价值除股价价值
|