Hi WLP Guru's,
The component,
GetFundamentalNames, seems to return a partial list of the fundamental items available. The code below generates a list of all of the items returned, and the output is shown below that. The first 69 items are from Morningstar, prefixed with:
[ms] and the next 14 are from the Fidelity Fundamental provider. The problem is that the Fidelity provider consists of 36 items not 14. So 22 items are missing. The list ends at 'employee'. Based on the Fundamental Data Guide the next item should be 'estimated earnings’.
Thanks for the help
CODE:
Please log in to see this code.
GetFundamentalNames returned the following number of names: 83
QUOTE:
[ms] Accounts Payable
-edited-
[ms] Working Capital
accounts payable
adjustment factor
all analyst ratings
analyst downgrade
analyst upgrade
assets
cash
cash dividends
common shares outstanding
common shares used to calculate eps diluted
dividend
earnings per share
ebit
employee
Size:
Color:
1. Try refreshing the fundamental data.
2. Try on a different symbol. Any difference?
Size:
Color:
Wow, Eugene, I feel bad now. Had I known you'd reply on a Sunday I would have postponed my question until Monday.
I ran the full fundamental update on Fri night, and re-ran the update for the Fidelity provider just now.
I ran the test on each of the DJ-30 symbols and it's always the same. Below is the output for BA which is the same as the output in my original message which was for AA.
I have another program in which 22 of the Fidelity fundamental items are hardcoded into a list, and they are each successfully exported in tabular format to a file. The data for all 22 items are non-blank and up to date, so I don't think this is an issue with the currency of the provider's data.
Symbol: BA
GetFundamentalNames returned the following number of names: 85
QUOTE:
[ms] Accounts Payable
-edited-
[ms] Working Capital
accounts payable
adjustment factor
all analyst ratings
analyst downgrade
analyst upgrade
assets
cash
cash dividends
common shares outstanding
common shares used to calculate eps diluted
current assets
current liabilities
dividend
earnings per share
ebit
employee
Size:
Color:
Craig,
Thanks for the followup. The new list has 2 more entries:
current assets
current liabilities
We'll investigate what's going on with this (what looks like a new) "extension method". BTW, since it's undocumented in the QuickRef how did you find it out?
Size:
Color:
FYI,
Craig's script works for me for all symbols I've tried. The back end of the list is below. I did a Fidelity fundamental data update. It worked before and after that.
QUOTE:
since it's undocumented in the QuickRef
It is documented, in the QuickRef, the top item in category, "Fundamental Data." Its genesis can be found here:
https://www.wealth-lab.com/Forum/Posts/Insider-Transactions-provider-GetDetail-question-34219/Page/1 Post #5.
Abridged output from Craig's script...
CODE:
Please log in to see this code.
Size:
Color:
Len,
QUOTE:
Its genesis can be found here:
Could you believe that I completely forgot having added this extension method to C.Components myself? Thanks for the reminder, Len.
QUOTE:
It is documented, in the QuickRef, the top item in category, "Fundamental Data."
Only if you forgot having edited your copy of the QuickRef yourself. :) It simply can not be there as C.Components methods are not covered by the QuickRef.
Craig,
According to LenMoz, the next item is not "estimated earnings" (like it probably was before version 6.7) but "equity summary
category". I do not have access to WLP which limits my troubleshooting ability. But this is in fact pretty strange to see a category name there among the chartable items. I would've expected "equity summary score" there. OTOH, if "equity summary category" is an item there's nothing to worry about.
Since there's nothing wrong with the code (at least what I can see), I can imagine that your data for equity summary score is corrupt. GetFundamentalNames stops, throwing a handled exception. Please reload your data again, making sure that ESS is being updated. Can you chart the item(s) normally?
Size:
Color:
Hello Eugene and LenMoz,
Thanks for all the feedback. I have reloaded my Fidelity fundamental data a few times, and re-executed the test, and the list of Fidelity items returned still gets cut off at 'employee'. Below is the latest output for CAT and AA. I'm guessing the next thing to try is deleting the data files and re-loading, but being that I have an easy workaround to this (i.e. hardcoding the list of fundamental items) it's not worth the effort. All of the documented Fidelity fundamental items do appear on my charts and are also accessible via my strategy code, so I can live without using GetFundamentalNames. So please do not spend anymore time on this on my behalf.
Thanks again.
Symbol: CAT
GetFundamentalNames returned the following number of names: 85
.
.
accounts payable
adjustment factor
all analyst ratings
analyst downgrade
analyst upgrade
assets
cash
cash dividends
common shares outstanding
common shares used to calculate eps diluted
current assets
current liabilities
dividend
earnings per share
ebit
employee
Size:
Color:
LenMoz wrote:
Though present and usable, these three Fidelity fundamentals are not returned...
days to cover
shares short
short interest as a % of shares outstanding
Verifying script:
CODE:
Please log in to see this code.
Of course, Bars.GetFundamentalNames
does return these items that are not on my "Fundamentals" dropdown...
all analyst ratings
analyst downgrade
analyst rating
analyst upgrade
so I guess it all evens out.
I can't guarantee that either list is exhaustive. Seriously, an effort to coordinate these is needed.
Size:
Color:
QUOTE:
Though present and usable, these three Fidelity fundamentals are not returned...
Probably because there's nothing to return (empty data)? See GetFundamentalNames code in C.Components.
QUOTE:
Of course, Bars.GetFundamentalNames does return these items that are not on my "Fundamentals" dropdown...
According to the
manual, these all should be listed under the "Analyst Ratings" group. Not being a WLP user I can't verify this. Is this group present?
Size:
Color:
@LenMoz
1.
With regard to your
recent thread which asks the same question as here. Essentially, GetFundamentalNames() is a sort of hackish method from C.Components which depends on Reflection.
If the list gets cut off at 'employee' this must be that 'equity summary score', being a separate fundamental item provider, somehow breaks the extension method. Most likely, due to some obfuscation attribute. This is not an issue but motivated users can try to "fix" the open source code.
2.
Based on the data capture from your support ticket, I've determined that the data is flowing in without a problem. However, "short interest..." is missing as I've just found:
https://www.wealth-lab.com/Forum/Posts/Fidelity-fundamental-data-returning-fewer-items-June-2018-39368Please check if you can access the other items normally through a WealthScript method like FundamentalDataItems or FundamentalDataSeries. I've absolutely no reason to think otherwise. Thanks.
Size:
Color:
CODE:
Please log in to see this code.
The uncommented line causes "Object reference not set..." when referenced later in the script
The commented line, referencing "employee", succeeds.
GetFundamentalNames() seems to be correct.
Size:
Color:
QUOTE:
The uncommented line causes "Object reference not set..." when referenced later in the script
That's right - because "short interest..." is missing and an exception is caught by
GetFundamentalNames FundamentalDataSeries.
Size:
Color:
I understood the error. My point was that FundamentalDataSeries doesn't find the item either. There appears to be no problem with Bars.GetFundamentalNames().
I don't know that "... an exception is caught ...". It seems more like the fundamental item is missing.
Size:
Color:
Size:
Color:
So the bottom line remains, as the title of this thread says, "GetFundamentalNames [still] returns partial list ."
Size:
Color:
Please see my explanation re: why it may happen in post #10 above. To add, for me the routine [still] works. As you have access to the Fidelity fundamental data, you can prove or disprove my idea in post #10 under debugger. It's likely that debugging GetFundamentalNames breaks at 'equity summary score'. Here's the source code:
Download Community Components source code (2018.07).
Size:
Color:
The referenced source code for Community Components targets WealthLab
Developer. I've tried updating the references but am unable to get clean compile.
I would add a fairly safe inner Try block in GetFundamentalNames like this...
CODE:
Please log in to see this code.
Size:
Color:
QUOTE:
I would add a fairly safe inner Try block in GetFundamentalNames like this...
An inner try/catch should safely skip the fundamental item gone wrong. I'll add this in next release of the library (no ETA yet). Thanks Len.
QUOTE:
I've tried updating the references but am unable to get clean compile.
1. You should update the references to point at the WLP main folder for Fidelity.Components.dll, HtmlAgilityPack.dll, WealthLab.dll and WealthLab.Indicators.dll.
2. Then in Project Properties > Build, change the output path to target the WLP main folder as well.
3. The target framework should be like 4.5-4.6.2. (Haven't tested it with 4.7 yet).
Size:
Color: