在 Schwartz 均值回归模型下求解期权价格的偏微分方程的欧拉显式方法。数字金融

计算科学 pde 边界条件 数字
2021-12-03 16:12:33

我必须为 Call option 解决以下 PDE:

tV+{α(μλ/αlog(S))}SSV+1/2σ2S2S2VrV=0

其中 V(S,t) 是期权价格作为股票价格 S 和时间 t 的函数,α均值回归的强度,μ平均回报率,r是无风险利率,并且σ 是股票的波动率,λ风险的市场价格。我已经解决了 S 的有限差分偏微分方程,并且根据练习的需要,当时的欧拉显式(我在这里上传了带有所有数据的 Matlab 代码)。我的问题是关于边界条件的。对于 Black-Scholes 方程很简单:

  • 左端 S = 0:所以 payoff(S) = payoff(0) = max(0-K,0) = 0,因此V(0,t)=0t0.
  • 右端 S = M:其中 M 相对于 K 是“大”的,payoff(S) = max(SK,0) = S - K,所以收益等于 S - K 的期权的价值就是V(S,t)=SKerT,t0.

左端条件保持不变,但我不明白如何更改右端。

% Generate a Path for the Schwartz single factor model.
% Call
% We start from : dS = ...., then X = log(S).
clear all
close all

%% Parameters
T = 1;           % End time
K = 1.5;         % Strike price
alpha = 10;     % strength of mean reversion
mu = 1;         % long term mean
sigma = 0.7;    % volatility
r = 0.1;        % risk-free interest rate
lambda = mu - r;% Market Price of Risk
lambdaHat = lambda/alpha;
Nt = 5000;      % number of time steps

%% Eu for PDE
ds = 0.01;
dt = T/Nt; 
t = 0:dt:T;
Ns = round(3*(K/ds));   % Number of "price" step
S = ds*(0:(Ns));       
S1 = S(2:(end-1));       % all but endpoints
V = max(S-K,0);
hold on
plot(S,V,'o-b')

%% PDE solution
Ws = alpha*(mu - lambdaHat - log(S1)).*S1;
Zs = 0.5*sigma^2*S1.^2;
Vnew = zeros(Ns+1,1); 
Vold = V; 
for k = 2:Nt
    F = zeros(Ns+1,1)';
    dV = (Vold(3:end) - Vold(1:(end-2)))/(2*ds); 
    ddV = (Vold(3:end) - 2*Vold(2:(end-1)) + Vold(1:(end-2)))/(ds^2);
    F(2:(end-1)) = Ws.*dV + Zs.*ddV - r*Vold(2:(end-1));
    Vnew = Vold + dt*F;   
    %% Boundary cond
    Vnew(1) = 0; % left end condition
    Vnew(end) = S(end) - K*exp(-r*k*dt); % right end condition
    % Update solution
    Vold = Vnew;
end
hold on
plot(S,Vnew,'-r')
0个回答
没有发现任何回复~