searching for historic exchange rate provider which meets this example data
You will most likely not be able to avoid some form of format conversion, regardless of which data you use since there is, afaik, no standard for this data and everyone exports it differently. One viable option would be, like you said yourself, using the free data provided by Dukascopy. Please take into consideration that those are spot currency rates and will most likely not represent the rate at which physical and business-related exchange would have happened at this time.
"Assuming that the ETF is tracking an index, is there a reason for not looking at using details on the index?  Typically the exact constituents of an index are proprietary, and companies will not publish them publicly without a license.  S&P is the heavyweight in this area, and the exact details of the constituents at any one time are not listed anywhere.  They do list the methodology, and announcements as to index changes, but not a full list of actual underlying constituents. Is there a easy way to automatically (ie. through an API or something, not through just reading a prospectus) get information about an ETF's underlying securities? I have looked for this information before, and based on my own searches, in a word: no.  Index providers, and providers of APIs which provide index information, make money off of such services.  The easiest way may be to navigate to each provider and download the CSV with the full list of holdings, if one exists.  You can then drop this into your pipeline and write a program to pull the data from the CSV file.  You could drop the entire CSV into Excel and use VBA to automagically pull the data into a usable format. For example, on the page for XIU.TO on the Blackrock site, after clicking the ""All Holdings"" tab there is a link to ""Download holdings"", which will provide you with a CSV.  I am not sure if all providers look at this. Alternatively, you could write the ETF company themselves." "My answer isn't a full one, but that's because I think the answer depends on, at minimum, the country your broker is in, the type of order you place (limit, market, algo, etc.,) and the size of your order. For example, I can tell from watching live rates on regular lot limit orders I place with my UK-based broker that they hold limit orders internally until they see a crossing rate on the exchange my requested stock is trading on, then they submit a limit order to that exchange.  I only get filled from that one exchange and this happens noticeably after I see my limit price print, and my fills are always better than my limit price. Whereas with my US-based broker, I can see my regular lotsize limit order in the order book (depth of book data) prior to any fills.  I will routinely be notified of a fill before I see the limit price print.  And my fills come from any number of US exchanges (NYSE, ARCA, BATS, etc.) even for the same stock. I should point out that the ""NBBO"" rule in the US, under SEC regulation NMS, probably causes more complications in handling of market and limit orders than you're likely to find in most countries." You can easily build a Google Sheet spreadsheet to track what you want as Sheet has a 'googlefinance()' function to look-up the same prices and data you can enter and track in a Google Finance portfolio, except you can use it in ways you want. For example, you can track your purchase price at a fixed exchange rate, track the current market value as the product of the stock's price times the floating exchange rate, and then record your realized profit and loss using another fixed exchange rate.  You don't have to record the rates either, as googlefinance() func is able to lookup prices as of a particular date. You can access Google Sheet through a web browser or Android app. "Relative changes in rates are significant.  Why? Exchange rates encourage cross-border trade. For example, I live in an area that is now popular with Canadian tourists, mostly due to the favorable exchange rates. Changes in exchange rates between trading partners can affect trade balance as well. The US ""strong dollar"" policy made US exports expensive and imports cheaper, which encouraged more imports." If you have access, factset and bloomberg have this.  However, these aren't standardized due to non-existent reporting regulations, therefore each company may choose to categorize regions differently.  This makes it difficult to work with a large universe, and you'll probably end up doing a large portion manually anyways. It is meant to be a Valuation Model. So the data I have collected are for the Addressable Markets in potential countries( i.e. population currently affected by the disease and potential growth of the disease in the future). Possible competition for the drug. And most importantly the expenses of the drug (how much it cost to create the drug and clinical trails etc.) I need to create a Revenue chart and the Pricing for the drug as well. What I am looking for is someone who is familiar with creating a valuation model or has a template and can give me advice on how to structure this. thanks. I used Oanda.com for Forex trading a couple years ago. I am in the US but I think it's available in the UK as well. At the time, they had no commissions and their spreads were comparable or better than other brokers. The spreads would just quite considerably when a big event like a Fed meeting or the unemployment figures come out, but I suspect that that is the same everywhere (or they have constant spreads and reject trades).  They did not push the high leverages like other brokers were at the time. I considered this to be very reputable, because though the profits to be gotten through 100:1 leverage are great advertising, the reality is that one unexpected spike and a newbie would lose a bunch of money in a margin call. It's very simple.  Use USDSGD.  Here's why: Presenting profits/losses in other currencies or denominations can be useful if you want to sketch out the profit/loss you made due to foreign currency exposure but depending on the audience of your app this may sometimes confuse people (like yourself).