ディレクトリ
本明細書において具体的に説明されていない場合は、プログラムのテキストはのpython3コードです。
QuantLib財務計算 - クラスのExchangeRateManager基本的なコンポーネント
QuantLibのロード:
import QuantLib as ql
print(ql.__version__)
1.15
アウトライン
QuantLib通貨カテゴリ間の情報交換を管理することであるExchangeRateManager
と、Money
対応する設定の種類を自動的に代数の通貨の為替レートを変換することができます。
Money
通貨のコンバータークラスコンフィギュレーション
Money
通貨のコンバータークラスの静的設定機能はsetConversionType
、それぞれ、3つの組み込みの整数で表現可能なコンフィギュレーションを実装しました:
構成タイプ | 意味 |
---|---|
NoConversion |
変換なし |
BaseCurrencyConversion |
基本通貨(基本通貨)に変換する統一 |
AutomatedConversion |
発生した最初の貨幣の式を計算するための変換 |
あなたが使用している場合BaseCurrencyConversion
、あなたはまた、必要なMoney
静的関数のクラスを呼び出すためにsetBaseCurrency
基本通貨の設定を。
ExchangeRateManager
ExchangeRateManager
モノマー(シングルトン)は、静的関数を呼び出すことにより、必要があるが、一般的に直接明示的なインスタンスをない、あるinstance
ユニークな取得するExchangeRateManager
例を。
ExchangeRateManager.instance()
機能
ExchangeRateManager
3つのメンバ関数があります。
add(ex, start_date, end_date)
さんへExchangeRateManager
のインスタンスの追加ExchangeRate
の目的は、ex
為替レートの有効な開始時間であるstart_date
(デフォルト値Date.minDate()
)、時間の為替レートの有効期限end_date
(デフォルト値Date.maxDate()
)。lookup(source, target, date, type)
:為替レートのターゲットを返し、元通貨source
、通貨を対象target
、日付date
(現在の日付デフォルト)、タイプtype
(デフォルトはありますExchangeRate.Derived
)。ExchangeRateManager
例としては、最初に記録されたすべての通貨の為替レートを見つけたいでしょう、そうでない場合は、その後、シリーズの為替レートのパスに応じて最短経路(この場合の為替レートを計算返却しようとしtype
なければなりませんExchangeRate.Derived
)。clear()
:レコードの為替レートを空にします。
例、
ql.Money.setConversionType(ql.Money.AutomatedConversion)
usd = ql.USDCurrency()
cny = ql.CNYCurrency()
eur = ql.EURCurrency()
usdXcny = ql.ExchangeRate(usd, cny, 6.912)
usdXeur = ql.ExchangeRate(usd, eur, 0.834)
ql.ExchangeRateManager.instance().add(usdXcny)
ql.ExchangeRateManager.instance().add(
usdXeur,
ql.Date(1, ql.May, 2019),
ql.Date(3, ql.May, 2019))
m_eur = 100 * eur
m_cny = 150 * cny
ql.Settings.instance().evaluationDate = ql.Date(2, ql.May, 2019)
print(m_eur, " + ", m_cny, " = ", m_eur + m_cny)
ql.Settings.instance().evaluationDate = ql.Date(4, ql.May, 2019)
print(m_eur, " + ", m_cny, " = ", m_eur + m_cny)
EUR 100.00 + Y 150.00 = EUR 118.10
RuntimeError: no conversion available from CNY to EUR for May 4th, 2019
結果は自動的に通貨の種類に応じて丸められます。注意:ユーロとドルによって間接的に元の間の為替レートは、評価日(ときevaluationDate
)の為替レートが利用できない日は、システムが文句を言うでしょう。