0

変動金利債券の価格を設定する場合、USDLibor クラスのインスタンスを操作し、指定された日付 (最後のリセット日から 2 営業日を差し引いた日付) を追加する必要があります。ただし、実行時に、指定された日付の修正が利用できないことをユーザーに伝える場合があります (間違った日付の修正を提供したことを意味します)。

USDLibor のインスタンスは、どの日付が正しいかをどのように認識しますか? これは、USDLibor が正しい日付を特定する問題を回避できるため、正しい日付を直接取得することでこの問題を解決できる可能性があるためです。

4

1 に答える 1

0

あなたが言ったように、修正日はリセット日の2営業日前です(ロジックの実装は、FloatingRateCoupon::fixingDate()確認したい場合はメソッドにあります)。

ただし、間違った営業日を使用している可能性があります。USD LIBOR はロンドンで固定されているため、休日は米国のカレンダーではなく、英国のカレンダーに従って決定されます。

いずれにせよ、債券を構築したら、次のような方法でキャッシュフロー自体に修正日を尋ねることができます (これはテストしていないため、コンパイルすらできない可能性がありますが、アイデアを得る必要があります)。

using namespace QuantLib;

Leg cashflows = bond.cashflows();
std::vector<Date> fixingDates;
for (Size i=0; i<cashflows.size(); ++i) {
    boost::shared_ptr<FloatingRateCoupon> coupon =
        boost::dynamic_pointer_cast<FloatingRateCoupon>(cashflows[i]);
    if (coupon)
        fixingDates.append(coupon->fixingDate());
}

その後、fixingDatesベクトルには (当然のことながら) 固定日が含まれます。

于 2015-07-01T13:54:11.283 に答える