QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | Friends | List of all members
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. More...
 
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 >
 

Additional Inherited Members

- Static Public Member Functions inherited from Singleton< ExchangeRateManager >
static ExchangeRateManagerinstance ()
 access to the unique instance
 

Detailed Description

exchange-rate repository

Tests:
lookup of direct, triangulated, and derived exchange rates is tested.

Member Function Documentation

◆ add()

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.

◆ 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.