Quantopian's community platform is shutting down. Please read this post for more information.
Back to Community
How to get data for Non US Stocks (International Stocks)

Hi, I am trying to get fundamental data for an international stock, listed on the Canadian Stock Market, but the question is the same for any abroad market. How do I call an international ticker? Here my Canadian ticker is FRES. However when I run "my_data" it just brings the stocks above, AAPL IBM and AMAZON. How do i call an international ticker

6 responses

FRES is a London Stock Exchange company, however, it still doesnt work.

Data for the Canadian equities, along with other global markets, can be fetched via pipeline. Currently, only US equities can be backtested in the IDE though. Other global equities are not currently supported in algos. However, one can fetch and look at daily price and volume data along with fundamentals in the notebook environment via pipeline.

The key issue with fetching data for specific global equities is one must look up that data using the asset's SID. One cannot directly filter by ticker. Getting a reference to a Canadian, or other non-US equity is therefore a two step process. One must first lookup the company name or ticker in the pipeline output to find the SID. Then, second use this SID to filter the pipeline. There is an explanation of the process, and several notebook examples, in this post which you may find helpful. Also note the symbols method only supports using the integer SID, and not the ticker for non-US equities. One can use the symbols method in a notebook to get a non-US equity object but enter the equity SID as an integer without quotes.

Also, currently pipelines can only be run on a single domain. The main reason for this is each market has their own trading calendars and therefore the dates won't always line up. If one wants data from several global markets, first run each pipeline separately then concatenate the resulting dataframes into one. When doing this do be aware the dates may not always match and be especially careful that the currencies probably won't match (eg market cap in US markets will be denominated in US dollars while it's denominated in Canadian dollars for the Canadian market). If combining different markets it's helpful to normalize all the values into a common currency. One can use the currency conversion method .fx for this. There is a post on how to concatenate pipeline outputs here and a post explaining how to do currency conversion here.

A lot of references to other posts but those should get you headed in the right direction.

If you need anything else just reply.


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 Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian 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.

Hi Dan, thank you very much. I completely understood the issue. However, I wanted to know which is the correct code line to use the SID to call the securities I want. I am using this, my_stocks = symbols(9936), but it does not work, and I cannot find the correct line. Thanks in advance.

One needs to lookup the SID. In this case it is 1180068845467715. So the following code will get a reference to the asset object for FRES

fres = symbols(1180068845467715)

That should work. See attached notebook.

Thank you very much, Daniel. I am trying to add another column in the pipeline, total_revenue': Fundamentals.total_revenue.latest, but I am getting a problem involving the calendar. It gives me the following error " Conflicting domains in Pipeline. Inferred EquityCalendarDomain('US', 'XNYS'), but EquityCalendarDomain('CA', 'XTSE') was passed at construction." I assume is because I need another function to call international equities fundamentals?

You are probably trying to use the Morningstar fundamentals? Morningstar data is only available for US Equities so pipeline infers the US domain when it's used. It then gets confused when you explicitly specify a non-US domain. You must use the EquityPricing and FactSet datasets for non-US equities. FactSet has most of the same fundamental data as Morningstar but the fields are named differently.