/// <summary> /// Returns the Greek object for a given Greek name /// </summary> /// <param name="greek">Greek name</param> /// <param name="option">Option object</param> /// <returns></returns> public static IGreek Create(GreekName greek, IOption option) { IGreek calculatedGreek = null; switch (greek) { case GreekName.Delta: calculatedGreek = new Delta(option); break; case GreekName.Gamma: calculatedGreek = new Gamma(option); break; case GreekName.Theta: calculatedGreek = new Theta(option); break; case GreekName.Vega: calculatedGreek = new Vega(option); break; case GreekName.Rho: calculatedGreek = new Rho(option); break; default: break; } return calculatedGreek; }
/// <summary> /// Return a Greek value /// </summary> /// <param name="greekName">Greek name</param> /// <returns>Greek value</returns> public double GetGreekValue(GreekName greekName) { IGreek greek = GreekFactory.Create(greekName, this); return greek.GetValue(); }