Skip to content
All library documents

Representing Major Currency Pairs as a Weighted Currency Graph

Article Quant Q&A · Author: Vazgen

Summary

The document considers how to represent major currency pairs together as a connected data structure, rather than analyzing each pair as an isolated time series. The proposed “pentahedron” concept is reframed as a weighted graph: currencies are nodes and exchange rates are directed edges. Cross rates link the edges through multiplication or division according to quote conventions, so a movement in one exchange rate can imply changes in related rates across the graph.

The answer highlights that edge weights should reflect properties such as liquidity, since a move in a thinly traded pair may be more informative about one currency than another. It suggests dimensional reduction such as PCA to explore shared variation, while noting that currencies retain distinct sources of risk and cannot necessarily be collapsed into a few factors. The discussion is conceptual rather than a specified trading method: it gives no exact graph calibration, data procedure, backtest, or evidence that added structural complexity reduces overfitting. A useful representation ultimately depends on the currency basket or relationship the researcher intends to study.

Key ideas

  • Currencies can be modeled as graph nodes, with exchange rates represented by edges between them.
  • Cross rates connect pair prices through multiplication or division, depending on quote conventions.
  • Liquidity differences affect how much information a change in a particular pair carries about its currencies.
  • PCA may help examine common sources of variation, but it cannot guarantee that all currency-specific risks disappear.
  • The choice of graph representation should follow the basket or market relationship the analysis aims to measure.

Tags

Full text
# Major FX pairs - Pentahedron Data Structure


# Major FX pairs - Pentahedron Data Structure












I read an interview today with Stephane Coquillaud.

He talked about this idea of formulating a data set of the G5 currencies as a pentahedron. The obvious benefit is the fact that there is more information contained in the data and you'll no longer be testing on marginal price movements of single pairs but rather on the entire major currency spectrum.

He mentioned the other benefit of complexifying the data set from a simple 2 dimensional time series to a 5 dimensional cascade of multiple currency pairs is that the complexity itself reduces the tendency of over fitting parameters in back-tests.

Has anyone here attempted anything like this? I'm having a hard time wrapping my head around the data structure needed for this pentahedron "message" and how to calculate it from a collection of 2 dimensional currency pair time series. In the past, I've built a relative currency strength indicator that took incremental market returns from currency pairs and adjusted the relative strength of each individual currency component of the pair. For example if EUR/USD goes up 2%, then I add 2% to EUR and subtract 2% from USD and factor in the movement from over 24 pairs. However, I don't think this is quite the same thing. Suggestions and insight are wholly welcome!

## Answer by Phil H (score 4, accepted)

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

Since pentahedrons are 3d shapes, but there is no reason to think currencies live in a 3d world, you can just treat the 'pentahedron' as a weighted node graph of the 5 currencies. A graph edge from one currency to another represents an exchange of those two currencies. So in the same fashion as usual vectors, I can go from currency A to C via B by executing AC,CB.

If we also know some cross-currency prices for AC, we can construct a triangle ABC where we know the price of each edge. In geometry, we get the hypotenuse from the sides via Pythagoras, but the price of AC = AB/BC (or multiplied, depending on the quoting). So you need to do some translation to get from cross currency pricing to the geometry/topology of the graph, but the basic idea is there; if you update the price for a particular trade, that alters the graph in ways that imply changes to other prices.

I think the nub of the problem, though, is to know how 'stiff' the edges are. For example, suppose EUR/DKK is liquid, EUR/TRY less so, and DKK/TRY much less so; so seeing a change in EUR/TRY probably means that TRY is moving, not EUR, so you expect DKK/TRY to change rather than EUR/DKK. Do you pin USD and EUR in space, and let the rest of the geometry move around them?

You can probably perform some kind of dimensional reduction like PCA on the 5d structure to see the main axes of variance, but since none of the currencies is entirely dependent on the others, there will always be extra factors that prevent you eliminating any dimensions entirely; every government and domestic market is a source of information, and thus an unpredictable input into the currency's martingale.

Ultimately, it's about what you want to measure. If you have a reason to pick out a specific weighted basket of currencies, then you can just price that basket to see movements. In finance there are no absolutes, only relative values. So you have to have a reason to look at a particular basket; there is no independent view of the market, and neither do you need one.

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.