`nodeSpacer`

implements the spatial discretization scheme from Hout and Foulon (2010) with arbitrary left and right bounds. The function additionally includes logic for mesh shifting.

1 | ```
nodeSpacer(K, leftBound, rightBound, nodes, density, kShift)
``` |

`K` |
scalar; option strike. |

`leftBound` |
scalar; near spatial boundary of the underlying domain. |

`rightBound` |
scalar; far spatial boundary of the underlying domain. |

`nodes` |
integer; number of nodes used in the spatial discretization. |

`density` |
scalar; impacts the concentration of nodes around the option strike. At 0, nodes are uniformly distributed between the |

`kShift` |
case; if 0, no mesh shifting, if 1, adjusts the node spacing such that the strike falls exactly between two nodes, if 2, adjusts the node spacing such that the strike falls exactly on a node. See Tavella and Randall (2000). |

Mesh shifting is accomplished by multiplying the vector of gridpoints by a scalar. For multi-asset options, this `nodeSpacer`

is called iteratively to discretize each underlying's spatial domain.

`nodeSpacer`

returns a vector of gridpoints used in spatial discretization in the finite difference method. The `nodes`

input determines the length of the output vector.

Michael Eichenberger and Carlo Rosa

Hout, K. J., Foulon, S., 2010. ADI finite difference schemes for option pricing in the Heston model with correlation. *International Journal of Numerical Analysis and Modeling*, **7** (2), 303–320.
http://www.math.ualberta.ca/ijnam/Volume-7-2010/No-2-10/2010-02-06.pdf

Pooley, D. M., Vetzal, K. R., Forsyth, P. A., 2002. Convergence remedies for non-smooth payoffs in option pricing. http://www.cs.uwaterloo.ca/~paforsyt/report.pdf

Tavella, D., Randall, C., 2000. Pricing Financial Instruments: The Finite Difference Method. John Wiley & Sons, Inc., New York.

1 2 3 | ```
# sample mesh spacing
plot(nodeSpacer(100, 0, 500, 26, 5, 1), rep(0, times=26), main='Non-Uniform Mesh Spacing',
xlab='Underlying Price (Strike = 100)', ylab='', yaxt='n', type='p', cex=0.5, pch=16)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.