求解 Black Scholes PDE 时边界和初始条件不一致
boundary and initial conditions are inconsistent when solving Black Sholes PDE
我想求解二因子 Black-Scholes PDE,
q = 0;
\[Sigma] = 0.3;
T = 1;
r = 0.06;
NDSolve[{ D[V[Subscript[S, 1],Subscript[S, 2],t],t] + r Subscript[S, 1] D[V[Subscript[S, 1],Subscript[S, 2],t],Subscript[S, 1]]+ r Subscript[S, 2] D[V[Subscript[S, 1],Subscript[S, 2],t],Subscript[S, 2]] + 1/2 \[Sigma]^2 Subscript[S, 1]^2 D[V[Subscript[S, 1],Subscript[S, 2],t],Subscript[S, 1],Subscript[S, 1]] + 1/2 \[Sigma]^2 Subscript[S, 2]^2 D[V[Subscript[S, 1],Subscript[S, 2],t],Subscript[S, 2],Subscript[S, 2]] - r V[Subscript[S, 1],Subscript[S, 2],t] == 0,
V[Subscript[S, 1],Subscript[S, 2],T] == Max[Subscript[S, 1],Subscript[S, 2]],
V[0,Subscript[S, 2],t] == Subscript[S, 2],
V[Subscript[S, 1],0,t] == Subscript[S, 1],
V[100,Subscript[S, 2],t]== 100,
V[Subscript[S, 1],100,t] == 100
},
V,
{Subscript[S, 1],0,100},{Subscript[S, 2],0,100},{t,0,T}
]
我收到了两个警告
警告:边界条件和初始条件不一致
和
初始条件未评估为一组数字
空间网格上的深度 2。部分的初始条件
微分方程应指定为标量函数
空间变量
如果我在浏览器中打开 Wolfram Cloud Link 并耐心等待 "Type your Wolfram Language Input..." 出现,我在其下方的空白框中左键单击,然后点击 "x"键并等待它出现,然后我点击退格键并等待它消失,然后我准确地抓取-n-粘贴
q=0; \[Sigma]=0.3; T=1; r=0.06;
sol=V/.NDSolve[{ D[V[s1,s2,t],t] + r s1 D[V[s1,s2,t],s1]+ r s2 D[V[s1,s2,t],s2] +
1/2 \[Sigma]^2 s1^2 D[V[s1,s2,t],s1,s1] + 1/2 \[Sigma]^2 s2^2 D[V[s1,s2,t],s2,s2] -
r V[s1,s2,t]==0, V[s1,s2,T]==Max[s1,s2], V[0,s2,t]==s2, V[s1,0,t]==s1,
V[100,s2,t]==100, V[s1,100,t]==100}, V, {s1,0,100},{s2,0,100},{t,0,T}][[1]];
Table[{s1,s2,t,sol[s1,s2,t]},{s1,0,100,25},{s2,0,100,25},{t,0,1,1/4}]
进入那个空框并耐心等待它出现,然后我点击 shift+enter 并等待结果出现
然后我收到三个关于网格点的警告,但忽略这些似乎是安全的,又一次延迟后我看到 {s1,s2,t,sol[s1,s2,t]}
的 table 出现。
我没有看到您报告的任何错误消息。
您能否完全重现我在此处显示的步骤并获得完全相同的结果?
可能是版本问题。出现错误时您使用的是什么版本?也许这是一个下标问题。也许这是在您的笔记本中使用先前分配的缓存问题。
我想求解二因子 Black-Scholes PDE,
q = 0;
\[Sigma] = 0.3;
T = 1;
r = 0.06;
NDSolve[{ D[V[Subscript[S, 1],Subscript[S, 2],t],t] + r Subscript[S, 1] D[V[Subscript[S, 1],Subscript[S, 2],t],Subscript[S, 1]]+ r Subscript[S, 2] D[V[Subscript[S, 1],Subscript[S, 2],t],Subscript[S, 2]] + 1/2 \[Sigma]^2 Subscript[S, 1]^2 D[V[Subscript[S, 1],Subscript[S, 2],t],Subscript[S, 1],Subscript[S, 1]] + 1/2 \[Sigma]^2 Subscript[S, 2]^2 D[V[Subscript[S, 1],Subscript[S, 2],t],Subscript[S, 2],Subscript[S, 2]] - r V[Subscript[S, 1],Subscript[S, 2],t] == 0,
V[Subscript[S, 1],Subscript[S, 2],T] == Max[Subscript[S, 1],Subscript[S, 2]],
V[0,Subscript[S, 2],t] == Subscript[S, 2],
V[Subscript[S, 1],0,t] == Subscript[S, 1],
V[100,Subscript[S, 2],t]== 100,
V[Subscript[S, 1],100,t] == 100
},
V,
{Subscript[S, 1],0,100},{Subscript[S, 2],0,100},{t,0,T}
]
我收到了两个警告
警告:边界条件和初始条件不一致
和
初始条件未评估为一组数字 空间网格上的深度 2。部分的初始条件 微分方程应指定为标量函数 空间变量
如果我在浏览器中打开 Wolfram Cloud Link 并耐心等待 "Type your Wolfram Language Input..." 出现,我在其下方的空白框中左键单击,然后点击 "x"键并等待它出现,然后我点击退格键并等待它消失,然后我准确地抓取-n-粘贴
q=0; \[Sigma]=0.3; T=1; r=0.06;
sol=V/.NDSolve[{ D[V[s1,s2,t],t] + r s1 D[V[s1,s2,t],s1]+ r s2 D[V[s1,s2,t],s2] +
1/2 \[Sigma]^2 s1^2 D[V[s1,s2,t],s1,s1] + 1/2 \[Sigma]^2 s2^2 D[V[s1,s2,t],s2,s2] -
r V[s1,s2,t]==0, V[s1,s2,T]==Max[s1,s2], V[0,s2,t]==s2, V[s1,0,t]==s1,
V[100,s2,t]==100, V[s1,100,t]==100}, V, {s1,0,100},{s2,0,100},{t,0,T}][[1]];
Table[{s1,s2,t,sol[s1,s2,t]},{s1,0,100,25},{s2,0,100,25},{t,0,1,1/4}]
进入那个空框并耐心等待它出现,然后我点击 shift+enter 并等待结果出现
然后我收到三个关于网格点的警告,但忽略这些似乎是安全的,又一次延迟后我看到 {s1,s2,t,sol[s1,s2,t]}
的 table 出现。
我没有看到您报告的任何错误消息。
您能否完全重现我在此处显示的步骤并获得完全相同的结果?
可能是版本问题。出现错误时您使用的是什么版本?也许这是一个下标问题。也许这是在您的笔记本中使用先前分配的缓存问题。