public void Initialisation() { _discountFactor = 0.94617d; _forwardRate = 0.0743100d; _notional = 1.0E+08d; _optionExpiry = 0.50959d; _optionType = BlackCapletFloorlet.OptionType.Caplet; _sigma = 9.43000d / 100d; _strike = 0.075d; _tau = 0.25205d; _validateArguments = true; _capletFloorletObj = new BlackCapletFloorlet (_notional, _optionExpiry, _optionType, _strike, _tau, _validateArguments); }
public void TestComputePrice() { #region Test #1: Computation of Price Near Expiry // Instantiate a Caplet that has an expiry less than one day. _optionType = BlackCapletFloorlet.OptionType.Caplet; _notional = 1.0E+08d; _optionExpiry = 1.36986E-03d; _strike = 7.50d / 100d; _tau = 0.25205d; _capletFloorletObj = new BlackCapletFloorlet (_notional, _optionExpiry, _optionType, _strike, _tau, _validateArguments); Assert.IsNotNull(_capletFloorletObj); // Price the Caplet. _discountFactor = 0.99617d; _forwardRate = 8.53100d / 100d; _sigma = 9.43000d / 100d; _actual = _capletFloorletObj.ComputePrice (_discountFactor, _forwardRate, _sigma, _validateArguments); _expected = 258868.27d; Assert.AreEqual(_expected, _actual, _tolerance); #endregion #region Test #2: Computation of a Caplet Price _optionType = BlackCapletFloorlet.OptionType.Caplet; _notional = 1.0E+08d; _optionExpiry = 0.50959d; _strike = 7.50d / 100d; _tau = 0.25205d; _capletFloorletObj = new BlackCapletFloorlet (_notional, _optionExpiry, _optionType, _strike, _tau, _validateArguments); Assert.IsNotNull(_capletFloorletObj); // Price the Caplet. _discountFactor = 0.94617d; _forwardRate = 7.43100d / 100d; _sigma = 9.43000d / 100d; _actual = _capletFloorletObj.ComputePrice (_discountFactor, _forwardRate, _sigma, _validateArguments); _expected = 40027.17d; _tolerance = 2.0d; Assert.AreEqual(_expected, _actual, _tolerance); #endregion #region Test #3: Computation of a Flooret Price _optionType = BlackCapletFloorlet.OptionType.Floorlet; _notional = 1.0E+08d; _optionExpiry = 0.50959d; _strike = 7.50d / 100d; _tau = 0.25205d; _capletFloorletObj = new BlackCapletFloorlet (_notional, _optionExpiry, _optionType, _strike, _tau, _validateArguments); Assert.IsNotNull(_capletFloorletObj); // Price the Flooret. _discountFactor = 0.94617d; _forwardRate = 7.43100d / 100d; _sigma = 9.43000d / 100d; _actual = _capletFloorletObj.ComputePrice (_discountFactor, _forwardRate, _sigma, _validateArguments); _expected = 56482.43d; _tolerance = 2.0d; Assert.AreEqual(_expected, _actual, _tolerance); #endregion }