My data
In[1236]:= data = FinancialData[ "ExchangeTradedFunds", "Members"];
In[1248]:=
dataETF = Pick[data, StringMatchQ[data, {"NYSE:*", "NASDAQ:*"}]] ;
dataETF // Length
Out[1249]= 2497
The output gives just the ticker symbols, which is not very informative as to what the ETF represents. So "associated" the symbol with the name, which provides much more informative.
dataETFn =
Column[AssociationThread[dataETF, FinancialData[dataETF, "Name"]]]
But to read through 2500 entries to find the one you want is painful so tried to use StringMatchQ[] without success. Had to create another list of just the names ...
eftNames = FinancialData[dataETF, "Name"];
But StringMatchQ[] still would not work, but StringContainQ[] did work
In[1329]:= eftLumber =
Pick[eftNames, StringContainsQ[eftNames, {"Timber", "Forestry"}]]
eftLumber // Length
Out[1329]= {"iShares Global Timber & Forestry ETF", "Invesco MSCI \
Global Timber ETF"}
Out[1330]= 2
But now I do not know the ticker / symbol ?? Is there a better way??