예제 #1
0
        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);
        }