Back to Community
Feedback on Divergence function


Relatively new to Python and Quantopian.

Currently working on my first momentum strategy algorithm and I’m looking for feedback on the following set of functions (see attached Notebook) to spot divergences between a given indicator and its underlying security's price movement.

The divergence function returns the following:

  • Security's price action (higher highs, lower lows or None)
  • Whether a bullish/bearish divergence exists
  • Start date of divergence signal
  • Divergence high
  • Divergence low

Specifically looking for feedback on the following:

  1. Is there a better way to identify price action, specifically identify if prices are consolidating. Have a feeling my function would generate false signals when market is sideways

  2. Is there a better way to identify tops and bottoms? Experimented with scipy's find_peaks_cwt but wasn't satisfied with the results.

  3. Is there a simpler way to spot for divergences? I’ve looked at a couple of posts on Quantopian’s forum on the topic but none seemed to be satisfactory.

Any feedback is greatly appreciated!

Loading notebook preview...
1 response

Hi Usama,

If you haven't already, I'd recommend looking through the forum posts/lectures on mean reversion. Here's our lecture on mean reversion as applied to futures, a post demonstrating a few different variants on mean reversion, and a collection of academic work exploring different approaches to mean reversion. We also have a lecture on measuring momentum (and many posts on momentum in the forums!).


The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.