Back

Standardized Unexpected Earnings

We've written a cool little Alpha Model, Standardized Unexpected Earnings (SUE), as an example of how you can incorporate Fundamental Data into your own Alpha Models. SUE is a measurement of the difference between a company's reported earnings per share (EPS) and its forecasted (expected) EPS, which is then scaled by the standard deviation of the difference. While our Fundamental Data library is extensive, we don't provide earnings expectations reports, and so the SUE Alpha Model attached below uses historical EPS instead. So, our SUE measures the growth of corporate EPS over the past 12 months, scaled by volatility.

The Alpha Model takes in a Coarse Universe of the top 1000 stocks according to Dollar Volume, and then extracts the necessary Fundamental Data for each security: most recent EPS, EPS from 12 months ago, and any EPS reported in between. This information then gets pumped into the Alpha's Update() method were we calculate each security's SUE ranking and emit insights according to whether we want to buy or sell (short) the security. We take a long position in the top 20 assets by SUE ranking and short the bottom 20, and while 20 is an arbitrary number, it allows for broader sector exposure and minimizes some risk by not over-concentrating our position in just a few securities.

One of the limitations with this model, however, is that it isn't very effective as a continuous-time Alpha. New earnings data for each company gets uploaded to the Fundamental Data library once it is reported and available via Morningstar, but an SUE ranking is better viewed as a snapshot of a company in time rather than an indicator that can be continuously updated. Additionally, this model could be improved if expected earnings and earnings release dates are available and can be imported as custom data, which would then allow the model to emit more continuous insights as new data flows in for individual companies. If this data is available, then the true SUE score of a company could be calculated.

Have a look below and let us know your thoughts! This is open-source and available to anyone who wants to use or expand upon it.

Update Backtest






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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.



0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


re: "Additionally, this model could be improved if expected earnings and earnings release dates are available and can be imported as custom data, which would then allow the model to emit more continuous insights as new data flows in for individual companies. If this data is available, then the true SUE score of a company could be calculated."

Having a data set with future expected earnings and earnings release dates is something I raised sometime ago but wasn't seen as important. This type of data can provide the basis for many types of strategies related to earnings releases such as pre-earnings, day of earnings and post-earnings strategies.

 

0

Thanks a lot Jack! And 100% agree with Ernest though I think QC is already working on that

Emilio

0

Hey Ernest, please don't see it as "but wasn't seen as important". Ouch. Honestly, we do take your requests seriously and are all working 12 hours a day, 5-6 days a week, there's just an enormous volume of basics to get right first before we extend deeper. The data you're mentioning is not free; so we need to find a vendor who can let us use it for a reasonable price - in backtesting and live trading... It's a hard challenge that just takes time. 

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


HI Jared - I didn't mean "not seen as important" as a negative criticism. As a developer I understand that tasks have to be prioritised so it was meant in that context. I understand that this type of data is not cheap but I'm hoping that with the scale of QC that this data could eventually be made available which will move QC further along the path of democratising finance :)

Thanks,
E.

0

self.month = self.Time.monthfineFilter = sorted(fine, key=lambda x: (x.EarningReports.BasicEPS.TwelveMonths > 0) and
(x.EarningReports.BasicEPS.ThreeMonths > 0), reverse=True)

 Looks like typo - LF is missing.
0

Update Backtest





0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Loading...

This discussion is closed