This sounds like a job for the Pipeline API! With Pipeline, you can rank and sort stocks to define your own custom tradable universe of securities. In Pipeline, you have access to historical pricing and fundamental data. There are also some sample algos here.
Regarding your questions on Fundamentals data, there is a description for all the fundamentals data fields here. Unfortunately there is no great way to compare a quarterly fundamental value to one from a year ago, but take a look at the algo posted here for a 'hack' solution that compares the current EPS to the previous quarter's EPS.
If you use Pipeline to implement your strategy, you won't need to worry about delisted stocks, OTC, or symbol changes. Behind the scenes, the delisted + OTC stocks will not make it through the filters that you listed (price, EPS growth, etc.), and securities are referenced by a security ID (SID) that takes care of any symbol changes for you. That being said, if you hold position in a security that becomes delisted, it stays in your portfolio. Technically, you can check if a security has stopped trading if you look at the
end_date attribute of the stock in data. However, this uses lookahead bias an does not translate to live trading. You're better off trying to develop a strategy that avoids holding position in companies likely to bankrupt. We realize that this is not a great solution, and we are working on developing a better one (for example, emptying your portfolio of delisted securities).
I hope this helps!
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 viikate. 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 viikate 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 viikate 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. viikate 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.