Calendars Overview - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Calendar-related Commands in the Finance Package

 

Overview

Examples

Western-Style Calendars

See Also

Overview

The Financial Modeling package supports over 20 calendars which include New York, London, Tokyo and Toronto stock exchanges. In addition, the package provides tools for creating new calendars and manipulating already existing calendars.  Here is the list of related commands.

 

AddHoliday

-

add a holiday to the given calendar

AdjustDate

-

adjust a non-business day according to the given convention

AdvanceDate

-

advance a non-business day according to the given convention

Calendar

-

create new business calendar

DayOfWeek

-

 return the day of the week on which the given date falls

IsBusinessDay

-

check if a given date is a business day according to a given calendar

IsEndOfMonth

-

check if a given date corresponds to the end of a month according to a given calendar

JoinBusinessDays

-

create a new calendar obtained by joining business days of the given two calendars

JoinHolidays

-

create a new calendar obtained by joining holidays of the given two calendars

IsHoliday

-

check if a given date is a holiday according to a given calendar

 

Examples

Here are some examples.

 

restart;withFinance:

 

For example, to check whether the 3rd of September, 2007 is a holiday according to the New York Stock Exchange.

 

IsHolidaySep-03-2007,NewYork;

true

(2.1)

You can adjust this date using one of several supported business day conventions.

 

FinanceAdjustDateSep-03-2007,NewYork,convention=Following;

Sep-04-2007

(2.2)

FinanceAdjustDateSep-03-2007,NewYork,convention=Preceding;

Aug-31-2007

(2.3)

FinanceAdjustDateSep-03-2007,NewYork,convention=Unadjusted;

Sep-03-2007

(2.4)

Determine on what day of the week the 3rd of September, 2007 falls.

 

DayOfWeekSeptember 03, 2007;

Monday

(2.5)

In the next example you will create new calendar data structure and add holidays to this calendar.

 

C1Calendar;

C1:=moduleend module

(2.6)

IsHolidayAug-18-2006,C1;

false

(2.7)

 

Add two holidays to this calendar.

 

AddHolidayC1, Aug-18-2006;

AddHolidayC1,Aug-19-2006;

 

Now August 18, 2006 is a holiday in the new calendar.

 

IsHolidayAug-18-2006,C1;

true

(2.8)

 

Construct another calendar.

 

C2CalendarToronto;

C2:=moduleend module

(2.9)

 

Construct two new calendars based on the ones we already have: one obtained by joining holidays, and the other one obtained by joining business days from the two preceding calendars.

 

C3JoinHolidaysC1,C2;

C3:=moduleend module

(2.10)

C4JoinBusinessDaysC1,C2;

C4:=moduleend module

(2.11)

AdjustDateAugust 18, 2006,C1,convention=Following;

August 20, 2006

(2.12)

AdjustDateAugust 18, 2006,C2,convention=Following;

August 18, 2006

(2.13)

AdjustDateAugust 18, 2006,C3,convention=Following;

August 21, 2006

(2.14)

AdjustDateAugust 18, 2006,C4,convention=Following;

August 18, 2006

(2.15)

 

The calendars constructed earlier can now be passed to other routines from the package. These routines will perform date adjustments in accordance with the specified calendars.

 

SetEvaluationDateJuly 10, 2006;

December 8, 2006

(2.16)

schedule1:=ScheduleJuly 18, 2006,September 18, 2006,Monthly,calendar=C1;

schedule1:=moduleend module

(2.17)

benchmark:=BenchmarkRate1,Months,EURIBOR,0.05;

benchmark:=moduleend module

(2.18)

IRS1:=InterestRateSwap100,benchmark,schedule1,0.05,schedule1,0.0;

IRS1:=moduleend module

(2.19)

CashFlowsIRS1,paying;

.466839741785402273 on 'August 20, 2006',.384298182901438634 on 'September 18, 2006'

(2.20)

schedule2:=ScheduleJuly 18, 2006,September 18, 2006,Monthly,calendar=C2;

schedule2:=moduleend module

(2.21)

IRS2:=InterestRateSwap100,benchmark,schedule2,0.05,schedule2,0.;

