Understanding Backfill Policy |
A futures contract has a limited tenure and trading is the most in its near month contract only. For example most of the National Stock Exchange's future contracts are for 3 (three) months only and most of the trading takes place in the near month contracts only. This limited availability makes any analysis/backtesting difficult.
To overcome this limitation many datafeed provider/broker provides 'Continuous' futures data. ArthaChitra natively can also merge data from different expiries and build a continuous chart.
The below screenshot depicts a default chart of a future contract and its corresponding continuous contract chart.
How the data will be loaded depends on what backfill policy you choose while opening a chart (or applying a strategy or an indicator in the Market Scanner View etc). ArthaChitra has three backfill policies namely:
Rollover date lets ArthaChitra decide how much data from each expiry will be loaded while viewing a continuous contract. For example you are viewing a continuous chart from say 3rd October '15 to 3rd November '15. The data for the said chart spans 2 expiries. Lets say the expiries are defined in the Instrument Definition as:
Expiry Date | Rollover Date |
---|---|
26 Nov 2015 | 30 Oct 2015 |
29 Oct 2015 | 25 Sep 2015 |
In such scenario the chart will pull data from the Oct 15 series and Nov 15 series as
Series | From Date | To Date |
---|---|---|
Oct 2015 | 03 Oct 2015 | 29 Oct 2015 |
Nov 2015 | 30 Oct 2015 | 03 Nov 2015 |
Now say, there's hardly any volume in the Oct 15 series contract on 28 Oct 15 and 29 Oct 15 (traders have rollover to the next expiry and all the volume has shifted to the Nov 15 expiry) and you want to load the data for the said two dates from the Nov 15 expiry. In such scenario just set the rollover date for the Nov 15 series to 28 Oct 15. Now ArthaChitra will load the data as follows:
Series | From Date | To Date |
---|---|---|
Oct 2015 | 03 Oct 2015 | 27 Oct 2015 |
Nov 2015 | 28 Oct 2015 | 03 Nov 2015 |
ArthaChitra comes with a host of Rollovers natively. In case you want to define your own custom rollover you can easily create a Rollover Script to do so. Please refer here to know more.