Time Direction in Finite-Difference Black–Scholes Schemes
Summary
The document explains why a finite-difference option-pricing implementation can advance its time variable even though the Black–Scholes equation is commonly solved backward from expiration. The apparent discrepancy comes from the time convention used in the equation, rather than necessarily from an error in the algorithm.
In the described setup, the partial derivative in the equation has the opposite sign from the more usual form, so the variable represents time remaining until maturity. The computation begins at zero remaining time, where the option value equals its payoff, and advances that variable toward maturity. This corresponds to moving backward in calendar time toward the valuation date. The explanation resolves the directional issue conceptually, but does not assess the rest of the code or its numerical accuracy.
Key ideas
- Finite-difference pricing commonly starts from the option payoff at expiration and works toward the valuation date.
- A time variable can move forward in a numerical loop while representing time remaining to maturity.
- The sign convention for the time derivative determines how the equation’s time variable should be interpreted.
- The described setup starts at zero time to maturity and advances toward the valuation date.
- Explaining the time direction alone does not establish that the implementation is otherwise correct.
Tags
Full text
# Finite difference: move forwards or backwards?
# Finite difference: move forwards or backwards?
In finite differences for the black scholes method, you move backwards in time, since of course you know the prices at time $t = T$, and then you iterate until you get to time $t = 0$.
However, why then in this code does the time move forwards? Here, cur_t is current time, and as you can see, he iterates and each time moves cut_r forwards by dt.
Entire code can be found here: https://www.quantstart.com/articles/C-Explicit-Euler-Finite-Difference-Method-for-Black-Scholes
Is this a mistake in the code?
## Answer by Antoine Conze (score 5)
https://quant.stackexchange.com/a/42391
They have written the equation to be solved as $$ -\frac{\partial C}{\partial t} + r S \frac{\partial C}{\partial S} + ... = 0 $$ instead of the more usual $$ \frac{\partial C}{\partial t} + r S \frac{\partial C}{\partial S} + ... = 0 $$ This means that in their setup $t$ represents the time to maturity, that is $t = T - \text{time}$. So they start from $t = 0$ where the option value is equal to its payoff, and they move forward in time to maturity until reaching $t = T$ which corresponds to $\text{time} = 0$ .Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.