IRS2:=moduleend module

(2.22)

CashFlowsIRS2,paying;

.453078103598340831 on 'August 18, 2006',.398050398536189787 on 'September 18, 2006'

(2.23)

schedule3:=ScheduleJuly 18, 2006,September 18, 2006,Monthly,calendar=C3;

schedule3:=moduleend module

(2.24)

IRS3:=InterestRateSwap100,benchmark,schedule3,0.05,schedule3,0.;

IRS3:=moduleend module

(2.25)

CashFlowsIRS3,paying;

.466839741785402273 on 'August 21, 2006',.384298182901438634 on 'September 18, 2006'

(2.26)

Western-Style Calendars

Bratislava Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st

– 

Epiphany, January 6th

– 

Good Friday

– 

Easter Monday

– 

May Day, May 1st

– 

Liberation of the Republic, May 8th

– 

SS. Cyril and Methodius, July 5th

– 

Slovak National Uprising, August 29th

– 

Constitution of the Slovak Republic, September 1st

– 

Our Lady of the Seven Sorrows, September 15th

– 

All Saints Day, November 1st

– 

Freedom and Democracy of the Slovak Republic, November 17th

– 

Christmas Eve, December 24th

– 

Christmas, December 25th

– 

St. Stephen, December 26th

• 

References

– 

Bratislava Stock Exchange

Budapest Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st

– 

Epiphany, January 6th

– 

Good Friday

– 

Easter Monday

– 

May Day, May 1st

– 

Liberation of the Republic, May 8th

– 

SS. Cyril and Methodius, July 5th

– 

Slovak National Uprising, August 29th

– 

Constitution of the Slovak Republic, September 1st

– 

Our Lady of the Seven Sorrows, September 15th

– 

All Saints Day, November 1st

– 

Freedom and Democracy of the Slovak Republic, November 17th

– 

Christmas Eve, December 24th

– 

Christmas, December 25th

– 

St. Stephen, December 26th

• 

References

– 

Budapest Stock Exchange

Copenhagen Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

Maundy Thursday

– 

Good Friday

– 

Easter Monday

– 

General Prayer Day, 25 days after Easter Monday

– 

Ascension

– 

Whit (Pentecost) Monday

– 

New Year's Day, January 1st

– 

Constitution Day, June 5th

– 

Christmas, December 25th

– 

Boxing Day, December 26th

• 

References

– 

Copenhagen Stock Exchange

Frankfurt Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st

– 

Good Friday

– 

Easter Monday

– 

Labour Day, May 1st

– 

Christmas' Eve, December 24th

– 

Christmas, December 25th

– 

Christmas Holiday, December 26th

– 

New Year's Eve, December 31st

• 

References

– 

Frankfurt Stock Exchange

Helsinki Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st

– 

Epiphany, January 6th

– 

Good Friday

– 

Easter Monday

– 

Ascension Thursday

– 

Labour Day, May 1st

– 

Midsummer Eve (Friday between June 18-24)

– 

Independence Day, December 6th

– 

Christmas Eve, December 24th

– 

Christmas, December 25th

– 

Boxing Day, December 26th

• 

References

– 

Helsinki Stock Exchange

Johannesburg Securities Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st (possibly moved to Monday)

– 

Good Friday

– 

Family Day, Easter Monday

– 

Human Rights Day, March 21st (possibly moved to Monday)

– 

Freedom Day, April 27th (possibly moved to Monday)

– 

Workers Day, May 1st (possibly moved to Monday)

– 

Youth Day, June 16th (possibly moved to Monday)

– 

National Women's Day, August 9th (possibly moved to Monday)

– 

Heritage Day, September 24th (possibly moved to Monday)

– 

Day of Reconciliation, December 16th (possibly moved to Monday)

– 

Christmas December 25th

– 

Day of Goodwill December 26th (possibly moved to Monday)

• 

References

– 

Johannesburg Securities Exchange

Milan Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st

– 

Good Friday

– 

Easter Monday

– 

Labour Day, May 1st

– 

Assumption, August 15th

– 

Christmas' Eve, December 24th

– 

Christmas, December 25th

– 

St. Stephen, December 26th

– 

New Year's Eve, December 31st

