I'm not sure if this is the best StackExchange to post this question, but I figured it had more to do with the specifics of Mathematica than Quantitative Analysis so I've posted it here.

Basically, I am trying to make a notebook in Wolfram Mathematica 9 which allows me to easily monitor and analyse share prices on the British FTSE 100,200 etc. stock exchanges; I know that Mathematica has the FinancialData[] function, and I was hoping to be able to use it for the FTSE markets.

I have tried the following without success:


So I tried to look at the entire list of entities contained within FinancialData using:


However, this yielded a large list of indices and I was not able to find anything useful. The only reference I have managed to find on this was here, but as shown above I have tried this and only got the following output:


Do I need to preload the british financial data in Mathematica at the beginning of my notebook, or is the data already there I just need to access it in a different way?

  • $\begingroup$ These days Wolfram Alpha has been showing the following message when trying to get some market data: "Maintenance Notice:Reports for finance-related queries may be returning fewer results than usual. We appreciate your patience as we work through an update to our financial data infrastructure. " ...Perhaps related $\endgroup$ – Dr. belisarius May 8 '14 at 12:17

You can find the exchanges Mathematica knows about using:


From this you can extract the main London exchange name which is , "LSE".

Then you can retrieve the available quoted entities:

FinancialData["LSE", "Members"]

Amongst those you will hopefully find most of the symbols which comprise the indices you might be interested in.


The functionality to download the components of the FTSE 100 used to be available in Yahoo Finance, but it is not available anymore.

E.g. Download a CSV of the constituents of the FTSE-100 from Yahoo Finance

FinancialData uses Yahoo, so that explains why it doesn't work.

Finding another source from which to download a list has proved tricky.

There is a page with all the tickers listed for easy cut & paste here:


selftradedata =
{"ABF", "ADN", "ADM", "AGK", "AAL",
"ANTO", "ARM", "AHT", "AZN", "AV.",
"BAB", "BA.", "BARC", "BDEV", "BG.",
"BLT", "BP.", "BATS", "BLND", "BSY",
"BT.A", "BNZL", "BRBY", "CPI", "CCL",
"CNA", "CCH", "CPG", "CRH", "DGE",
"EZJ", "EXPN", "FRES", "GFS", "GKN",
"GSK", "GLEN", "HMSO", "HL.", "HSBA",
"IMI", "IMT", "IHG", "ITRK", "IAG",
"ITV", "JMAT", "KGF", "LAND", "LGEN",
"LLOY", "LSE", "MKS", "MGGT", "MRO",
"MNDI", "MRW", "NG.", "NXT", "OML",
"PSON", "PSN", "PFC", "PRU", "RRS",
"RDSB", "RB.", "REL", "RSL", "REX",
"RIO", "RR.", "RBS", "RDSA", "RMG",
"RSA", "SAB", "SGE", "SBRY", "SDR",
"SVT", "SHP", "SN.", "SMIN", "SPD",
"SSE", "STJ", "STAN", "SL.", "TSCO",
"TPK", "TT.", "TLW", "ULVR", "UU.",
"VOD", "WEIR", "WTB", "WMH", "WOS",

There are 101 listings because Royal Dutch Shell has both A and B class shares listed. - (Wikipedia)


There is another promising page here: http://www.stockhistoricaldata.com/lse/ftse-100

but its list appears to be out of date. Perhaps it is last quarter's data.

stockhistoricalimport = Import[
stockhistoricaldata = StringReplace[#, ".L" -> ""] & /@
   StringSplit[stockhistoricalimport, "\n"];
Length@Intersection[selftradedata, stockhistoricaldata]


Only 69 stocks in common.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.