In Advances in Financial Machine Learning, Marcos Lopez de Prado talk about what he call the ETF Trick. I understand it is about building a time series from another time serie, with the aim to reflect the value invested. It is built taking different costs into accounts, around discontinuities of the first time serie. As I understand it, it is like going out of the position before the discontinuities and looking what you can get after the discontinuities.

An associated exercice is to use the ETF trick on a E-mini S&P 500 futures tick data to 'deal with the roll'.

However : (1) the only data sources I can find for E-mini S&P 500 futures appears to be quoted in dollars. And (2) I am not sure to understand how this would work for a given time serie.

So how would that work here ?

  • 2
    $\begingroup$ It would be nice to include the description of "the trick".. $\endgroup$
    – LazyCat
    Feb 13, 2020 at 22:10
  • 1
    $\begingroup$ Maybe Jacques Joubert could please explain "the ETF trick" $\endgroup$
    – nbbo2
    Feb 14, 2020 at 14:55
  • $\begingroup$ @noob2 : you are right, code is avalaible here github.com/hudson-and-thames/research/blob/master/Chapter2/…, i didn't know they also implemented most answers to the questions at the back of the chapters of Advances in Financial Machine Learning. $\endgroup$ Feb 14, 2020 at 15:50
  • $\begingroup$ @LazyCat : updated my question a bit, not sure it is enough, will type the whole formula when I get back home. $\endgroup$ Feb 14, 2020 at 15:54
  • $\begingroup$ @Icrmorin Your link seems to be deprecated. Is there any link to an implemented version of the ETF Trick? $\endgroup$
    – Code Pope
    Aug 23, 2023 at 18:03

1 Answer 1


@lcrmorin, what they're describing in the github repo you linked to has to do with creating continuous time series from underlying futures contracts, it's not a 'trick' per se. This is also called spread-adjusting or dealing with futures roll spread. There are several ways to deal with it, back-adjusting probably being the most common but can result in a time series with negative prices. Also, forward or front-adjusting, where you start with the oldest contract and spread adjust toward the most recent contract. You can also ratio-adjust to better preserve the underlying return distribution.

After deciding how you'll roll, you then need to decide the timing of the roll (last day of trading, using some combination of volume or OI to make the decisions, timing rules (eg, two weeks before expiration, etc)). There isn't really a 'right' way to do it, and there are pros and cons to each. The best method usually depends on what you're trying to do and personal circumstances.

This thread appears to talk about some of the implications and links to a few other resources that may be useful.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.