public void InterpolatorTest() { BondHalfYearly bond = new BondHalfYearly(240000, 1, 0.09m, 15.5m); var yield = interpolator.Interpolate(bond.value, 0.01m, 0.09m, 240000m); Assert.IsTrue(isEqualWithinThreshold(240000m, bond.value(yield))); }
public decimal GetValue() { if (cacheValue == 0) { var bond = new BondHalfYearly(bondDetails.nominal, bondDetails.redemptionRate, bondDetails.yearlyCouponRate, bondDetails.term); var interpolation = new Interpolation(); cacheValue = interpolation.Interpolate(bond.value, 0.01m, 0.09m, bondDetails.nominal * bondDetails.redemptionRate); } return(cacheValue); }