求Schwartz-Moon实物期权模型做蒙特卡洛模拟,可提供主要公式,求matlab算法,论文急需吔!谢谢各位!
5条回答 默认 最新
Minuw 2023-06-12 21:46关注获得1.35元问题酬金 可参考采纳
function [optionPrice, optionRisk] = schwartzMoonMonteCarlo(S0, K, r, T, sigma0, kappa, theta, sigma, M, N) % S0: 股票当前价格 % K: 行权价 % r: 无风险利率 % T: 持仓时间 % sigma0: 波动率 % kappa: Hull-White模型中的参数 % theta: Hull-White模型中的参数 % sigma: Hull-White模型中的参数 % M: 模拟波动率的路径数 % N: 模拟股票价格的路径数 % 计算股票价格的期望值和标准差 mu = log(S0) + (r - 0.5*sigma0^2)*T; sigmaS = sigma0*sqrt(T); % 计算时间步长和模拟的时间点 dt = T/M; t = 0:dt:T; % 计算波动率的随机过程 v = zeros(M+1,N); v(1,:) = sigma0; for i = 2:M+1 v(i,:) = v(i-1,:).*exp(-kappa*dt) + theta*(1 - exp(-kappa*dt)) + sigma*sqrt((1 - exp(-2*kappa*dt))/(2*kappa))*randn(1,N); end % 计算股票价格的随机过程 S = zeros(M+1,N); S(1,:) = S0; for i = 2:M+1 S(i,:) = S(i-1,:) .* exp((r - 0.5.*v(i,:).^2).*dt + v(i,:).*sqrt(dt).*randn(1,N)); end % 计算内在价值和时间价值 optionPrice = max(S(end,:) - K, 0).*exp(-r*T); optionRisk = std(optionPrice, 1)./mean(optionPrice, 1); end评论 打赏 举报解决 1无用