• 

References

– 

Milan Stock Exchange

London Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st (possibly moved to Monday)

– 

Good Friday

– 

Easter Monday

– 

Early May Bank Holiday, first Monday of May

– 

Spring Bank Holiday, last Monday of May

– 

Summer Bank Holiday, last Monday of August

– 

Christmas Day, December 25th (possibly moved to Monday or Tuesday)

– 

Boxing Day, December 26th (possibly moved to Monday or Tuesday)

• 

References

– 

London Stock Exchange

New York Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st (possibly moved to Monday if falls on Sunday)

– 

Martin Luther King's birthday, third Monday in January (since 1998)

– 

Presidents' Day (a.k.a. Washington's birthday), third Monday in February

– 

Good Friday

– 

Memorial Day, last Monday in May

– 

Independence Day, July 4th (moved to Monday if falls on Sunday or Friday if falls on Saturday)

– 

Labor Day, first Monday in September

– 

Thanksgiving Day, fourth Thursday in November

– 

Presidential election day, first Tuesday in November of election years (until 1980)

– 

Christmas, December 25th (moved to Monday if falls on Sunday or Friday if falls on Saturday)

– 

Special historic closings

• 

References

– 

New York Stock Exchange

Oslo Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

Holy Thursday

– 

Good Friday

– 

Easter Monday

– 

Ascension

– 

Whit(Pentecost) Monday

– 

New Year's Day, January 1st

– 

May Day, May 1st

– 

National Independence Day, May 17th

– 

Christmas, December 25th

– 

Boxing Day, December 26th

• 

References

– 

Oslo Stock Exchange

Prague Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st

– 

Easter Monday

– 

Labour Day, May 1st

– 

Liberation Day, May 8th

– 

SS. Cyril and Methodius, July 5th

– 

Jan Hus Day, July 6th

– 

Czech Statehood Day, September 28th

– 

Independence Day, October 28th

– 

Struggle for Freedom and Democracy Day, November 17th

– 

Christmas Eve, December 24th

– 

Christmas, December 25th

– 

St. Stephen, December 26th

• 

References

– 

Prague Stock Exchange

Stockholm Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

Good Friday

– 

Easter Monday

– 

Ascension

– 

Whit(Pentecost) Monday

– 

Midsummer Eve (Friday between June 18-24)

– 

New Year's Day, January 1st

– 

Epiphany, January 6th

– 

May Day, May 1st

– 

National Day, June 6th

– 

Christmas Eve, December 24th

– 

Christmas Day, December 25th

– 

Boxing Day, December 26th

– 

New Year's Eve, December 31th

• 

References

– 

Stockholm Stock Exchange

Sydney Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st

– 

Australia Day, January 26th (possibly moved to Monday)

– 

Good Friday

– 

Easter Monday

– 

ANZAC Day. April 25th (possibly moved to Monday)

– 

Queen's Birthday, second Monday in June

– 

Bank Holiday, first Monday in August

– 

Labour Day, first Monday in October

– 

Christmas, December 25th (possibly moved to Monday or Tuesday)

– 

Boxing Day, December 26th (possibly moved to Monday or Tuesday)

• 

References

– 

Sydney Stock Exchange

Tokyo Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st

– 

Bank Holiday, January 2nd

– 

Bank Holiday, January 3rd

– 

Coming of Age Day, second Monday in January

– 

National Foundation Day, February 11th

– 

Vernal Equinox

– 

Greenery Day, April 29th

– 

Constitution Memorial Day, May 3rd

– 

Holiday for a Nation, May 4th

– 

Children's Day, May 5th

– 

Marine Day, third Monday in July

– 

Respect for the Aged Day, third Monday in September

– 

Autumnal Equinox

– 

Health and Sports Day, second Monday in October

– 

National Culture Day, November 3rd

– 

Labor Thanksgiving Day, November 23rd

– 

Emperor's Birthday, December 23rd

– 

Bank Holiday, December 31st

• 

References

– 

Tokyo Stock Exchange

Toronto Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st (possibly moved to Monday)

– 

Family Day, third Monday of February

– 

Good Friday

– 

Easter Monday

– 

