public void DigitalFacts() { var t = 1.0; var f = 100; var vol = 0.32; var rf = 0.0; var cp = OptionType.C; var k = 110; var digiPV = BlackFunctions.BlackDigitalPV(f, k, rf, t, vol, cp); var spread = 0.0001; var expected = (BlackFunctions.BlackPV(f, k, rf, t, vol, cp) - BlackFunctions.BlackPV(f, k + spread, rf, t, vol, cp)) / spread; Assert.Equal(expected, digiPV, 6); var iv = BlackFunctions.BlackDigitalImpliedVol(f, k, rf, t, digiPV, cp); Assert.Equal(vol, iv, 6); }