Fully automated futures trading

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

  1. Hi GAT,

    You have such a great product. I have a question: do you use in your software something else apart from python and C++? I mean, for example HTML, XML...?
     
    #541     Oct 10, 2016
  2. No just python (discounting the IB API wrapper into C++). I've learned and forgotten dozens of programming languages since I started programming in 1981, but I'm now firmly monolingual.

    GAT
     
    #542     Oct 10, 2016
  3. FCT

    FCT

    Hi GAT,

    Thanks for sharing! Really like your insights: to the point, honest, useful and, often, very funny. Love those little footnotes with dry, English comments! It's a privilege for all of us to interact with such an experienced quant veteran who is yet so humble.

    Now on to the questions:
    1) what would you see as your "edge" in these strategies? As in: why would a one-man show be able to consistently run at a Sharpe ratio of around 0.9 (or even higher)?
    2) what's on your research agenda for the next 12 months? I mean signal-wise (not refactoring of code).
    3) how would you test a (shorter) term mean-reversion strategy in futures? Bit of detail would be appreciated!

    Thanks again,
    FCT
     
    #543     Oct 12, 2016
  4. Thanks for the kind words

    1. I don't have any edge. I'm just picking up a diversified set of risk premia. I have no idea what Sharpe Ratio that will bring; it's mostly luck. Hopefully positive. Over say 10 years I'd be surprised if I earned less than a SR of 0.10. And equally surprised it was over 2.0.

    2. No research until 2017 -I have a book to finish.

    After that this is my own unstructured list. I'm posting it for interest, but if I get back 30 questions asking me to explain I'll probably ignore them.

    new factors (existing system):



    Trend following – build market list from base up

    Long run reversion to time series mean (all asset classes)

    Long run reversion of asset class to time series mean (all asset classes)

    fixed income steepness – bonds (carry and trend follow)

    cycles (cf financial hacker)

    long / short beta futures (buy low beta, sell high beta; risk adjusted)

    negative acceleration mean reversion futures (over bought / over sold)

    add vol of bonds / equities / etc as factor for other markets and self

    add yield curve shape and interest rate momentum as factor for other markets and self

    add other asset class momentum as factor for other markets and self

    long / short skew http://www.aut.ac.nz/__data/assets/pdf_file/0007/573154/A-Fernandez-Perez-Skewness_AUT-August_.pdf



    concepts:



    mean reversion trading: after stop re-establish entry when new equilibrium entered into

    single system that ecompasses everything, trend / carry as a factor

    bayesian conditional signals

    predicting vol: long term mean reversion / short term persistence, OHLC





    execution ideas:

    distinguish trades on urgency (stop or entry or planned exit)

    distinguish trades on passive or active default

    internal netting function for long and short term trades

    handling spreads / triples with no outright (fill “cheapest” market in absolute terms first)



    new system:



    fixed income steepness – STIR

    fixed income fly – bonds

    fixed income fly – STIR

    futures spreads / triples / etc – within asset class

    futures spreads / triples / etc – discovered correlations

    mean reversion futures (S/T)

    conditional vol trading (sell buy vol and futures / never go short vol)

    non linear factor model - spread structure, OHLC, volatility, robust across multiple markets (woodriff in schwager book)

    bridgewater (identify factors / drivers. Maybe assets or spreads)





    equities:



    Long / short beta equities

    Long / short equity sector momentum

    equity within sector mean reversion





    3. Shorter term mean reversion, the key thing to test is the execution. If mean reverting you can assume that normal open and closing trades are executed as limit orders [limit levels would be a function of the forecast] and pick up half the spread, if the price traverses the limit between prices in the history.

    I'd then assume that trades which hit a stop would cross the spread and trade as market orders. I'd include a delay to the latter, i.e. if I had hourly data I'd assume I traded at the worst of the first price that triggered my stop, and the price at the next hour. That should be conservative enough.

    GAT
     
    #544     Oct 12, 2016
    Eddy, tradrjoe and algo_fool like this.
  5. FCT

    FCT

    Brilliant, thanks a lot. Don't understand everything, but don't want to run the risk of being ignored either, so I'll count my blessings .

    One question, one remark:
    Q1: when giving weights to strategies, do you know of a way to take "actual track-record" vs "backtested-only" into account? I mean, suppose you add your new, backtested mean-reversion strategy. Your current set of strategies has run for > 2 years at a SR of 2. Even if the optimizer says 50-50, you would probably want to give weight to real track record, but how?
    R1: would it be interesting for you to add a long-only, risk parity type of futures portfolio to your existing mix?
     
    #545     Oct 13, 2016
  6. Q1

    I don't do this but an easy way to do it would be to double the weight of actual returns versus sim (given most people halve simulated sharpe ratios). If bootstrapping you could double the number of actual returns in the sampling distribution. So with 30 years backtest 1 year live your 1 year live would become 2 out of 31 years of data. It's a nice idea.

    R1

    Another good question.

    I actually used to do that. A few things stopped me. Firstly I already have long only allocation to bonds and equities via ETFs . Doing it in futures as well makes no sense.

    Secondly I'm not convinced that most other asset classes earn a positive risk premium over time just by being long -

    -FX is a random walk (and long only in FX IMM futures as I do is just short USD vs rest of the world)
    - other commodities keep pace with inflation but after the effect of rolling are flat or down
    - gold arguably is a flight to quality hedge (but then so is trend following generally) and again an inefficient hedge against hyper inflation.

    The only place I do this know is a short only allocation to vol, since that is a well known risk premium I'm not picking up anywhere else

    Thirdly very slow trend following will give you a long bias if something does go up over time.

    GAT
     
    #546     Oct 13, 2016
  7. FCT

    FCT

    Understood, thanks. Adjusting the bootstrap this way makes sense, but is a bit ad hoc. Unless there is a way to get to the "overweight factor". Thinking of it, Bayesians probably have something more formal (prior = backtest, then add data). But would need to work that out.

    On your cross-sectional signals: do you consider a wider ranking universe than trading universe? Even though you may trade (say) 5 stock indices, you'd still want to rank in the broad cross-section of (say) 24 developed markets. Agree?
     
    #547     Oct 13, 2016
  8. Bayesian: Yes you can do it that way, but all that provides is a formal framework you still have same fundamental problem of how much to weight your backtest vs live trading. It's a tricky one. If your backtest was entirely in sample then it's relatively easy to run some simulations and work out what your degradation is likely to be out of sample (I've got a table in chapter 4 of my book on that very subject). But if you've been a good boy (or girl) and fitted out of sample then there's no formula to work out how to weight these things.

    It comes down to experience and gut feel; I don't even know if someone has studied this effect. Most live trading records are too short to tell you anything meaningful about what degradation you should expect.

    Also it's not easy to break out the individual performance of different signals from live trading records assuming you aggregate them up to a single position (it is for markets but then I wouldn't want to use that data). So really an academic discussion.

    Cross section: No I just use the trading universe, so I'm always asset class neutral. There are pluses and minuses of each approach.

    GAT
     
    #548     Oct 13, 2016
  9. henner247

    henner247

    hey, I'm reading your book right now. I like it.
    I was just wondering... you mention that you risk-adjust your timeseries. So divide the price by its vol. Which volatility do you take there as the denominator? a 50d moving-sd? an EMWA?
    thx
     
    #549     Oct 14, 2016
  10. FCT

    FCT

    That
    Your book is on its way, just ordered.
    How do people typically break down performance into different signals? It's not trivial, as you also say, but funds must do this, isn't it?
     
    #550     Oct 14, 2016