1 /* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 3 /* 4 Copyright (C) 2013 Gary Kennedy 5 Copyright (C) 2015 Peter Caspers 6 Copyright (C) 2017 Klaus Spanderen 7 Copyright (C) 2020 Marcin Rybacki 8 9 This file is part of QuantLib, a free-software/open-source library 10 for financial quantitative analysts and developers - http://quantlib.org/ 11 12 QuantLib is free software: you can redistribute it and/or modify it 13 under the terms of the QuantLib license. You should have received a 14 copy of the license along with this program; if not, please email 15 <quantlib-dev@lists.sf.net>. The license is also available online at 16 <http://quantlib.org/license.shtml>. 17 18 This program is distributed in the hope that it will be useful, but WITHOUT 19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 20 FOR A PARTICULAR PURPOSE. See the license for more details. 21 */ 22 23 #ifndef quantlib_test_blackformula_hpp 24 #define quantlib_test_blackformula_hpp 25 26 #include <boost/test/unit_test.hpp> 27 28 29 class BlackFormulaTest { 30 public: 31 static void testBachelierImpliedVol(); 32 static void testChambersImpliedVol(); 33 static void testRadoicicStefanicaImpliedVol(); 34 static void testRadoicicStefanicaLowerBound(); 35 static void testImpliedVolAdaptiveSuccessiveOverRelaxation(); 36 static void testBlackFormulaForwardDerivative(); 37 static void testBlackFormulaForwardDerivativeWithZeroStrike(); 38 static void testBlackFormulaForwardDerivativeWithZeroVolatility(); 39 static void testBachelierBlackFormulaForwardDerivative(); 40 static void testBachelierBlackFormulaForwardDerivativeWithZeroVolatility(); 41 42 static boost::unit_test_framework::test_suite* suite(); 43 }; 44 45 46 #endif 47