1/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3/*
4 Copyright (C) 2006 Ferdinando Ametrano
5 Copyright (C) 2006 StatPro Italia srl
6 Copyright (C) 2012 Peter Caspers
7
8 This file is part of QuantLib, a free-software/open-source library
9 for financial quantitative analysts and developers - http://quantlib.org/
10
11 QuantLib is free software: you can redistribute it and/or modify it
12 under the terms of the QuantLib license. You should have received a
13 copy of the license along with this program; if not, please email
14 <quantlib-dev@lists.sf.net>. The license is also available online at
15 <http://quantlib.org/license.shtml>.
16
17 This program is distributed in the hope that it will be useful, but WITHOUT
18 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 FOR A PARTICULAR PURPOSE. See the license for more details.
20*/
21
22#ifndef quantlib_test_market_model_hpp
23#define quantlib_test_market_model_hpp
24
25#include <ql/qldefines.hpp>
26#include <boost/test/unit_test.hpp>
27#include "speedlevel.hpp"
28
29/* remember to document new and/or updated tests in the Doxygen
30 comment block of the corresponding class */
31
32class MarketModelTest {
33 public:
34 enum MarketModelType { ExponentialCorrelationFlatVolatility,
35 ExponentialCorrelationAbcdVolatility/*, CalibratedMM*/
36 };
37 static void testInverseFloater();
38 static void testPeriodAdapter();
39 static void testAllMultiStepProducts();
40 static void testOneStepForwardsAndOptionlets();
41 static void testOneStepNormalForwardsAndOptionlets();
42 static void testCallableSwapNaif();
43 static void testCallableSwapLS();
44 static void testCallableSwapAnderson(
45 MarketModelType marketModel, std::size_t testedFactor);
46 static void testGreeks();
47 static void testPathwiseGreeks();
48 static void testPathwiseVegas();
49 static void testPathwiseMarketVegas();
50 static void testStochVolForwardsAndOptionlets();
51 static void testAbcdVolatilityIntegration();
52 static void testAbcdVolatilityCompare();
53 static void testAbcdVolatilityFit();
54 static void testDriftCalculator();
55 static void testIsInSubset();
56 static void testAbcdDegenerateCases();
57 static void testCovariance();
58 static boost::unit_test_framework::test_suite* suite(SpeedLevel);
59};
60
61#endif
62

source code of quantlib/test-suite/marketmodel.hpp