Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Examining Short Term Reversals - Part 1 (Returns Data)

Hello to anyone interested!

This is a start of a series where I research and document my observations for the common Short Term Reversal Factor. The goal is to gain a deeper understanding around short term reversals and why they exist.

A few areas I am planning to explore:
- Returns calculated as percentage gain/loss (Part 1)
- Volume with variations of accumulation
- Volatility with standard deviation
- And more!

As a start, I have posted a notebook around the results I had with just daily returns.
If you don't want to dig through the notebook, the Original Source has a snapshot of the research.

4 responses

Hi Peng -

Note that Quantopian considers short-term reversals as a "risk" (and my understanding at this point is that they don't want this factor in their 1337 Street Fund, since they don't want it in algos submitted for allocations). I'd be interested in hearing from the Quantopian team if I've assessed their approach correctly.

Specifically, my understanding is that they are using the built-in RSI factor as a proxy for short-term reversal risk in their risk model. So, I suppose if any of the results posted above steer clear of it, then you might have something.

The other issue to watch out for is the turnover required to implement a short-term reversal strategy. The default slippage model is pretty harsh, and will eat into returns.

Hi Grant!

Thanks for the reminder! It's no surprise that short-term reversals are considered a "risk" nowadays. My intention here is to dig deeper into short-term reversals with different approaches, hopefully finding something that isn’t correlated to the common factor.

I also totally agree with the turnover issue. I’ve seen portfolio turnovers of over 80%+, and it definitely hurts the bottom line when applying slippage and commissions during backtesting.

You might try:

universe = (  
        AnnualizedVolatility(mask=QTradableStocksUS())  
        .percentile_between(80,95))  

See also:

https://www.quantopian.com/posts/enhancing-short-term-mean-reversion-strategies-1

percentile_between(80,95)) was used at https://www.quantopian.com/posts/new-contest-entry-trial, looked good. Tumbled with a 2014 start date though. Just saying to everyone, always try many start dates.

So imagine if Q set up for us to be able to submit a limited number of potential contest entries [per some time frame like one per month], as one last check where they would run it with 10 or 20 different start dates. After a day or so we would receive the results. We could then focus for further work on the worst.
Anyone can run multiple backtests in parallel using the same URL with different start dates (I've been using slight-difference multiple tabs same-url for a long time once I saw GK mention it ages ago). But setting up that many is tedious, most will not, and Q would be able to allocate more resources to the process.
Using that, they would benefit from better contest entries.