目录python
Index
类用于表示已知的指数或者收益率,例如 Libor 或 Shibor。这些指数或收益率的属性可能取决于若干个变量,如基础货币和期限。想象一下,一个交易员正在交易利率互换,浮动收益率定为 3 个月的 Shibor,他确定须要了解此收益率以及基于此收益率的互换合约的若干结算细节,一般来讲这些细节是固定不变的。ios
这些属性因期限而不一样,此外,还取决于相应的基础货币。幸运的是,用户没必要为大多数经常使用指数或收益率指定这些属性,由于它们在 QuantLib 中实现。函数
例如,用户能够经过 Shibor
类构造特按期限的 Shibor 利率。Shibor
类继承自 IborIndex
类(表示银行间市场收益率的基类), IborIndex
类又继承自 InterestRateIndex
类(表示指数和收益率的基类)。这些类提供了以下几个经常使用函数:spa
name()
:指数或收益率的名字fixingCalendar()
:指数或收益率使用的日历表dayCounter()
:指数或收益率使用的天数计算规则currency()
:指数或收益率对应的基础货币tenor()
:指数或收益率的期限businessDayConvention()
:如何调整非工做日目前版本的 quantlib-python 中没有封装 Shibor
类,只能在 C++ 中调用。rest
#include <iostream> #include <ql/indexes/ibor/shibor.hpp> #include <ql/time/period.hpp> using namespace std; using namespace QuantLib; void testingIndexes1(); int main() { testingIndexes1(); return 0; } void testingIndexes1() { Period tensor(3, Months); Shibor index(tensor); cout << "Name :\t" << index.familyName() << endl; cout << "BDC :\t" << index.businessDayConvention() << endl; cout << "End of Month rule ?:\t" << index.endOfMonth() << endl; cout << "Tenor :\t" << index.tenor() << endl; cout << "Calendar :\t" << index.fixingCalendar() << endl; cout << "Day Counter :\t" << index.dayCounter() << endl; cout << "Currency :\t" << index.currency() << endl; }
Name : Shibor BDC : Modified Following End of Month rule ?: 0 Tenor : 3M Calendar : China inter bank market Day Counter : Actual/360 Currency : CNY
在 QuantLib 中有若干类的构造函数须要这样一个指数或收益率对象做为输入参数,特别是和构造收益率曲线有关的类,须要收益率的确切属性。Index
类使得其余构造函数的定义更加紧凑。code