Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Dogs of the Dow

Here's a stab at the Dogs of the Dow strategy.

What's the Dogs of the Dow? Investing in the top 10 highest dividend yielding Dow stocks and hold them for a year. You can find out more about it here: www.dogsofthedow.com.

According to that site, the Dogs of the Dow strategy outperformed several indices from 2000-2014: Dog Years

I made a utility class to return a list of the 30 Dow stocks for a given datetime. Fundamentals are then queried attempting to extract the top 10 yielding stocks from this set. This is not 100% accurate and there exists some errors, but it was a good exercise in implementing a strategy. This algo rebalances once a year in January.

Some Problems:

  • What's the sid for SBC Communications back in 2002?
  • What's the sid for Kraft Foods Inc back in 2009?
  • Given a set of sids, how does one query for their fundamental data?
7 responses

(Deleted my original post because I forgot to attach the backtest)

Hi Jack,

Thanks for sharing this!

Addressing the problems you highlighted:
- The SID for SBC communications is 6653 (AT&T, symbol=T). It appears that we don't have a good way of handling the symbol change from SBC to T so it's difficult to find this using the sid() method's autocomplete function.
- I've attached some sample code that looks for fundamentals data of a list of SIDs

  • For Kraft Foods, similar to SBC, there was a symbol change to MDLZ (sid=22802) in 2012. However, upon digging into this, it turns out that we don't correctly handle the spinoff of Kraft Foods from Mondelez and as a result, the pre-spinoff prices of MDLZ are not correct. This is something that we're now looking into.

If you have any further questions, please let me know. Thanks again for sharing!

Disclaimer

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.

Thanks Jamie. Information updated, applied, and backtested.

Thanks, Jack. I am wondering why the backtest result is quite different from the paper said.

Does any one can comment on it?

At a quick glance, the top 10 picks from the backtester do not always match up with what was recorded on http://www.dogsofthedow.com/.

This may be due to pricing information missing or dividend yield data being different.

I was going to do a deep dive into this at a later date.

I noticed several times throughout the backtest that the portfolio had more than 10 positions. I fixed it to make sure it only kept 10 positions at a time.

Does anyone know why it might be possible that I was not able to swap out the stocks for etfs? I attempted to do this with a list of iShares MSCI Index Funds with no success. The program looped but didn't generate returns

The reason why the algo didn’t return the exact stocks is because there was a "mistake" in how the dividend yield was calculated.
Quantopian dividend data is correct, however in order to get the exact stocks of the "Dogs of the Dow strategy", we do not use the previous year dividend yield, but we use "forward_dividend_yield" instead. In practice, this is calculated by taking the last dividend amount (in dollars) and multiplying that by 4.

I don't really know why this is the reason. My best guess is that the strategy is based on the assumption that the dividend for each stock of the Dow for the current year will be, in dollar amount (not yield), at least as the last quarter of the previous year multiplied by 4 (since there are 4 quarters). In other words, since these are blue-chip stocks, they shouldn’t decrease the dividend, so that's why you take the "estimated" dividend yield for the current year, and not the actual dividend of the previous year.

Check my post if you'd like to help and see the improvements I've made on this algo:
https://www.quantopian.com/posts/the-dogs-of-the-dow