Expiry Calendar
An expiry calendar is used to calculate the last trading date, delivery dates and the conversion of absolute and relative futures contracts
Introduction
The expiry calendar is used with forward curves to calculate the last trading day and the delivery period of a financially traded contract. It uses expiry rules for date calculation which can be different for specific period code types.
Expiry Rules
An expiry rule is a set of instructions in English that are used to determine a date from a period code. There are a number of pre-defined words that can be used to describe the actions to take and these are described in detail below.
Each rule starts with the word go and the starting point for each calculation is the start of delivery for the period code the calculation is for.
Expiry rule syntax
The basic syntax for an expiry rule is as follows:
expiry: move (move|align)* (exception THEN (move|align)*)? ("for" periodcode)? (timelimit)?
move: (moverel|moveabs)
Relative movement
The syntax for a relative movement is as follows:
("then") "go" ("back"|"forward") t TIME ("using calendar")
TIME: ('day'|'days'|'week'|'weeks'|'month'|'months'|'quarter'|'quarters'|'season'|'seasons'|'year'|'years')
An example instruction to move back 1 day from the start of delivery using the trading calendar:
go back 1 day using calendar
Absolute movement
The syntax for an absolute movement is as follows:
("then") "go to the" ("beginning"|"end"|number suffix|lastday|"penultimate") "of the" ("previous"|"current"|"next")? TIME
lastday rule
last ([Mm]'onday'|[Tt]'uesday'|[Ww]'ednesday'|[Tt]'hursday'|[Ff]'riday'|[Ss]'aturday'|[Ss]'unday'|trading day)
'trading day' can only be used for delivery rules, e.g.
delivery starts on last trading day of the current month then go forward 2 days then align forwards
An example instruction to go to the end of the previous month:
go to the end of the previous month
Alignment
After each movement, you can optionally align the current calculated date using the following syntax:
("then")? ("align"|"align forwards")
An example instruction to go to the end of the previous month and then align to the trading calendar:
go to the end of the previous month then align
Rules for specific period codes
You can specify a period code type in the rule that will specify to use this rule specifically for those types of period codes, e.g
go to the end of the previous month then align for quarters