QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
bibor.cpp
1/* -*- mode: c++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3/*
4 Copyright (C) 2018 Matthias Groncki
5
6 This file is part of QuantLib, a free-software/open-source library
7 for financial quantitative analysts and developers - http://quantlib.org/
8
9 QuantLib is free software: you can redistribute it and/or modify it
10 under the terms of the QuantLib license. You should have received a
11 copy of the license along with this program; if not, please email
12 <quantlib-dev@lists.sf.net>. The license is also available online at
13 <http://quantlib.org/license.shtml>.
14
15 This program is distributed in the hope that it will be useful, but WITHOUT
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17 FOR A PARTICULAR PURPOSE. See the license for more details.
18*/
19
20#include <ql/indexes/ibor/bibor.hpp>
21#include <ql/time/calendars/thailand.hpp>
22#include <ql/time/daycounters/actual360.hpp>
23#include <ql/time/daycounters/actual365fixed.hpp>
24#include <ql/currencies/asia.hpp>
25
26namespace QuantLib {
27
28 namespace {
29
30 BusinessDayConvention BiborConvention(const Period& p) {
31 switch (p.units()) {
32 case Days:
33 case Weeks:
34 return Following;
35 case Months:
36 case Years:
37 return ModifiedFollowing;
38 default:
39 QL_FAIL("invalid time units");
40 }
41 }
42
43 bool BiborEOM(const Period& p) {
44 switch (p.units()) {
45 case Days:
46 case Weeks:
47 return false;
48 case Months:
49 case Years:
50 return true;
51 default:
52 QL_FAIL("invalid time units");
53 }
54 }
55
56 }
57
58 Bibor::Bibor(const Period& tenor,
60 : IborIndex("Bibor", tenor,
61 2, // settlement days
63 BiborConvention(tenor), BiborEOM(tenor),
64 Actual365Fixed(), h) {
65 QL_REQUIRE(this->tenor().units()!=Days,
66 "for daily tenors (" << this->tenor() <<
67 ") dedicated DailyTenor constructor must be used");
68 }
69
70}
Actual/365 (Fixed) day count convention.
Bibor(const Period &tenor, const Handle< YieldTermStructure > &h={})
Definition: bibor.cpp:58
Shared handle to an observable.
Definition: handle.hpp:41
base class for Inter-Bank-Offered-Rate indexes (e.g. Libor, etc.)
Definition: iborindex.hpp:35
Thai baht.
Definition: asia.hpp:227
Thailand calendars
Definition: thailand.hpp:68
BusinessDayConvention
Business Day conventions.
Definition: any.hpp:35