QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | List of all members
IMM Struct Reference

Main cycle of the International Money Market (a.k.a. IMM) months. More...

#include <imm.hpp>

+ Collaboration diagram for IMM:

Public Types

enum  Month {
  F = 1 , G = 2 , H = 3 , J = 4 ,
  K = 5 , M = 6 , N = 7 , Q = 8 ,
  U = 9 , V = 10 , X = 11 , Z = 12
}
 

Static Public Member Functions

static bool isIMMdate (const Date &d, bool mainCycle=true)
 returns whether or not the given date is an IMM date More...
 
static bool isIMMcode (const std::string &in, bool mainCycle=true)
 returns whether or not the given string is an IMM code More...
 
static std::string code (const Date &immDate)
 
static Date date (const std::string &immCode, const Date &referenceDate=Date())
 
static Date nextDate (const Date &d=Date(), bool mainCycle=true)
 next IMM date following the given date More...
 
static Date nextDate (const std::string &immCode, bool mainCycle=true, const Date &referenceDate=Date())
 next IMM date following the given IMM code More...
 
static std::string nextCode (const Date &d=Date(), bool mainCycle=true)
 next IMM code following the given date More...
 
static std::string nextCode (const std::string &immCode, bool mainCycle=true, const Date &referenceDate=Date())
 next IMM code following the given code More...
 

Detailed Description

Main cycle of the International Money Market (a.k.a. IMM) months.

Definition at line 35 of file imm.hpp.

Member Enumeration Documentation

◆ Month

enum Month
Enumerator

Definition at line 36 of file imm.hpp.

Member Function Documentation

◆ isIMMdate()

bool isIMMdate ( const Date d,
bool  mainCycle = true 
)
static

returns whether or not the given date is an IMM date

Definition at line 34 of file imm.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isIMMcode()

bool isIMMcode ( const std::string &  in,
bool  mainCycle = true 
)
static

returns whether or not the given string is an IMM code

Definition at line 55 of file imm.cpp.

+ Here is the caller graph for this function:

◆ code()

std::string code ( const Date immDate)
static

returns the IMM code for the given date (e.g. H3 for March 20th, 2013).

Warning:
It raises an exception if the input date is not an IMM date

Definition at line 70 of file imm.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ date()

Date date ( const std::string &  immCode,
const Date referenceDate = Date() 
)
static

returns the IMM date for the given IMM code (e.g. March 20th, 2013 for H3).

Warning:
It raises an exception if the input string is not an IMM code

Definition at line 125 of file imm.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nextDate() [1/2]

Date nextDate ( const Date d = Date(),
bool  mainCycle = true 
)
static

next IMM date following the given date

returns the 1st delivery date for next contract listed in the International Money Market section of the Chicago Mercantile Exchange.

Definition at line 164 of file imm.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nextDate() [2/2]

Date nextDate ( const std::string &  immCode,
bool  mainCycle = true,
const Date referenceDate = Date() 
)
static

next IMM date following the given IMM code

returns the 1st delivery date for next contract listed in the International Money Market section of the Chicago Mercantile Exchange.

Definition at line 189 of file imm.cpp.

+ Here is the call graph for this function:

◆ nextCode() [1/2]

std::string nextCode ( const Date d = Date(),
bool  mainCycle = true 
)
static

next IMM code following the given date

returns the IMM code for next contract listed in the International Money Market section of the Chicago Mercantile Exchange.

Definition at line 196 of file imm.cpp.

+ Here is the call graph for this function:

◆ nextCode() [2/2]

std::string nextCode ( const std::string &  immCode,
bool  mainCycle = true,
const Date referenceDate = Date() 
)
static

next IMM code following the given code

returns the IMM code for next contract listed in the International Money Market section of the Chicago Mercantile Exchange.

Definition at line 202 of file imm.cpp.

+ Here is the call graph for this function: