Going live and rolling of data

skaak's Avatar

skaak

02 Jun, 2010 09:18 AM via web

Hi there,

Thanks for the feedback, just a few comments from my side....

  1. I'd suggest you use rolled data in all cases. It gives the best idea of strategy performance and takes away the fumbling around expiry dates from the strategy builders...

  2. I'd suggest you change the rolling from the current backward adjustment to a forward adjustment. Thus the most distant contract is actual data and the most recent one is adjusted. This makes it easier when going live as no change is required to strategies.

  3. You can add all sorts of events around expiry and all sorts of parameters to control the rolling, but it just complicates things. If you do 1 and 2 then there is no need for these, although you could levy a certain rolling cost on a strategy around the rolling date just to make sure you get the performance correct.

  4. Also, if you do 1 and 2 then you can simply add a new message to an instrument, getAdjustmentFactor or something like that, which gives the current adjustment factor and which, if applied to the current open, high, low and close, will give the current contract's actual open, high low and close. This only for those who need the actual data, which I suppose will be few. The only thing with jumps in it will be this getAdjustmentFactor.

  5. Behind the scenes I'd suggest you treat the rolling almost as you treat execution cost - it is a fixed and given and unseen thing. Then, maybe based on contract or based on currency, you roll say 3 days before expiry, but the strategy is unaware of it or at most sees a fee added to it on that date as in 3 above.

  6. You already calculate adjustment factors, so the same approach can be used when rolling in practise. Thus if you calculate the adjustment factor as the average of the 3 days prior to expiry, you implicitly roll during those 3 days. To keep it simple, maybe pick just one time, say on the open three days before expiry, and roll on that. If you do 5, then you can not roll using an average and in real live this will in any event be the situation.

  7. If all else fails, you can just ignore the rolling and work with market data. It will not make a big difference on the contracts you trade (although locally, where interest rates are higher, it does make an impact). But going live you still need to roll, so 7 is far from ideal.

Thanks

PS : Is it just me or is there a significant performance boost in the latest version when working with minute data?

  1. Support Staff 2 Posted by Mathieu on 07 Jun, 2010 08:44 AM

    Mathieu's Avatar

    Hi Skaak,

    You are making good points here. We will have a planning day today, and will take your comments into account.

    Thank you very much for your feedback, it is well appreciated,

    Mathieu

  2. Mathieu closed this discussion on 07 Jun, 2010 08:44 AM.

  3. Support Staff 3 Posted by Eric on 07 Jun, 2010 08:47 AM

    Eric's Avatar

    Regarding performance: we haven't done any particular work on this area in the last 2 releases (though we did in the one before that, maybe 4 weeks ago). So in theory, there is no particular performance boost. Maybe you got lucky with cache or something like that.

    Eric

  4. skaak re-opened this discussion on 07 Jun, 2010 03:41 PM

  5. 4 Posted by skaak on 07 Jun, 2010 03:41 PM

    skaak's Avatar

    ----- Message from
    ***@tenderapp.com ---------
         Date: Mon, 7 Jun 2010 01:46:16 -0700
         From: Mathieu
    <***@tenderapp.com>
    Reply-To: ***@algodeal.com
      Subject: Re: Going live and rolling of data [General Public Discussion]
           To: ***@ferra4funds.com

    Thanks - the more I think about it the more sense it makes.

    If you have the rolling factor available, even if only behind the
    scenes, you can apply that to the rolled data, round to the nearest
    tick size multiple, and execute at the actual market level. Thus while
    the strategy uses the smooth, rolled data to signal, the trades are
    executed at actual market levels. Rolling creates some event that adds
    a bit of cost and that is it. All current strategies will change
    potentially due to the change in data, but the effect will be minimal
    and the pain is needed to prepare for a seamless going live later on.
    Anyhow, I'll monitor this and the website for feedback on the
    planning....

    Regards

  6. 5 Posted by skaak on 07 Jun, 2010 03:43 PM

    skaak's Avatar

    ----- Message from
    ***@tenderapp.com ---------
         Date: Mon, 7 Jun 2010 01:49:36 -0700
         From: Eric
    <***@tenderapp.com>
    Reply-To: ***@algodeal.com
      Subject: Re: Going live and rolling of data [General Public Discussion]
           To: ***@ferra4funds.com

    Must be the version change, it has been quite a while since I last
    touched 1m data. The time improved from 20-30m to 1-2m a shot!

    Thanks

  7. Mathieu closed this discussion on 09 Jun, 2010 04:37 PM.

Comments are currently closed for this discussion. You can start a new one.