Fully automated futures trading

Discussion in 'Journals' started by globalarbtrader, Feb 11, 2015.

  1. I don't recognise those figures but let's assume they are right

    The chart is the cumulative percentage return on my current capital. So 1.0 implies a 100% cumulated return. This wil be very similar, although not identical, to a log scale if I compounded my returns (which I do not, see below)

    I did indeed start with 300k in risk capital but my account balance was actually larger), but I've run with 400k fixed capital for some years now. I've never added money, I withdraw all my profits above the 'high water mark'.

    More explanation here

    Updated figures:
    My drawdown is 48k
    My notional capital is 400 - 48 = 352k
    My risk target is 25% * 352k = 88k
    My account value is 353k (I have a 'buffer' of just 1k nowadays)

    My accumulated profits are 684k (would have been 732k at high water mark)
    My total withdrawals are 801k, of which 732k is profits about the HWM and the rest reflections a reduction in my buffer size.

    Rob

    Rob
     
    #3191     Jan 24, 2022
  2. Kernfusion

    Kernfusion

    Been onboarding some new futures and Oat futures don't seem to have enough liquidity to use nearer contract for carry.
    E.g. right now I should be in May contract, and I should've rolled into it before Dec 14 (because Dec contract is carry for March contract and it expired on Dec 14)., but the May contract had lots of days with volumes 30-50 contracts in Dec 2021 and even days with only 8 contracts traded (e.g. Dec-13-2021 according to CME charts). So if I'm rolling, say, 2 contracts I'm risking to be 25% of the daily volume, though it's rare..
    If instead I use farther contract for carry (Jul-carry for May-price) I can start rolling into May much later, say after Feb 15th when volume should pick up and at least be above 100 contracts most of the days.
    It's just in pysystemtrade OATIES has "-1" for carry in the settings..
     
    Last edited: Feb 1, 2022
    #3192     Feb 1, 2022
  3. Kernfusion

    Kernfusion

    Also, looks like almost no one trades September Oats, there's very little volume in that month in general, instead all the volume is in Dec. so I'm thinking to exclude Sept from the roll cycle completely and make it HKNZ.
    https://www.barchart.com/futures/quotes/ZOU21/interactive-chart
    https://www.barchart.com/futures/quotes/ZOZ21/interactive-chart
     
    #3193     Feb 1, 2022
  4. Weird right now I'm seeing about the same volume and open interest in both September and December??

    March 2022: volume 69, Open interest 2011
    May 22, 910
    July 41, 261
    Sep 81, 288
    Dec 101, 278

    (Snapshotted volumes are as of now, will obviously grow through the day, and might not be reflective of the past)

    I'm currently in July, using May for carry.

    Code:
    ********************************************************************************
               Roll report report produced on 2022-02-02 08:53:01.750635           
    ********************************************************************************
    
    
    
    ===========================================================================================================================
                                                  Status and time to roll in days                                             
    ===========================================================================================================================
    
           carry_expiry contract_fwd contract_priced position_priced price_expiry roll_expiry   status volume_fwd volume_priced
    OATIES           99     20220900        20220700               0          161          71  No_Roll          1      0.498674
    
    Roll_exp is days until preferred roll set by roll parameters. Prc_exp is days until price contract expires, Crry_exp is days until carry contract expires
    Contract suffix: p=price, f=forward, c=carry
    Contract volumes over recent days, normalised so largest volume is 1.0
    
    ********************************************************************************
                                     END OF REPORT                                 
    ********************************************************************************
    
    
    
    ********************************************************************************
    Current State: RollState.No_Roll
    
    To be honest I don't look at the individual contract volumes when rolling, only this relative volume figure (which right now is telling me I'd be fine to roll if I wanted, since the next contract has twice the volume of the current); and then in my liquidity report I see if I should stop trading a particular instrument at all if it's volume has fallen too low (not the case for OATIES).

    I have an open mind on this, but I would need to be sure before changing my configuration since it would involve rewriting my historic price data and -1 is always preferred, as it gets you the more accurate carry signal.

    Rob
     
    #3194     Feb 2, 2022
  5. Kernfusion

    Kernfusion

    Yes, the numbers seem exactly as they are right now (I assume these volumes are for 02/01/2022)., but still, if you're currently in Jul and it only trades 41 contracts per day that's low and it's actually the final volume for that day, they didn't grow (as per BarChart data)

    https://www.barchart.com/futures/quotes/ZON22/price-history/historical

    upload_2022-2-2_10-45-30.png

    Dec contract would be too early to roll into I think even if we exclude Sept and and use "+1" for carry., with "+1" I would be in Mar right now., which has decent daily volumes:

    https://www.barchart.com/futures/quotes/ZOH22/price-history/historical
    upload_2022-2-2_10-50-0.png

    And After Feb 15 I'd start rolling into May, which is starting to pick up:
    upload_2022-2-2_10-54-48.png


    Maybe I'm missing something, but Jul does seem to have low volume right now., none of the recent days reached 100 contracts..

    Btw, Rough rice seem to have the same problem - not enough volume in particular contracts to use "-1" for carry..
     
    #3195     Feb 2, 2022
  6. Kernfusion

    Kernfusion

    #3196     Feb 2, 2022
  7. Sorry for the newbie question, but why do you trade July even if its spread is larger and volume is lower than March/May? Is it to better exploit the carry signal?
    [​IMG]
    Also, what do you mean by "using May for carry"? If I understand correctly, you compare May and July to get your carry signal, but you actually trade July, right?
    Thanks
     
    #3197     Feb 2, 2022
  8. Kernfusion

    Kernfusion

    My understanding is if you're using nearer contract for carry, then you have to be out of March/May (carry/price) before March expires because you need carry signal from the previous to your "price" contract (i.e. by Mar 14th)., but you can start "soft-rolling" into the next pair earlier when the volume of the next pair begins to pick up. I.e. if you're opening a new position it makes more sense to do it in the next period because you know that you'll be closing positions in the previous one soon anyway., i.e. you want to reduce the number of trades even though you might be trading not the most liquid contract sometimes..
    For example for the "red hard wheat" (people who come up with these names aren't without a sense oh humor that's for sure :) ) according to my schedule "soft-roll" period is Feb1-Mar13 during which new positions will be opened in Jul contract, but the existing positions in May will be allowed to exist till March 13 and will be forcefully rolled into May after.
     
    Last edited: Feb 2, 2022
    #3198     Feb 2, 2022
  9. I understand better know, thanks. So basically you are never going to trade the front month, since you'd miss your carry signal right?
    I do things a bit differently: I define carry looking at the slope of the whole term curve from front month to front month +12months (this way I try to avoid carry signals changing too frequently for commodities with high seasonality).
    The other difference is that I always trade the front/most liquid contract. I know that's sub-optimal (the curvature at the front of the curve may be quite different from the medium to long term parts), so what I'm planning to do is:
    - consider different term contracts as separate instruments. For example, now I only have ZO1 (rolling front); in the future I'll have ZO1, ZO2 (rolling nearby)... ZO5.
    - calculate a signal for each contract. In order to have a carry signal for each contract and to remove seasonal effects, I'm going to adjust the term curve (removing long term historical seasonal effects)
    - the allocation to each contract will depend on its signal, its trading costs, its volatility...
    Do you guys think this makes any sense?
     
    #3199     Feb 2, 2022
  10. Kernfusion

    Kernfusion

    if I use front for carry ("-1") - yes. But for some contracts it's not possible because of liquidity-patterns in that case I can trade front contract and use next for carry (though it's less preferable from the quality of carry signal perspective)..
    Not sure about the rest.. definitely more work :) (And let me vent a little here - new contract onboarding is such a pain! it took me a week to onboard just 6 instruments., it hurts to think that I need to do it for like 90 more.. I have automated rolls, so I have to make sure that I got everything right when I'm adding them, so need to check and re-check everything..)
     
    #3200     Feb 2, 2022