Rollover is a MANUAL process to move from expiring Futures contract to the next one (eg from ESH21 to ESM21) and it must be performed on every PC where you have installed Overcharts because it involves the local database.
Enabling the Rollover Management in the instrument configuration saves you from:
- manually changing symbol in the instrument configuration or adding new futures contract to instrument list when the current contract expires
- losing historical data of old contract, keeping it available for your analyzes
It is NOT mandatory to enable Rollover Management in a Futures instrument
If Rollover Management is NOT enabled, simply when current contract expires::
- you will change the instrument symbol and perform a database cleanup. You need to clean up the database to avoid having incorrect historical data
- or you will add the new contract to instrument list from Overcharts main window > Instruments Tab > Add Instrument
In Overcharts many preconfigured futures instruments already have Rollover Management enabled. DO NOT modify the configuration of preconfigured instruments!
How to enable Rollover Management #
To enable Rollover Management in an instrument where it is NOT enabled, follow these steps:
1) Access instrument configuration (Overcharts main window> Instruments Tab)
2) Select Manage Rollover
3) Edit symbol while keeping only the symbol fixed part (root). Eg Fixed part of ESM21 is ES
4) Set correct Futures Symbol Format **
5) Set correct Expiration Rule **
** Futures Symbol Format and Expiration Rule are FUNDAMENTAL parameters to dynamically construct futures symbol.
If these properties are not set correctly, the futures symbol will be incorrect and NOT recognizable by data-feed. Consequently you will NOT receive any data and you will NOT be able to trade.
Instrument symbol MUST always coincide with the symbol used by data-feed to identify the instrument. If you have any doubts about the symbol, refer to the official application of your data-feed and/or ask their support.
Futures Symbol Format:
- There are many preconfigured Futures Symbol Formats in Overcharts. If in the futures-symbol-format list you do not find the correct futures-symbol-format (very rare case), then create a new one from Overcharts main window > Instruments Tab > Futures Symbol Format.
- When choosing the Futures Symbol Format, pay close attention to expiration months of the futures contract and letters used to identify them. For example, in the symbol ESM21 the letter M represents the contract expiration month (in this case June).
- When choosing the Futures Symbol Format, pay close attention to the number of digits used to represent the year. For example, in the symbol ESM21 the year is expressed with 2 digits, while in the symbol ESM1 the year is expressed with a single digit. The choice of using 1 or 2 digits depends on data-feed. Double-check the number of digits your data-feed uses to identify the year in a futures symbol.
Expiration Rule:
- Expiration Rule contains all rules to calculate the OFFICIAL expiration date of the futures contract.
- There are many preconfigured Expiration Rules in Overcharts. If in the Expiration Rule list you do not find the correct Expiration Rule (very rare case), then create a new one from Overcharts main window > Instruments Tab > Expiration Rules.
How to perform the Rollover #
For futures with Rollover Management enabled in their configuration, you need to MANUALLY perform one of the following operations when current contract expires:
1) Reset Current Contract
or
2) Perform full Rollover procedure
Both methods perform a futures rollover, but only the second method allows you to keep the historical data of expiring contract
Full Rollover procedure must be performed BEFORE current contract expires. If performed later, it will NO longer be possible to automatically retrieve expired contract data and perform the backfill, i.e. a data download to fill the historical series.
Reset Current Contract #
Reset Current Contract PERMANENTLY deletes all historical data in the instrument local database and resets the instrument to the contract you selected.
Reset Current Contract if:
- current contract has already expired
- you are NOT interested in keeping the old contract historical data
- historical series in the local database is fragmented and therefore not usable for your analyzes
- you simply want to manually set the instrument current contract (any one even without respecting the expiry order)
Follow these steps to reset the current contract:
1) From Overcharts main window > Instruments Tab, select instrument to reset
2) Right click > Reset Current Contract, or press Reset Contract button
3) Select the right contract + expiration
4) Press OK
Full Rollover #
Perform Full Rollover procedure if:
- current contract has NOT expired yet
- you are interested in keeping the old contract historical data
- historical series in local database is NOT fragmented or can be recovered via backfill (data download performed automatically by Rollover procedure)
Follow these steps to perform full rollover:
1) Start ALL data-feed connections involved in the rollover process. If you do not start connections you will NOT be able to backfill the historical series and price information will not be automatically retrieved
2) From Overcharts main window > Instruments Tab, select instrument/s to rollover
3) Press Rollover button or, if you need to rollover only one instrument: Right Click > Rollover
4) If you have not selected all instruments before entering the Rollover window, you can select them now
Select all instruments to rollover and press Next.
5) If you have followed all above instructions correctly, the procedure will automatically retrieve all necessary information:
If some grid cells are highlighted in red, it means value contained in the cell is incorrect or absent. The relative error message is shown in the grid below or by hovering over the cell in error.
In case of errors:
- make sure you are connected to data-feeds
- check contract containing errors has NOT expired. If it has expired, DO NOT proceed with full rollover and Reset Current Contract instead
Grid columns and their meanings:
Name: instrument name/description (NOT editable)
Current Symbol: current-contract symbol (NOT editable)
New Symbol: new-contract symbol. The procedure automatically set new symbol. The field is editable, but unless you really need it (very rare case), DO NOT modify it. To set the contract to your liking the correct procedure to use is Reset Current Contract and not full Rollover
Current Expiry: expiry date of current contract (NOT editable)
New Expiry: expiry date of new contract (NOT editable)
Suggest Rollover Date based on: contains rule the procedure should use to automatically calculate the rollover date.
You have two choices:
1) Rollover date is calculated by comparing Volume and/or Open-Interest of old contract with corrisponding values of new contract and coincides with the date where the Volume and/or Open-Interest of new contract is greater than the Volume and/or Open-Interest of old contract for x days
2) Rollover date coincides with the expiration date of old contract minus x days
Rollover Date: is the transition date from the old to new contract. In local database, data prior to or equal to rollover date will be the old contract data. Data following the rollover date will be the new contract data.
You can change/set the rollover date according to your preferences, respecting some simple rules:
- MUST be within the weekly trading session (if trading session is from MON to FRI, the rollover date CANNOT be Saturday or Sunday!)
- MUST be less than the current date (today)
- MUST be less than or equal to expiration date of old contract (usually it is ALWAYS ‘less then‘)
Backfill: specifies the maximum number of days for downloading the old-contract data in order to avoid any gaps in the historical series.
- Set value to No Backfill to NOT download the data (not recommended unless it has been set automatically by the procedure).
- Set value to No Tick Time-Frame to download all time frames except 1-Tick. Useful if your data-feed has limits on amount of data you can download in terms of gigabytes per week, or if you do not care about 1-Tick time frame.
Important: 1-Tick time frame is fundamental for all volume analysis indicators such as Volume Profile, Volume Ladder, Volume Delta etc. or for the construction of some types of charts and resolutions (tick, contract, range-bar etc.)
Price of expiring contract: is the close or settlement price of expiring contract on rollover date
Price of new contract: is the close or settlement price of new contract on rollover date
Offset: is the difference between [New-contract Price] – [Expiring-contract Price]. It can be both negative and positive.
Offset is a very important value and is used by rollover procedure to adjust the old-contract data to new one by adding a value (offset) to all old-contract prices
You can set Prices and Offset columns as you wish, or set Offset only and set price columns to zero.
The important value is the Offset: price columns are used by procedure ONLY to calculate the Offset column
Once you have set all grid properties correctly, proceed by pressing Next button.
Warning messages may appear due to backfill settings. You are free to decide whether to continue or further modify the properties.
6) In this last step the procedure will first download the data (which could take a long time) and then the rollover.
Undo Last Rollover #
If at the end of rollover you find some anomaly in the data (maybe you made some mistake in setting some properties eg Offset), you can undo last rollover performed by re-entering the Rollover window:
1) FromOvercharts main window > Instruments Tab, select instrument/s to undo
2) Press Rollover button or, if you need to undo only one instrument: Right Click > Rollover
3) If you have not selected all instruments before entering the Rollover window, you can select them now
4) Press Undo Last Rollover button
5) Check carefully the selected instruments, then confirm by pressing OK and answering the security questions
Once the undo is complete, you will be able to rollover again.