Class EuropeanOption

All Implemented Interfaces:
Function<org.apache.commons.math3.complex.Complex, org.apache.commons.math3.complex.Complex>, CharacteristicFunction, FourierTransformProduct, Product
Direct Known Subclasses:
SingleAssetFourierProductFactory.EuropeanOptionFourierMethod

public class EuropeanOption extends AbstractFourierTransformProduct
Implements valuation of a European option on a single asset. Given a model for an asset S, the European option with strike K, maturity T pays
max((S(T) - K) * CallOrPut , 0) in T
The class implements the characteristic function of the call option payoff, i.e., its Fourier transform.
Version:
1.0
Author:
Christian Fries, Alessandro Gnoatto
  • Constructor Summary

    Constructors
    Constructor
    Description
    EuropeanOption(double maturity, double strike)
    Construct a product representing an European option on an asset S (where S the asset with index 0 from the model - single asset case).
    EuropeanOption(double maturity, double strike, double callOrPutSign)
    Construct a product representing an European option on an asset S (where S the asset with index 0 from the model - single asset case).
    EuropeanOption(double maturity, double strike, CallOrPut callOrPutSign)
    Construct a product representing an European option on an asset S (where S the asset with index 0 from the model - single asset case).
    EuropeanOption(String underlyingName, double maturity, double strike)
    Construct a product representing an European option on an asset S (where S the asset with index underlyingIndex from the model - single asset case).
    EuropeanOption(String underlyingName, double maturity, double strike, double callOrPutSign)
    Construct a product representing an European option on an asset S (where S the asset with index underlyingIndex from the model - single asset case).
    EuropeanOption(String underlyingName, double maturity, double strike, CallOrPut callOrPutSign)
    Construct a product representing an European option on an asset S (where S the asset with index underlyingIndex from the model - single asset case).
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.commons.math3.complex.Complex
    apply(org.apache.commons.math3.complex.Complex argument)
     
    double
    Return the lower bound of the imaginary part of the domain where the characteristic function can be integrated.
    double
    Return the upper bound of the imaginary part of the domain where the characteristic function can be integrated.
    double
    Return the maturity of the associated payoff.
    double
     
     
    double
    This method returns the value random variable of the product within the specified model, evaluated at a given evalutationTime.

    Methods inherited from class AbstractFourierTransformProduct

    getValue, getValues

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface Function

    andThen, compose
  • Constructor Details

    • EuropeanOption

      public EuropeanOption(String underlyingName, double maturity, double strike, double callOrPutSign)
      Construct a product representing an European option on an asset S (where S the asset with index underlyingIndex from the model - single asset case).
      Parameters:
      underlyingName - Name of the underlying
      maturity - The maturity T in the option payoff max(sign * (S(T)-K),0).
      strike - The strike K in the option payoff max(sign * (S(T)-K),0).
      callOrPutSign - The sign in the payoff.
    • EuropeanOption

      public EuropeanOption(String underlyingName, double maturity, double strike, CallOrPut callOrPutSign)
      Construct a product representing an European option on an asset S (where S the asset with index underlyingIndex from the model - single asset case).
      Parameters:
      underlyingName - Name of the underlying
      maturity - The maturity T in the option payoff max(sign * (S(T)-K),0).
      strike - The strike K in the option payoff max(sign * (S(T)-K),0).
      callOrPutSign - The sign in the payoff.
    • EuropeanOption

      public EuropeanOption(double maturity, double strike, double callOrPutSign)
      Construct a product representing an European option on an asset S (where S the asset with index 0 from the model - single asset case).
      Parameters:
      maturity - The maturity T in the option payoff max(S(T)-K,0)
      strike - The strike K in the option payoff max(S(T)-K,0).
      callOrPutSign - The sign in the payoff.
    • EuropeanOption

      public EuropeanOption(double maturity, double strike, CallOrPut callOrPutSign)
      Construct a product representing an European option on an asset S (where S the asset with index 0 from the model - single asset case).
      Parameters:
      maturity - The maturity T in the option payoff max(S(T)-K,0)
      strike - The strike K in the option payoff max(S(T)-K,0).
      callOrPutSign - The sign in the payoff.
    • EuropeanOption

      public EuropeanOption(String underlyingName, double maturity, double strike)
      Construct a product representing an European option on an asset S (where S the asset with index underlyingIndex from the model - single asset case).
      Parameters:
      underlyingName - Name of the underlying
      maturity - The maturity T in the option payoff max(S(T)-K,0)
      strike - The strike K in the option payoff max(S(T)-K,0).
    • EuropeanOption

      public EuropeanOption(double maturity, double strike)
      Construct a product representing an European option on an asset S (where S the asset with index 0 from the model - single asset case).
      Parameters:
      maturity - The maturity T in the option payoff max(S(T)-K,0)
      strike - The strike K in the option payoff max(S(T)-K,0).
  • Method Details