Your interactive trading laboratory!
 • 
14 users online

Quality Fundamental Data Source

What fundamental data source can someone recommend to use with Q for a mix of technical and fundamental modeling? The Q-Premium comes only with dividends (and splits). Upon a cursory examination, StockPups appears to be of low data quality and thus unusable. I'm willing to pay a reasonable fee for it. Thanks!

Attachment

Cancel

Responses

That would depend on 1) what you call a quality data source and 2) what data items are required for your model.

StockPup seems proud of how they maintain their data quality, could you clarify your opinion?

That would depend on 1) what you call a quality data source and 2) what data items are required for your model. StockPup seems proud of how they maintain their data quality, could you clarify your opinion?
  1. A quality data source is the one that keeps accurate fundamental data points in its database, maintains this database (e.g. if the company restates earnings, this has to be reflected), and quickly fixes discrepancies.
  2. What StockPup (SP) offers would be sufficient for now if the data quality were there.

As for an example of a data quality gap, let's look at Apple. Drop revenue and EPS on the chart. Examine calendar Q2, 2013. Apple reported $7.51 EPS that quarter. SP displays $10.16. Interestingly, if you download the Excel file from SP, it has the correct data point. Now look at the revenue for calendar Q4, 2018. It has only $84M. The Excel this time repeats the error. At this point I stopped digging, but am pretty sure there's more.

1) A quality data source is the one that keeps accurate fundamental data points in its database, maintains this database (e.g. if the company restates earnings, this has to be reflected), and quickly fixes discrepancies. 2) What StockPup (SP) offers would be sufficient for now if the data quality were there. As for an example of a data quality gap, let's look at Apple. Drop revenue and EPS on the chart. Examine calendar Q2, 2013. Apple reported $7.51 EPS that quarter. SP displays $10.16. Interestingly, if you download the Excel file from SP, it has the correct data point. Now look at the revenue for calendar Q4, 2018. It has only $84M. The Excel this time repeats the error. At this point I stopped digging, but am pretty sure there's more.

I would welcome a solid fundamental source as well. Reuters is great but they're tied to Metastock (and expensive). We need something better for Quantacula! Fortunately data providers written now will work seamlessly in QSV2, except if they had customized editors such as ASCII, in which case the editor will need to be recreated in WPF. That means if we can find a suitable provider and build an extension we're not wasting any effort.

I would welcome a solid fundamental source as well. Reuters is great but they're tied to Metastock (and expensive). We need something better for Quantacula! Fortunately data providers written now will work seamlessly in QSV2, except if they had customized editors such as ASCII, in which case the editor will need to be recreated in WPF. That means if we can find a suitable provider and build an extension we're not wasting any effort.

voron77 said: "As for an example of a data quality gap, let's look at Apple. Drop revenue and EPS on the chart. Examine calendar Q2, 2013. Apple reported $7.51 EPS that quarter. SP displays $10.16.."

As for the $84M revenue, it appears that before 2018 the figures had been reported as is (dollars) while later the number's got divided by thousand. I agree with you on that it makes the data highly non-uniform.

But I'm at a loss with regard to how you get the $10.16 figure. It's $7.51 for me:

> voron77 said: "As for an example of a data quality gap, let's look at Apple. Drop revenue and EPS on the chart. Examine calendar Q2, 2013. Apple reported $7.51 EPS that quarter. SP displays $10.16.." As for the $84M revenue, it appears that before 2018 the figures had been reported as is (dollars) while later the number's got divided by thousand. I agree with you on that it makes the data highly non-uniform. But I'm at a loss with regard to how you get the $10.16 figure. It's $7.51 for me:

Here it is.

Here it is.

@glitch: PremiumData is a respected data source and provides fundamentals for its Norgate product (requires a subscription and a plug-in). They develop plug-ins (the usual suspects are there – Ami, WL), but it seems a 3rd party development is possible (they list other integrations): https://norgatedata.com/ This would provide both fundamental and price data, so is somewhat duplicative of a Q Premium data source. They do provide historical prices all the way to 1950s for an additional fee. In any case, something to think about.

@glitch: PremiumData is a respected data source and provides fundamentals for its Norgate product (requires a subscription and a plug-in). They develop plug-ins (the usual suspects are there – Ami, WL), but it seems a 3rd party development is possible (they list other integrations): https://norgatedata.com/ This would provide both fundamental and price data, so is somewhat duplicative of a Q Premium data source. They do provide historical prices all the way to 1950s for an additional fee. In any case, something to think about.