Victoria Day, the Monday on or preceding May 24th

– 

Canada Day, July 1st (possibly moved to Monday)

– 

Provincial Holiday, first Monday of August

– 

Labour Day, first Monday of September

– 

Thanksgiving Day, second Monday of October

– 

Remembrance Day, November 11th

– 

Christmas, December 25th (possibly moved to Monday or Tuesday)

– 

Boxing Day, December 26th (possibly moved to Monday or Tuesday)

• 

References

– 

Toronto Stock Exchange

United Kingdom General

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st (possibly moved to Monday)

– 

Good Friday

– 

Easter Monday

– 

Early May Bank Holiday, first Monday of May

– 

Spring Bank Holiday, last Monday of May

– 

Summer Bank Holiday, last Monday of August

– 

Christmas Day, December 25th (possibly moved to Monday or Tuesday)

– 

Boxing Day, December 26th (possibly moved to Monday or Tuesday)

• 

References

– 

United Kingdom General

United States Bond Market

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st (possibly moved to Monday if falls on Sunday)

– 

Martin Luther King's birthday, third Monday in January

– 

Presidents' Day (a.k.a. Washington's birthday), third Monday in February

– 

Memorial Day, last Monday in May

– 

Independence Day, July 4th (moved to Monday if falls on Sunday or Friday if falls on Saturday)

– 

Labor Day, first Monday in September

– 

Columbus Day, second Monday in October

– 

Veterans' Day, November 11th (moved to Monday if falls on Sunday or Friday if falls on Saturday)

– 

Thanksgiving Day, fourth Thursday in November

– 

Christmas, December 25th (moved to Monday if falls on Sunday or Friday if falls on Saturday)

United States General

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st (possibly moved to Monday if falls on Sunday, or to Friday if falls on Saturday)

– 

Martin Luther King's birthday, third Monday in January

– 

Presidents' Day (a.k.a. Washington's birthday), third Monday in February

– 

Memorial Day, last Monday in May

– 

Independence Day, July 4th (moved to Monday if falls on Sunday or to Friday if falls on Saturday)

– 

Labor Day, first Monday in September

– 

Columbus Day, second Monday in October

– 

Veterans' Day, November 11th (moved to Monday if falls on Sunday or to Friday if falls on Saturday)

– 

Thanksgiving Day, fourth Thursday in November

– 

Christmas, December 25th (moved to Monday if falls on Sunday or to Friday if falls on Saturday)

• 

References

– 

United States General

Warsaw Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

Easter Monday

– 

Corpus Christi

– 

New Year's Day, January 1st

– 

May Day, May 1st

– 

Constitution Day, May 3rd

– 

Assumption of the Blessed Virgin Mary, August 15th

– 

All Saints Day, November 1st

– 

Independence Day, November 11th

– 

Christmas, December 25th

– 

2nd Day of Christmas, December 26th

• 

References

– 

Warsaw Stock Exchange

Wellington Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st (possibly moved to Monday or Tuesday)

– 

Day after New Year's Day, January 2nd (possibly moved to Monday or Tuesday)

– 

Anniversary Day, Monday nearest January 22nd

– 

Waitangi Day, February 6th

– 

Good Friday

– 

Easter Monday

– 

ANZAC Day, April 25th

– 

Queen's Birthday, first Monday in June

– 

Labour Day, fourth Monday in October

– 

Christmas, December 25th (possibly moved to Monday or Tuesday)

– 

Boxing Day, December 26th (possibly moved to Monday or Tuesday)

• 

References

– 

Wellington Stock Exchange

Zurich Stock Exchange

• 

Holidays

– 

Saturdays

– 

Sundays

– 

New Year's Day, January 1st

– 

Berchtoldstag, January 2nd

– 

Good Friday

– 

Easter Monday

– 

Ascension Day

– 

Whit Monday

– 

Labour Day, May 1st

– 

National Day, August 1st

– 

Christmas, December 25th

– 

St. Stephen's Day, December 26th

• 

References

– 

Zurich Stock Exchange

See Also

Cash Flow Analysis worksheet, Day Counters worksheet, Lattice Methods worksheet, Stochastic Processes worksheet, Term Structures worksheet