Back

Historical fundamental data

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!

Update Backtest








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".

1

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,

Any update on the release?  :-)

 

0

Very very close :) All the coding is done; we're just preparing the data + daily update server now.

1

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.


Looking forwards to this. :)

0

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.

 

0

Also looking forward +1

0

Still looking for this :-)

 

0

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.

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.


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!!!!   

0

Is there an example to query fundamental data in Python? I can't find any. 

0

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.

 

 

1

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.


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? 

0

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. 

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 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[]

1

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. 

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