Hello,
I'm a bit stuck and was hoping for some help.
My trading algorithmn is heavily dependent on fundamental data. I was wondering if QuantConnect could compare equity fundamentals YoY or QoQ. Ex: if the backtest date is April 1st 2014, and you are looking at aapl, you would be able to compare the EPS for the most recent quarter relative to the same quarter a year previously.
I'd like to do this type of fundamental, time based comparison for lots of other fundamental data (Revenue, EBITA, etc...). Can QuantConnect support this?
Thanks!
Jared Broad
Almost! We're in the final stages now of adding fundamental data. We're been working on it for months :) Hopefully in the next month we'll have full universe selection based on fundamental data like what you're suggesting.
For now we just have coarse universe selection based on price / volume / indicators. This is documented under "Universes".
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.
Brian Miller
Hi Jared,
Any update on the release? :-)
Jared Broad
Very very close :) All the coding is done; we're just preparing the data + daily update server now.
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.
Petter Hansson
Looking forwards to this. :)
Walter Wasilev
I'm looking forward to this also. I have several very successful models on P123 and they require historic fundamental data. I would love to port them here and extend their capabilities.
Lucas Silva
Also looking forward +1
Brian Miller
Still looking for this :-)
Jared Broad
Its working in backtesting :) We're just quitely testing it before announcing it publicly. We'll have it wired up in live trading soon.
It is the counter part to a "coarse fundamental selection", called fine fundamental selection. You can see an example of it here.
AddUniverse( coarse => (from c in coarse orderby c.DollarVolume descending select c.Symbol).Take(50), fine => (from f in fine where f.ValuationRatios.PERatio > 10 select f.Symbol) );
You can view all the fields available on the Data Library page.
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.
Brian Miller
I'm really excited about using this. I've been learning the last day or so to get better aquainted with Linq.
The algorithmn I'm building compares multipel quarters of financial data and I'm trying to figure out how to put this in a linq query. Basically it is Current Quarter EPS is more than 20% greater than EPS 5 quarters previously. I'm not sure how to express this in a linq statement. Any thoughts? Thanks!!!!
Houman Dehghan
Is there an example to query fundamental data in Python? I can't find any.
Alexandre Catarino
Yes, there is an example at github: CoarseFineFundamentalComboAlgorithm. First, we add the Universe:
// In Initialize self.AddUniverse(self.CoarseSelectionFunction, self.FineSelectionFunction)
that we have defined previously:
# sort the data by P/E ratio and take the top 'NumberOfSymbolsFine' def FineSelectionFunction(self, fine): # sort descending by P/E ratio sortedByPeRatio = sorted(fine, key=lambda x: x.ValuationRatios.PERatio, reverse=True) # take the top entries from our sorted collection topFine = sortedByPeRatio[:self.__numberOfSymbolsFine] list = List[Symbol]() for x in topFine: list.Add(x.Symbol) return list
Please checkout working example. below.
Houman Dehghan
if you just change the number of coarse universe from 10 to 100 you would get a 'memory maxed out' runtime error. Is there anything I could do to avoid this?
Alexandre Catarino
Universe Selection with Fundamental data is memory consuming.
If you only have a community subscription with 1Gb of RAM, you will not be able to use a wide universe.
Sdoof
Hi Alex, when trying to run your script, I am getting this, do you know what is happening (and how to fix)?
Runtime Error: Python.Runtime.ConversionException: could not convert Python result to System.Object[]
Houman Dehghan
Is there a way to get weekly/monthly options data on the day of expiration? I think the current setup in the research notebook only allows the day before expiration.
Wu zheng
Jack Simonson
Hi Wu,
Unfortunately, it isn't possible to access Fundamental data in the OnData() method. If you have specific code in which you are trying to do this, you can post a backtest and, hopefully, the QuantConnect team or the community can come up with a clever hack to help you accomplish the goal of your algorithm.
Brian Miller
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.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!