American-transaction costs 1.0.0.0
American option pricer under proportional transaction costs
|
00001 /* 00002 American option pricer under proportional transaction costs 00003 Copyright (C) 2011 Alet Roux alet.roux@york.ac.uk 00004 00005 This program is free software: you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation, either version 3 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 00018 */ 00019 00020 #ifndef FLEXIBLE_TREE_BINOMIAL_H 00021 #define FLEXIBLE_TREE_BINOMIAL_H 00022 00023 #include "flexibletree.h" 00024 00031 00032 class FlexibleTreeBinomial : public FlexibleTree 00033 { 00034 00035 public: 00047 FlexibleTreeBinomial (const coefficient& S, const ParameterIntegrableBridge& sigma, const ParameterIntegrableBridge& kappa_sigma_square, const ShortRate& r, const ParameterBridge& mu, const ParameterBridge& lambda, const size_t N, const coefficient& T); 00048 00049 size_t scenarios () const; 00050 size_t nodes (const size_t n) const; 00051 void successors_function (const size_t n, const size_t k, path_type& successors) const; 00052 00053 path_type path (const size_t scenario) const; 00054 size_t scenario (const path_type& path) const; 00055 00056 void spot_function (const size_t n, std::vector<Spot>& spot) const; 00057 void spot_path_function (StatisticsGathererPath<Spot>& gather_spot) const; 00058 }; 00059 00060 #endif // BINOMIAL_H