Do you know what historical fundamentals they offer?

Do you know what historical fundamentals they offer?

I'm afraid I may have jumped the gun. Upon closer look at PD fundamental offering, it seems they provide only the current TTM/Fiscal year data, and not really a deep history/timeseries data.

I'm afraid I may have jumped the gun. Upon closer look at PD fundamental offering, it seems they provide only the current TTM/Fiscal year data, and not really a deep history/timeseries data.

@voron77: my chart is Monthly, your is Quartlerly, and the difference between the figures lies in Quantacula's logic of fundamental data compression. This may be intentional or there's a bug, but this discrepancy is not StockPup's fault.

@voron77: my chart is Monthly, your is Quartlerly, and the difference between the figures lies in Quantacula's logic of fundamental data compression. This may be intentional or there's a bug, but this discrepancy is not StockPup's fault.

Well, the data resolution is quarterly (as that's how it's reported to the Street). So I can't see why it would be intentional. Is it Q's bug then?

Well, the data resolution is quarterly (as that's how it's reported to the Street). So I can't see why it would be intentional. Is it Q's bug then?

The daily data points are:

  • 4/1/2013 = 10.16
  • 7/1/2013 = 7.51
  • 9/30/2013 = 8.31

"Examine calendar Q2, 2013. Apple reported $7.51 EPS that quarter. SP displays $10.16."

QS is showing 10.16 in that quarter because that was the last dated data point prior to the start of that quarter. In order for the 7.51 to be counted for Q2 it would need to have a date at the end of June, not the beginning of July. It's possible that the StockPup extension is misinterpreting the dates and should adjust them to get the correct result. I didn't write that extension personally but will be in touch with the author about this.

The daily data points are: * 4/1/2013 = 10.16 * 7/1/2013 = 7.51 * 9/30/2013 = 8.31 "Examine calendar Q2, 2013. Apple reported $7.51 EPS that quarter. SP displays $10.16." QS is showing 10.16 in that quarter because that was the last dated data point prior to the start of that quarter. In order for the 7.51 to be counted for Q2 it would need to have a date at the end of June, not the beginning of July. It's possible that the StockPup extension is misinterpreting the dates and should adjust them to get the correct result. I didn't write that extension personally but will be in touch with the author about this.

The date in StockPup's raw data for AAPL is June 29, Saturday. Q doesn't find a bar at that date (expectedly) and timestamps the fundamental item with the next trading day's date.

The date in StockPup's raw data for AAPL is June 29, Saturday. Q doesn't find a bar at that date (expectedly) and timestamps the fundamental item with the next trading day's date.

After analyzing the situation QS is placing the fundamental data point on the correct bar. Take the AAPL Q2 2013 for example. AAPL reported 7.51, and StockPup gives us that fundamental data point dated 6/29/2013. QS places the fundamental icon and the indicator value on the following bar, because the data was not available to the Q2 bar until after it was completed. It works like this to ensure that your model cannot cheat by peeking into the future. Now, internally, the FundamentalDataPoint is still dated 6/29/2013 so your model does have that information to work with. I think the confusion is the fact that the reported quarter actually appears as a data point on the following bar of the chart, but as explained this is by design.

After analyzing the situation QS is placing the fundamental data point on the correct bar. Take the AAPL Q2 2013 for example. AAPL reported 7.51, and StockPup gives us that fundamental data point dated 6/29/2013. QS places the fundamental icon and the indicator value on the following bar, because the data was not available to the Q2 bar until after it was completed. It works like this to ensure that your model cannot cheat by peeking into the future. Now, internally, the FundamentalDataPoint is still dated 6/29/2013 so your model does have that information to work with. I think the confusion is the fact that the reported quarter actually appears as a data point on the following bar of the chart, but as explained this is by design.

Fair enough. Now they need not to make 3 order of magnitude errors in revenue data, and I’d say they are good. Seriously, why not charge a monthly fee and maintain the database better?

Fair enough. Now they need not to make 3 order of magnitude errors in revenue data, and I’d say they are good. Seriously, why not charge a monthly fee and maintain the database better?
Forum Tips

Please sign in if you want to participate in our forum.

Our forum uses Markdown syntax to format posts.

To embed code snippets, enclose them in [CODE][/CODE] tags.