Back

Altman Z Score in Python

I created an Altman Z Score function in Python. I am sure their is a better way to do it, but you need Market Cap based off current stock price, so I derived it in a rather hacky way. Feel free to improve and use! The backtest is simply to show the Z score works, so take the rest with a grain of salt.

Thanks,

Aaron

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.


This is no longer working for me. Do you have an updated version by any chance?

0

I'm very much a struggling beginner but removing the leading 0 from month and day of start date and end date

and from searching other posts here in the forum regarding this or similar code you need to change the line(s)

self._changes = SecurityChanges.None to self._changes = Noneand do the same in the other two lines where self._changes is referenced.After that a backtest will run for me but hopefully others more experienced and wise can confirm if those changes are valid and all that is required
0

Thanks, Peter. You're definitely on the right track. While those changes will fix the compile time errors, there are a few runtime errors complaining about the TotalLiabilities.

I've tried to change the algorithm (see attached backtest) but the fine universe selection filters everything out (so no trades happen). My guess is line 60

x.FinancialStatements.BalanceSheet.TotalLiabilitiesAsReported.TwelveMonths

is incorrect. Anyone know the best way to get the outstanding liabilities of an equity?

0


Hi Edward,

Yes, you've found the correct line that is causing the issue. We've opened a data issue and our team is working on it to find a solution. You can track its progress here and test your code again once there is an update. Otherwise, if you comment out the offending line then the algorithm places trades as expected (see the attached 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.


how would the ZScore class do ranking instead of filtering?

 

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