Overview
{% \frac{\partial V}{\partial t} + \frac{1}{2} \sigma ^2 \frac{\partial^2 V}{\partial S^2} + rS \frac{\partial V}{\partial S} -rV = 0 %}
Finite Difference Methods
{% V(S,0) = e^{\alpha ln S}e^{\beta \frac{\sigma^2 T}{2}} u (ln S, \frac{\sigma^2 T}{2}) %}
Converts the problem to forward finite difference.
let fd = await import('/lib/finance/derivatives/black-scholes/v1.0.0/finite-difference.js');
let boundary = function(val){
if(val>45) return val-45;
return 0;
}
let T = 1/3;
let variance = 0.4*0.4;
let xtop = 200;
let xnumber = 1000;
let tnumber = 1000;
let r = 0.03;
let answer = fd.crankNicholson(T, r, variance, xtop, xnumber, tnumber, boundary);
//answer for 40 stock price is 2.0236