QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
pagodaoption.hpp
Go to the documentation of this file.
1/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3/*
4 Copyright (C) 2008 Master IMAFA - Polytech'Nice Sophia - Université de Nice Sophia Antipolis
5
6 This file is part of QuantLib, a free-software/open-source library
7 for financial quantitative analysts and developers - http://quantlib.org/
8
9 QuantLib is free software: you can redistribute it and/or modify it
10 under the terms of the QuantLib license. You should have received a
11 copy of the license along with this program; if not, please email
12 <quantlib-dev@lists.sf.net>. The license is also available online at
13 <http://quantlib.org/license.shtml>.
14
15 This program is distributed in the hope that it will be useful, but WITHOUT
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17 FOR A PARTICULAR PURPOSE. See the license for more details.
18*/
19
20/*! \file pagodaoption.hpp
21 \brief Roofed Asian option on a number of assets
22*/
23
24#ifndef quantlib_pagoda_option_hpp
25#define quantlib_pagoda_option_hpp
26
28#include <ql/time/date.hpp>
29#include <vector>
30
31namespace QuantLib {
32
33 //! Roofed Asian option on a number of assets
34 /*! The payoff is a given fraction multiplied by the minimum
35 between a given roof and the positive portfolio performance.
36 If the performance of the portfolio is below then the payoff
37 is null.
38
39 \warning This implementation still does not manage seasoned
40 options.
41
42 \ingroup instruments
43 */
45 public:
46 class engine;
47 class arguments;
48 PagodaOption(const std::vector<Date>& fixingDates,
49 Real roof,
50 Real fraction);
51 void setupArguments(PricingEngine::arguments*) const override;
52
53 protected:
54 // arguments
55 std::vector<Date> fixingDates_;
58 };
59
60
62 public:
63 arguments();
64 void validate() const override;
65 std::vector<Date> fixingDates;
67 };
68
69
70 //! %Pagoda-option %engine base class
72 : public GenericEngine<PagodaOption::arguments,
73 PagodaOption::results> {};
74
75}
76
77#endif
template base class for option pricing engines
Base class for options on multiple assets.
basic option arguments
Definition: option.hpp:57
void validate() const override
Pagoda-option engine base class
Roofed Asian option on a number of assets.
void setupArguments(PricingEngine::arguments *) const override
std::vector< Date > fixingDates_
date- and time-related classes, typedefs and enumerations
QL_REAL Real
real number
Definition: types.hpp:50
Option on multiple assets.
Definition: any.hpp:35