Skip to content
All library documents

Defining a Custom Telbor Index for Swap Valuation in QuantLib

Article Quant Q&A · Author: robin

Summary

The document asks whether QuantLib can support valuation of Israeli Telbor swaps when it does not provide a dedicated Telbor index class. The response explains that predefined index classes are convenience wrappers and that users can construct a suitable interbank offered rate index directly.

The proposed approach is to instantiate a generic IborIndex with the Telbor name, tenor, Israeli currency and calendar, plus the relevant fixing days, date conventions, day-count basis, and forecasting curve handle. The same design applies in C++. The answer leaves the market-specific conventions unspecified, noting that they must be researched and supplied by the implementer. It gives a way to define the index but does not show a complete swap valuation setup or establish the correct Telbor conventions.

Key ideas

  • A dedicated predefined Telbor index class is not required to model the index in QuantLib.
  • A generic interbank offered rate index can be configured with Telbor market details.
  • Fixing days, rolling conventions, end-of-month rules, day count, and the forecast curve must be supplied.
  • The document does not specify the correct Israeli market conventions or demonstrate full swap valuation.

Tags

Full text
# Does QuantLib have functionality to value ILS Telbor swaps?


# Does QuantLib have functionality to value ILS Telbor swaps?












I didn't find the ILS Telbor class in QuantLib website and also reference online. Please let me know if we can value such swaps using QuantLib. For example `ql.Euribor6M()`, `ql.GBPLibor(ql.Period('1M'))`, etc.

## Answer by Luigi Ballabio (score 2, accepted)

https://quant.stackexchange.com/a/72213

There's no predefined Telbor class, but those are just for convenience. You can define your index with:

```
telbor6m = ql.IborIndex(
    "Telbor",
    ql.Period(6, ql.Months),
    fixing_days,
    ql.ILSCurrency(),
    ql.Israel(),
    rolling_convention,
    end_of_month,
    day_counter,
    forecast_handle
)
```

I haven't researched what the fixing days and the other conventions are; you can fill them in. The same works in C++.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.