ExchangeRateManager Class Reference
exchange-rate repository More...
#include <ql/currencies/exchangeratemanager.hpp>
Inheritance diagram for ExchangeRateManager:

Public Member Functions | |
| void | add (const ExchangeRate &, const Date &startDate=Date::minDate(), const Date &endDate=Date::maxDate()) |
| Add an exchange rate. | |
| ExchangeRate | lookup (const Currency &source, const Currency &target, Date date=Date(), ExchangeRate::Type type=ExchangeRate::Derived) const |
| void | clear () |
| remove the added exchange rates | |
Friends | |
| class | Singleton< ExchangeRateManager > |
Detailed Description
exchange-rate repository
- Tests:
- lookup of direct, triangulated, and derived exchange rates is tested.
Member Function Documentation
| void add | ( | const ExchangeRate & | , | |
| const Date & | startDate = Date::minDate(), |
|||
| const Date & | endDate = Date::maxDate() | |||
| ) |
Add an exchange rate.
The given rate is valid between the given dates.
- Note:
- If two rates are given between the same currencies and with overlapping date ranges, the latest one added takes precedence during lookup.
| ExchangeRate lookup | ( | const Currency & | source, | |
| const Currency & | target, | |||
| Date | date = Date(), |
|||
| ExchangeRate::Type | type = ExchangeRate::Derived | |||
| ) | const |
Lookup the exchange rate between two currencies at a given date. If the given type is Direct, only direct exchange rates will be returned if available; if Derived, direct rates are still preferred but derived rates are allowed.
- Warning:
- if two or more exchange-rate chains are possible which allow to specify a requested rate, it is unspecified which one is returned.