A class for pricing American options using the Crank-Nicolson method of finite differences

Let's create a class named FDCnAm that inherits from the FDCnEu class, which is the Crank-Nicolson method's counterpart for pricing European options. The setup_coefficients method may be reused, while overriding all other methods for the inclusion of payoffs from an earlier exercise, if any.

The constructor __init__() and the setup_boundary_conditions() methods are given in the FDCnAm class:

In [ ]:    import numpy as np    import sys    """     Price an American option by the Crank-Nicolson method     """    class FDCnAm(FDCnEu):        def __init__(self, S0, K, r=0.05, T=1,                 Smax=1, M=1, N=1, omega=1, tol=0, is_put=False): super(FDCnAm, self).__init__(S0, K, r=r, T=T, ...

Get Mastering Python for Finance - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.