Skip to content
All library documents

Converting Tick-Level Asset Prices with Interpolated FX Rates

Article Quant Q&A · Author: apocalypsis

Summary

The document considers how to convert tick-by-tick prices for an asset quoted in euros into U.S. dollars when the available EUR/USD observations are only minute-by-minute. Its proposed method is to linearly interpolate the exchange rate between adjacent minute observations, then multiply each asset tick by the estimated rate at that tick’s timestamp. The example illustrates interpolation within a minute and conversion of a single asset price.

This approach uses the timing of each tick instead of applying one rate to every observation in a minute or choosing a single hourly rate. The discussion does not compare interpolation with other sampling or aggregation methods, and it assumes a smooth, constant change in the exchange rate between observations. That assumption may not reflect actual intraminute price movements, so the method’s accuracy depends on data frequency and market conditions.

Key ideas

  • Linearly interpolate the FX rate between adjacent observations to estimate a rate at each asset tick’s timestamp.
  • Multiply each tick’s euro price by its timestamp-matched EUR/USD estimate to express it in dollars.
  • The method assumes a smooth rate change between observed minute values.

Tags

Full text
# aggregate and convert tick-by-tick using fx data


# aggregate and convert tick-by-tick using fx data












I have tick-by-tick data of an asset X denominated in EUR and minute-by-minute data on EURUSD. If I wanted to convert my tick-by-tick data to USD would it make sense to just consider every bucket of one minute in X and convert it using EURUSD? That is, every tick within a one-minute bucket would be converted at the same rate.

Also, assuming I wanted to aggregate data to 1h, should I consider only the last price of every hour of EURUSD? An alternative would be to do a simple average, I can't to VWAP as I don't have the volumes.

## Answer by babelproofreader (score 1)

https://quant.stackexchange.com/a/55288

In this situation I'd do some form of linear interpolation. A numerically simple example:

- assume EURUSD at 11:00 is 1.5000 and at 11:01 it is 1.5060, therefore each second EURUSD increases by 0.0001.

- Presumeably with your tick-by-tick data you have a timestamp, so say at 11:00:30 asset X is 100 EUR and at 11:00:30 EURUSD can assumed to be 1.5030 ( 1.5 + 30 x 0.0001 ).

- Therefore at 11:00:30 asset X's value in USD is 100 x 1.5030 = 150.30 USD.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.