/// <summary> /// Copy constructor, makes a deep copy of the object. It will also copy the payoff strategy. /// </summary> /// <param name="option"></param> public Option(Option source) { m_interest = source.m_interest; m_volatility = source.m_volatility; m_strikePrice = source.m_strikePrice; m_expiryDate = source.m_expiryDate; m_costOfCarry = source.m_costOfCarry; m_farFieldCondition = source.m_farFieldCondition; m_type = source.m_type; m_payOff = source.m_payOff; }
/// <summary> /// Default constructor. /// </summary> public Option() { m_interest = 0.08; m_volatility = 0.3; m_strikePrice = 65.0; m_expiryDate = 0.25; m_costOfCarry = m_interest; m_farFieldCondition = 5 * m_strikePrice; m_type = 'P'; // Modify code when using C <-> P; V2 use a dynamic switch // m_payOff = new Option.PayOffHandler(OneFactorPayOff.MyCallPayoffFN); m_payOff = new Option.PayOffHandler(OneFactorPayOff.MyPutPayoffFN); // m_payOff = new Option.PayOffHandler(OneFactorPayOff.MyFirstExitTimeFN); }