Fully automated futures trading

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

  1. Kernfusion

    Kernfusion

    Happy birthday Rob, best wishes! :)

    Yeah, adding new contracts is a lot of tedious work in my system too, probably no matter how you write that code, there's just a lot of things to do for each contract and then multiply it by 70+!

    Btw, with the new 100 contracts of minimum average daily volume, looks like mini-Copper (QC) is out, in your table it has only 54 contracts ?
    If I check CME, the most liquid expiration has between 100 and 400 daily volume, my system can probably hold up to 3 of these contracts (it most likely wouldn't buy all 3 on the same day but it might)., that means I'm risking to be up to 3% of daily trading volume.. Not sure how bad it is for such small orders, but I guess it's not good ?

    upload_2021-5-11_13-4-39.png
     
    Last edited: May 11, 2021
    #2711     May 11, 2021
  2. That's a good spot, thanks I'd missed that. Guess I'll be taking Copper out of the list of substitutes. For the record the others are:

    NYMEX MINY Light Sweet Crude Oil
    NYMEX MINY Natural Gas Index
    E-Micro Gold
    Mini KOSPI200 Index
    Micro E-Mini Nasdaq-100 Index
    Micro E-Mini S&P 500 Stock Price Index

    ... which I've doubled checked and all look fine.

    (Was a mistake to say performance was good. Dropped over 2% yesterday!)

    GAT
     
    #2712     May 12, 2021
    Kernfusion likes this.
  3. It will: on the days you roll over and have a maximum position size.
    Don't forget Murphy's law: anything that can go wrong, will go wrong.
     
    #2713     May 12, 2021
  4. #2714     May 12, 2021
  5. True but almost all the defaults are the ones I use: if I don't use them why would I recommend it?

    GAT
     
    #2715     May 12, 2021
  6. Kernfusion

    Kernfusion

    Agree. But even if I buy 3 contracts in something that has only 100 daily volume, why exactly is it bad., I guess because I'm risking to get a really bad execution?
    I mean it's not the same problem as when a big institution is trading 3% out of 3 million contracts daily volume and therefore can move the whole world market in that commodity..
    Probably the biggest worry in my case would be to get swindled by an HFT or another market maker because there's not enough competition in such a thin market and a single player can control the whole order-book...

    Btw, yeah, today seems to be one of these crazy days, the futures system is loosing, S&P is down by a lot too.. Even Bitcoin and gold are down :)
     
    Last edited: May 12, 2021
    #2716     May 12, 2021
  7. Elder

    Elder

    FWIW the reason I don't trade very low volume contracts despite my retail size is because I fear liquidity drying up completely when markets dislocate and everyone trying to rush for the same exit. Deep liquid markets also tend to dry up in such situations but they are more likely to have more diversification in terms of market views and trading goals so less likely to be all one way in times of crisis. I haven't scientifically tested this hypothesis but until I can firmly reject it I am not prepared to take the risk.
     
    #2717     May 12, 2021
  8. cholo

    cholo

    Hi all,

    Incredible thread you have here! I have read most of it during the last days and it has been really helpful, thanks!
    I'm a huge fan of Rob's work since I read Systematic Trading 3 years ago. I was head of a Quantitative Trading desk in the Proprietary Trading division of a bank back then and we redesigned all our strategies after I read Rob's book (increased diversification, avoid overfit, continuous signals...). We had trend following and carry rules, very similar to what Rob posted in the blog, but also we changed other type of strategies to fit into the framework.
    We had different types of cointegration strategies (intermarket and calendar spreads and triplets) and what we called "value" strategies (forecasts based in macro/econometric models). Also, we used a modified version of HRP to compute portfolio weights.

    I changed jobs a while back and in december I started to develop a similar system for trading my own money. Most of my problems have been related to get market data at a reasonable price. As I still work in a bank (but not directly in the trading desk), I have been categorized as professional investor and market data is ten times more expensive than what it costs to individual accounts.

    I hope I will be able to share some research once I have my system in a good status!

    Thanks,
    Cholo
     
    #2718     May 13, 2021
  9. blink18

    blink18

    @globalarbtrader I have one question on targeting risk. You said your risk target (volatility normalization) is 25% per instrument and your system checks positions every hour. Do you have a buffer of X% when you change position size of an instrument? Let's say:
    if (instrument_risk_target >=30 OR instrument_risk_target<=20) {
    change position size to target risk of 25%
    }

    This can be quite difficult with futures as they have high notional value, one solution is using micro futures. Costs can also be high if you often do this with many instruments...
     
    Last edited: May 13, 2021
    #2719     May 13, 2021
  10. I have a buffer, discussed already, but it doesn't work exactly like that (I assume what you mean, which you haven't written, as that I back out the expected risk for a given position and then work out if that is different from the target risk). For starters, the target risk will vary depending on the forecast, and won't be exactly 25% because of the diversification multiplier.

    What I actually do is compute a target position to achieve the required risk given forecasts, and then buffer around that position in position units; but the buffer is 10% of the position I'd have with an average forecast so it's effectively a buffer that's a fixed amount of risk: eg with 25% risk it would be effectively 22.5 - 27.5%. Buffers are calculated with decimal places and then rounded to nearest whole contract. For example:

    Code:
    Optimal vs actual
                                        current        optimal  breaks
    medium_speed_TF_carry SMI               2.0    1.614/1.725   False
    medium_speed_TF_carry SOYBEAN           2.0    2.032/2.335   False
    medium_speed_TF_carry V2X              -4.0  -4.118/-3.217   False
    medium_speed_TF_carry VIX              -1.0  -0.627/-0.538   False
    medium_speed_TF_carry WHEAT             1.0    0.931/1.117   False
    medium_speed_TF_carry BITCOIN           1.0    0.157/0.783   False
    
    I'm well aware of the issues with notional size and costs I've written several blog posts and book chapters on the subject...

    My portfolio is reasonably sized but actually I just introduced micro futures to get more granularity anyway (before when I had looked at them, the liquidity wasn't sufficient).

    GAT
     
    #2720     May 13, 2021
    blink18 likes this.