weixin_46514643 2023-06-12 21:15 采纳率: 0%
浏览 106
已结题

求Schwartz-Moon实物期权模型做蒙特卡洛模拟对企业进行估值的MATLAB代码

求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
    
    评论

报告相同问题?

问题事件

  • 系统已结题 6月20日
  • 修改了问题 6月12日
  • 创建了问题 6月12日