Category
Strategy Elements
Description
Symbol to use as the market date list for this strategy
Input
Any symbol in the current data file (does not require an extra $)
Notes
CalendarSym is only needed when a multi-strategy script includes strategies for different countries or for markets with different trading calendars.
An global date list is needed when evaluating formulas that don't have a specific symbol context, e.g. MaxPositions, MaxExposure, etc.
The global date list includes every date that has a bar for any stock in the data file.
Specifying CalendarSym replaces the default date list with a specific symbol's date list for this strategy only.
An example of the problem that this optional element solves:
•it is Tuesday morning and Monday was a US holiday
•your data file includes the symbol AUDUSD which has a bar for Monday
•the global date list therefore includes Monday's date
•your strategy uses a MaxPositions formula that varies depending on a US-index-based trend filter
•while trying to evaluate MaxPositions for Tuesday's trades, it sets the context to Monday's date, based on the global date list
•there is no Monday bar for US indices, so references to them return nan
•MaxPositions is therefore 0
Adding e.g. CalendarSym: $SPX to the strategy would resolve this issue.
(Importing with Padding: AllMarketDays would also resolve it but there may be reasons you don't want to do that.)
See also the general topic of Calendar Alignment.
|