Ok, I've opened the link on an internet explorer ....1) Your best bet to understand the Maccormack technique is part 3 of the link yomi posted
http://www.bama.ua.edu/~dhand001/cfd Equations 4 and 5 show the technique. One very important thing to note is that in the predictor the space discretisation is forward, but is rearward in the corrector. I must say that the way it is written in most of this stuff online looks very complicated. Both predictor and corrector can be separated into two sub-steps, which I think makes it much easier to understand. I've got the exact scheme in my Anderson book at work. I know the gist of it, but I'll post the exact thing on monday ( Work allowing !! ) I think the MacCormack technique is good because it is fully explicit, hence easily adapted for american exercise without flailing around with SOR techniques or penalty methods, as you would have to with Crank-Nicholson. It easily can be extended to two or three dimensions ( eg for Heston models, convertible bond models ) and is second order accurate in time and space. Of course you have the time constraint, so solving for a very fine grid will take longer, but as you can see the results are pretty good on a coarse grid anyway. 2) In order to understand conservative versus non-conservative formulations look at the difference in these two wave equations du / dt + A du / dx = 0 - non conservativeand du / dt + d ( Au ) / dx = 0 - conservative If A is constant, then no problem but if A is a function of space, when we discretise the two schemes we get du /dt = - A i ( u i + 1 - u i ) / dx and du / dt = (Au i + 1 - Au i ) / dx In scheme one A is the value at point i whereas in the second conservative scheme, it is calculated at both points. With Black-Scholes and constant volatility S is different at i and i + 1, but we use the value of S at i. With large dS values this will cause some inaccuracy. Also once we start to get non-constant volatilities, interest rates, etc then the conservative formulation comes into its own. The trade-off is that the non-conservative formulation will tend to require more calculations and hence more solve time. If someone can point me to a website showing me how to write equations in latex, then I'll post the conservative formulation of Black-Scholes. 3) Everything we've seen so far has only really been finite difference. There are two other main classes of techniques used for solving pde's in engineering. Finite elements, which tend to be popular with structural analysis guys and finite volume which is by far the leading technique in CFD ( which is actually special form of finite element ) Have a look at this linkhttp://
www.mie.utoronto.ca/labs/MUSSL/cfd20.pdfChapter 3, pages 9 - 16, give a good discussion as to what these techniques are and what they are used for. One point that always seems to be ignored when talking about the finite volume method, is that it doesn't necessarily assume continuity of the solution. This makes it very good for things with sharp discontinuities such as the payoff or delta of a digital option or barrier. Section 4.3 of the link (p.26) talks a little bit about shock capturing. ( Shocks are discontinuities in a fluid solution ). This is where TVD schemes and Van Leer limiters are used to produce second order accuracy with zero oscillations. Godunov schemes and approximate riemann solvers go a step further and actually solve a discontinuity analytically at each cell face, and then integrate the exact analytic solution to produce the new cell mid-point values. In finance this would probably be the equivalent of solving a digital call or put analytically between each cell, and producing a final overall discrete solution from these. These methods produce accurate results on very coarse meshes. I'm planned to have a go at a) Heston with Maccormackb) Black-Scholes et Al with Godunov schemesI'll keep you posted on my progress, however since most of my day to day work at most only involves vanilla options, it may be a while !! Please feel free to ask me any questions about what I've written. Blade