Announcement

Collapse
No announcement yet.

Partner 728x90

Collapse

Continuous Contracts – Rolling Live…

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Continuous Contracts – Rolling Live…

    Hi Guys,

    I need some help getting my head around continuous contracting and have a few questions.

    1. Please explain how the Continuous Contracting is done on a Live Chart with a Strategy Running Live? Assuming I have a Strategy that uses Merged Contracts to calculate its indicators (e.g. 200 days required) and uses the current contract to place orders…

    1a. On roll date for example, does NT adjust all the historical data, pull in the entire history for the ##-## contract again or do nothing and I have to go to the Historical Data Manager and manually pull in the entire history for each ##-## at expiry?

    1b. Taking the above example, can I have NinjaScript automatically calling the next contract (to place trades on) once the ##-## expires, or does the script need to explicitly state the contract.

    2. Please explain what criteria are used to determine the roll-dates for Merged contracts (e.g. Volume, Volume + OI, first trigger, second trigger)?

    3a. On the one hand it appears that NinjaTrader calls the Continuous Contracts from the data-provider (e.g. Kinetic or eSignal), as evidenced by the difference in availability of ##-## contracts between providers.

    On the other hand NinjaTrader provides both Contract Roll-Over Dates and back-adjusting Offsets under the following…
    Tools >> Instrument Manager >> Instrument Editor >> Misc >> Contract months…
    This indicates that back-adjusting is done locally (i.e. on my machine), however, when I go to Historical Data Manager to download a ##-## contract the individual contracts are not pulled in, indicating that the contract is sourced from the vendor. This raises the following sub-questions.

    3b. Considering NT sources ##-## data from vendors and the roll-date and offset are in NT, does this mean that if we modify these NT will pull in our own custom format Continuous Contracts?

    3c. Can I update Roll Over Expiries via NinjaScript and have the Merged contracts roll on the date I set via the script. If so, how?

    3d. Can I update the Back-Adjust Offsets via NinjaScript and set the Offsets for the Back-Adjusting of contracts. If so, how?

    3e. Considering all this stuff is in NT, when will NT incorporate it’s own back-adjuster.

    I look forward to your answers and please correct any misunderstandings I may have.

    Regards,

    #2
    Hello Aspirant,
    Thanks for your post.

    To clarify further are you specifically referring to the continuous contracts like (ES ##-##) or the normal contracts (like ES 12-12) with the data merge adjusted.

    I look forward to assisting you further.
    JoydeepNinjaTrader Customer Service

    Comment


      #3
      Hi Joydeep,

      Interesting point. I think many of us would appreciate clarity here.

      Yes, when I speak of Continuous Contracts I was speaking of the ##-## contracts, but if there is a difference between for example ES ##-## and ES 12-12 Merge-BackAdjusted I would appreciate the enlightenment in relation to my previous questions.

      I must admit I have noticed inconsistency between these two formats and would appreciate knowing the specifics of such. For example,

      1. Is the MergeBackAdjusted ES 12-12 created on my machine, your servers or the data-vendor?
      2. Is the ES ##-## created on my machine, your servers or the data-vendor?
      3. What are the differences at roll? (e.g. offset being applied live)
      4. What are the difference in my ability to control the roll and offset?

      Comment


        #4
        Hello Aspirant,
        Thanks for the clarification.

        1. Is the MergeBackAdjusted ES 12-12 created on my machine, your servers or the data-vendor?
        It is calculated locally.

        2. Is the ES ##-## created on my machine, your servers or the data-vendor?
        It is as provided by your data provider.

        3. What are the differences at roll? (e.g. offset being applied live)
        If you make any change to the instruments then we recommend to restart NinjaTrader so that the change could be effective.

        4. What are the difference in my ability to control the roll and offset?
        You can change the rollover date and the offset. The data will be simply calculated at the configured value.


        I am answering the below considering you are referring to the ##-## contracts.

        1. Please explain how the Continuous Contracting is done on a Live Chart with a Strategy Running Live? Assuming I have a Strategy that uses Merged Contracts to calculate its indicators (e.g. 200 days required) and uses the current contract to place orders…
        You cannot place live trades in the continuous contracts. To please a live trade you have to use the regular contracts (like ES 12-12).

        1a. On roll date for example, does NT adjust all the historical data, pull in the entire history for the ##-## contract again or do nothing and I have to go to the Historical Data Manager and manually pull in the entire history for each ##-## at expiry?
        For continuous contracts it would depend entirely depends how your connectivity provider provides the data.

        1b. Taking the above example, can I have NinjaScript automatically calling the next contract (to place trades on) once the ##-## expires, or does the script need to explicitly state the contract.
        As I said you cannot place live trace to the ##-## contracts. You dont need to adjust anything for the ##-## contracts. Data will be as provided by your data feed provider.

        2. Please explain what criteria are used to determine the roll-dates for Merged contracts (e.g. Volume, Volume + OI, first trigger, second trigger)?
        Volume is the key factor in determining the rollover dates.

        3a. On the one hand it appears that NinjaTrader calls the Continuous Contracts from the data-provider (e.g. Kinetic or eSignal), as evidenced by the difference in availability of ##-## contracts between providers.

        On the other hand NinjaTrader provides both Contract Roll-Over Dates and back-adjusting Offsets under the following…
        Tools >> Instrument Manager >> Instrument Editor >> Misc >> Contract months…
        This indicates that back-adjusting is done locally (i.e. on my machine), however, when I go to Historical Data Manager to download a ##-## contract the individual contracts are not pulled in, indicating that the contract is sourced from the vendor. This raises the following sub-questions.

        3b. Considering NT sources ##-## data from vendors and the roll-date and offset are in NT, does this mean that if we modify these NT will pull in our own custom format Continuous Contracts?
        The rollover dates etc are for the regular contracts only. If you set the merge policy to MergeBackAdjusted or MergeNonBackAdjusted then NinjaTrader will set the merge policy using the rollover dates and the offsets as per.

        3c. Can I update Roll Over Expiries via NinjaScript and have the Merged contracts roll on the date I set via the script. If so, how?

        3d. Can I update the Back-Adjust Offsets via NinjaScript and set the Offsets for the Back-Adjusting of contracts. If so, how?
        Dont think you will be able to do it via an indicator or a strategy.

        3e. Considering all this stuff is in NT, when will NT incorporate it’s own back-adjuster.
        For continuous contracts it would depend if your connectivity provider lets you do so. For example in Kinetick (live) account connection you can choose if the data will be back adjusted or not.
        • In Control Center menu bar goto Tools>Account Connections..
        • In the Account Connections dialog choose Kinetick and click on the Change button.
        • In the Connection Options dialog click on Next 2 Times and check on the option "Use back adjusted data"
        • Click Next and Finish.
        JoydeepNinjaTrader Customer Service

        Comment


          #5
          Thanks Joydeep,

          Posting 2 Response.
          1. Is the MergeBackAdjusted ES 12-12 created on my machine, your servers or the data-vendor?
          [J] It is calculated locally.

          [A] Then why doesn’t this work on many of the contracts in the Instrument List? Between eSignal and Kinetick I subscribe to every instrument in the instrument list (and some), yet many of the contracts do no MergeBackAdjusted if requested (i.e. they only provide the current contract back to the last roll).

          Is this because the roll dates and offset for the MergeBackAdjusted contracts are provided by your (NT) servers and you only provide this for a small subset of instruments? If so, could you please provide me with a list of the instruments you do support for MergeBackAdjusted?

          2. Is the ES ##-## created on my machine, your servers or the data-vendor?
          [J] It is as provided by your data provider.

          [A] Understood, this aligns with my observations, but I am curious as to why so many instruments do not support MergeBackAdjusted from the Current Contract. I would have thought if you have a back-adjuster on your server providing contract rolls and offset you could just as easily run that across all instruments. What is the issue there?

          3. What are the differences at roll? (e.g. offset being applied live)
          [J] If you make any change to the instruments then we recommend to restart NinjaTrader so that the change could be effective.

          [A] Although your response does not answer my question I find it extremely disturbing. Consider I’m trading 50+ instruments globally and a U.S. instrument is rolling, so I have to restart NinjaTrading mid-session for Europe or Asia so that any change can be effected…

          [A] Anyway, to my question. “What are the differences AT roll?” Consider ES 12-12 is expiring today and ES 03-13 is to become the front month. What will happen to the data for ES 12-12 (MergeBackAdjusted) and ES ##-## given I am using eSignal?

          [A] Will the history be offset locally, or will it be re-downloaded with the new offset, or will I have to do this manually?

          [A] AND are these events/actions any different depending on whether I’m using ES 12-12 (MergeBackAdjusted) or ES ##-##?

          Quote:
          4. What are the difference in my ability to control the roll and offset?
          [J] You can change the rollover date and the offset. The data will be simply calculated at the configured value.

          [A] Okay, let me clarify the question. I understand I can change the roll and offset, but I don’t know what those effect. Do the roll and offset settings ONLY pertain to the individual contracts (e.g. ES 12-12 MergeBackAdjusted) or do they also cover the ##-## contracts, as eSignal allow you to set these.


          Posting 1 Response.
          1. Please explain how the Continuous Contracting is done on a Live Chart with a Strategy Running Live? Assuming I have a Strategy that uses Merged Contracts to calculate its indicators (e.g. 200 days required) and uses the current contract to place orders…
          [J] You cannot place live trades in the continuous contracts. To please a live trade you have to use the regular contracts (like ES 12-12).
          [A] I already know this. This is why I stated “and uses the current contract to place orders…”

          1a. On roll date for example, does NT adjust all the historical data, pull in the entire history for the ##-## contract again or do nothing and I have to go to the Historical Data Manager and manually pull in the entire history for each ##-## at expiry?
          [J] For continuous contracts it would depend entirely depends how your connectivity provider provides the data.

          [A] Can you give me an example of how this works with either eSignal and/or Kinetick please.

          1b. Taking the above example, can I have NinjaScript automatically calling the next contract (to place trades on) once the ##-## expires, or does the script need to explicitly state the contract.
          [J] As I said you cannot place live trace to the ##-## contracts. You dont need to adjust anything for the ##-## contracts. Data will be as provided by your data feed provider.

          [A] Let me ask the question again. Can I have NinjaScript automatically calling the next INDIVIDUAL CONTRACT (to place trades on) when the ##-## rolls (i.e. if I am using the ##-## contract as an indicator)? Put another way, do I need to explicitly state the contract name in the strategy or can I dynamically call the Individual Contract.


          2. Please explain what criteria are used to determine the roll-dates for Merged contracts (e.g. Volume, Volume + OI, first trigger, second trigger)?
          [J] Volume is the key factor in determining the rollover dates.
          [A] What do you mean by “key?” There are other factors? What are they and how are they used?
          [A] So, is Volume used in both the ##-## and MergeBackAdjusted Individual Contracts?

          Comment


            #6
            Hello Aspirant,
            [A] Then why doesn’t this work on many of the contracts in the Instrument List? Between eSignal and Kinetick I subscribe to every instrument in the instrument list (and some), yet many of the contracts do no MergeBackAdjusted if requested (i.e. they only provide the current contract back to the last roll).
            It may not work with many eSignal tickers (particularly non-US instruments) due to the way eSignal appends the symbol and how NinjaTrader downloads the data.


            [A] Although your response does not answer my question I find it extremely disturbing. Consider I’m trading 50+ instruments globally and a U.S. instrument is rolling, so I have to restart NinjaTrading mid-session for Europe or Asia so that any change can be effected…
            We recommend restarting NinjaTrader after any changes made in the instruments. Unfortunately this is expected.

            [A] Anyway, to my question. “What are the differences AT roll?” Consider ES 12-12 is expiring today and ES 03-13 is to become the front month. What will happen to the data for ES 12-12 (MergeBackAdjusted) and ES ##-## given I am using eSignal?
            ES ##-## and ES 12-12 are different instruments. if you are watching ES ##-## the data will be flowing as provided by your provider. You wont get any data for ES 12-12 and you have to manually rollover to ES 03-13 contracts.


            [A] Okay, let me clarify the question. I understand I can change the roll and offset, but I don’t know what those effect. Do the roll and offset settings ONLY pertain to the individual contracts (e.g. ES 12-12 MergeBackAdjusted) or do they also cover the ##-## contracts, as eSignal allow you to set these.
            http://kb.esignal.com/article.aspx?article=4794&p=1
            It will affect the ES 12-12 contracts only. Not the ES ##-## contracts.

            [A] Can you give me an example of how this works with either eSignal and/or Kinetick please.
            The data merge etc is managed by your connectivity provider for the continuous contracts. NinjaTrader does not manages anything for the continuous contracts.


            [A] Let me ask the question again. Can I have NinjaScript automatically calling the next INDIVIDUAL CONTRACT (to place trades on) when the ##-## rolls (i.e. if I am using the ##-## contract as an indicator)? Put another way, do I need to explicitly state the contract name in the strategy or can I dynamically call the Individual Contract.
            Unfortunately not.

            [A] What do you mean by “key?” There are other factors? What are they and how are they used?
            [A] So, is Volume used in both the ##-## and MergeBackAdjusted Individual Contracts?
            No, volume is the only factor. You can always change the rollover dates of an instrument as per your wish.

            For ##-## it is as merged by your data provider.
            JoydeepNinjaTrader Customer Service

            Comment


              #7
              Thanks Joydeep,
              I am getting a lot more clarity now.

              I am also getting a clarity of terms here where the ##-## is termed a Continuous Contract, whereas the Merged Individual Contracts are called “Merged Contracts.”

              Quote: (Re: Merged Contracts)
              [A] Then why doesn’t this work on many of the contracts in the Instrument List? Between eSignal and Kinetick I subscribe to every instrument in the instrument list (and some), yet many of the contracts do no MergeBackAdjusted if requested (i.e. they only provide the current contract back to the last roll).
              [J] It may not work with many eSignal tickers (particularly non-US instruments) due to the way eSignal appends the symbol and how NinjaTrader downloads the data.

              [A2] Now I’m confused. We’re talking about the individual contracts using a policy of MergeBackAdjusted here (e.g. multi-year ES 12-12). You have stated previously that this merge is done locally, which I presume means on my machine (i.e. not the NinjaTrader servers). If this merge is done on my machine using the data I have downloaded from my data-provider, how does this have anything to do with my data provider (i.e. the data provider is not involved in appending the symbol)? What am I missing here?

              [A2] You have stated that Volume is the only factor in determining the roll-date and obviously the premium or discount between contracts at roll determines the offset, therefore I can see no logical reason why they would not work for any contract where the data-provider is providing volume and price data for the instrument. Please clarify as to why NinjaTrader does therefore cannot achieve a simple “MergeBackAdjust” for any defined futures contract whether in the Symbol Universe or not?
              -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

              Quote:
              [A] Anyway, to my question. “What are the differences AT roll (between Merged and Continuous Contracts)?” Consider ES 12-12 is expiring today and ES 03-13 is to become the front month. What will happen to the data for ES 12-12 (MergeBackAdjusted) and ES ##-## given I am using eSignal?
              [J] ES ##-## and ES 12-12 are different instruments. if you are watching ES ##-## the data will be flowing as provided by your provider. You wont get any data for ES 12-12 and you have to manually rollover to ES 03-13 contracts.

              [A2] So for the sake of clarity, you are saying that if I am watching the ES ##-## contract live at roll
              a) - all the history on my computer will be adjusted by offset (or reloaded) and the ES 03-13 data will start coming in.
              a) - all the history on my computer will be reloaded (adjusted by roll offset) and the ES 03-13 data will start coming in.
              b) - ES ##-## will start streaming ES 03-13 data, but historical data will not be adjusted (unless I reload data).
              c) - ES ##-## will stop printing data until I restart NinjaTrader.

              [A2] Which is it?
              [A2] Thanks.

              -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
              Last edited by Aspirant; 12-14-2012, 12:22 AM.

              Comment


                #8
                Hello Aspirant,
                [A2] Now I’m confused. We’re talking about the individual contracts using a policy of MergeBackAdjusted here (e.g. multi-year ES 12-12). You have stated previously that this merge is done locally, which I presume means on my machine (i.e. not the NinjaTrader servers). If this merge is done on my machine using the data I have downloaded from my data-provider, how does this have anything to do with my data provider (i.e. the data provider is not involved in appending the symbol)? What am I missing here?

                [A2] You have stated that Volume is the only factor in determining the roll-date and obviously the premium or discount between contracts at roll determines the offset, therefore I can see no logical reason why they would not work for any contract where the data-provider is providing volume and price data for the instrument. Please clarify as to why NinjaTrader does therefore cannot achieve a simple “MergeBackAdjust” for any defined futures contract whether in the Symbol Universe or not?
                To clarify locally means it is merged by NinjaTrader and not by your datafeed provider (like the continuous contracts).

                Not all contracts are able to display the merged continuous contracts due to the fact the way eSignal appends the symbol name. The are not compatible with the LOGIC in which NinjaTrader merges the data.

                Say for example data provider normally appends the symbol as:
                <Symbol> <Month><Year>

                And NinjaTrader logically process the merge function as per.

                However some symbols are appended as
                <Symbol> <Year><Month>

                In such scenario the merge action will fail as NinjaTrader will fail to retrieve the symbol.

                The above is an hypothetical example only to illustrate the scenario.


                ES ##-## will start streaming ES 03-13 data, but historical data will not be adjusted (unless I reload data).
                You will witness the above scenario.
                JoydeepNinjaTrader Customer Service

                Comment

                Latest Posts

                Collapse

                Topics Statistics Last Post
                Started by Gerik, Today, 09:40 AM
                1 response
                6 views
                0 likes
                Last Post NinjaTrader_Gaby  
                Started by RookieTrader, Today, 09:37 AM
                1 response
                10 views
                0 likes
                Last Post NinjaTrader_ChelseaB  
                Started by alifarahani, Today, 09:40 AM
                0 responses
                5 views
                0 likes
                Last Post alifarahani  
                Started by KennyK, 05-29-2017, 02:02 AM
                3 responses
                1,285 views
                0 likes
                Last Post NinjaTrader_Clayton  
                Started by AttiM, 02-14-2024, 05:20 PM
                11 responses
                186 views
                0 likes
                Last Post NinjaTrader_ChelseaB  
                Working...
                X