Skip to content
All library documents

Using PCA to Reduce and Interpret Currency Pair Data

Article Quant Q&A · Author: paglos

Summary

The document asks how to select a smaller representative set from a collection of currency pairs whose return series appear similar. It reports applying principal component analysis to returns and shows variance shares and loadings for a set of dollar-related pairs. The first component explains about 45% of the variance, while the first ten together explain about 91%; the remaining reported components account for the balance. Several pairs have blank displayed loadings in early components, prompting the question of whether they can be removed.

The output is an exploratory example, not a completed selection method: it offers no answer or validation showing that the omitted pairs are redundant. Component loadings describe contributions to principal directions, and their signs and magnitudes need interpretation alongside scaling and the covariance or correlation matrix used. Currency quotes also create dependencies among crosses, while pegged or less liquid currencies may behave differently. PCA, clustering, or factor analysis should therefore be judged against the intended use and tested for stability across time rather than treated as an automatic pair-elimination rule.

Key ideas

  • The analysis applies PCA to currency-pair returns to look for a lower-dimensional representation.
  • The first reported component explains about 45% of variation, and the first ten explain about 91%.
  • Component loadings describe each pair’s contribution to a principal component, not whether the pair can safely be discarded.
  • The document does not validate a reduced pair set or compare PCA with clustering and factor analysis.
  • Currency quote dependencies and time variation can affect whether a reduction remains useful.

Tags

Full text
# How to reduce fx currency pairs ? PCA or other tools?


# How to reduce fx currency pairs ? PCA or other tools?












I have 19 currency pairs like USD.AUD, USD.CAD, etc. Also 82 cross currency pairs like AUD.CAD, EUR.AUD,EUR.CAD etc.

When I look to their graphs, most look similar, so I want to reduce number of pair and choose a few that represents the whole group. I calculate returns and create time series. I applied PCA but I am not sure how to interpret the results.

Any guidance is appreciated, is PCA is the right tool or I should look for others like cluster analysis , factor analysis, etc... For example in 82 pairs should I group them like EUR.* GBP.* ?

Below is the output of my R program , how should I interpret it ? Can I eliminate KRW.USD USD.CNH USD.HKD as their loadings are not correlated to first let's say 10 components ?

```
> head(returns)
             AUD.USD      EUR.USD       GBP.USD      KRW.USD      NZD.USD
2013-06-24  0.0000000000  0.000000000  0.0000000000  0.000000000  0.000000000
2013-06-25  0.0011886753 -0.003149068 -0.0008264128  0.006944472 -0.003901280
....

Importance of components:
                           Comp.1      Comp.2      Comp.3      Comp.4
Standard deviation     0.01292047 0.006641023 0.005763718 0.004634432
Proportion of Variance 0.44565430 0.117736544 0.088684302 0.057336913
Cumulative Proportion  0.44565430 0.563390849 0.652075151 0.709412064
                            Comp.5      Comp.6      Comp.7      Comp.8
Standard deviation     0.004188341 0.004066381 0.003522884 0.003427262
Proportion of Variance 0.046830128 0.044142561 0.033131261 0.031357105
Cumulative Proportion  0.756242192 0.800384752 0.833516014 0.864873118
                            Comp.9    Comp.10     Comp.11     Comp.12
Standard deviation     0.003154789 0.00295759 0.002855678 0.002798966
Proportion of Variance 0.026569419 0.02335164 0.021770068 0.020913976
Cumulative Proportion  0.891442537 0.91479418 0.936564247 0.957478223
                           Comp.13     Comp.14     Comp.15     Comp.16
Standard deviation     0.002608714 0.002233061 0.001436994 0.001043102
Proportion of Variance 0.018167468 0.013311980 0.005512535 0.002904659
Cumulative Proportion  0.975645691 0.988957670 0.994470205 0.997374864
                            Comp.17      Comp.18      Comp.19
Standard deviation     0.0009627563 1.915212e-04 1.406246e-04
Proportion of Variance 0.0024744240 9.792082e-05 5.279147e-05
Cumulative Proportion  0.9998492877 9.999472e-01 1.000000e+00
> V0$loading

Loadings:
            Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9 Comp.10
AUD.USD  0.275  0.390 -0.378        -0.142        -0.402  0.514 -0.286
    EUR.USD  0.234 -0.238                      -0.109
GBP.USD  0.178                                           -0.370 -0.632  0.553
KRW.USD         0.111                0.126 -0.327 -0.593 -0.456  0.129 -0.450
NZD.USD  0.257  0.306 -0.515         0.139 -0.453  0.549 -0.142  0.117
USD.CAD  0.149  0.123 -0.175                0.189 -0.159         0.383  0.302
USD.CHF  0.256 -0.344        -0.150                      -0.141
USD.CNH
USD.CZK  0.288 -0.271               -0.155 -0.341         0.338  0.323  0.199
USD.DKK  0.234 -0.237                      -0.107
USD.HKD
USD.HUF  0.383         0.288 -0.243 -0.178                0.197        -0.236
USD.ILS  0.137         0.107               -0.209 -0.184 -0.201         0.205
USD.JPY  0.162 -0.281 -0.458 -0.408         0.524        -0.174        -0.147
USD.MXN  0.263  0.385  0.262  0.188 -0.579  0.272  0.203 -0.339
USD.NOK  0.324                0.607  0.329  0.289 -0.149         0.256  0.213
USD.RUB  0.224  0.382  0.404 -0.444  0.584  0.121
USD.SEK  0.325 -0.169         0.350  0.283         0.139        -0.381 -0.412
USD.SGD  0.145                      -0.102        -0.128
        Comp.11 Comp.12 Comp.13 Comp.14 Comp.15 Comp.16 Comp.17 Comp.18 Comp.19
AUD.USD                  0.194   0.149  -0.133
EUR.USD                  0.131   0.370                   0.458   0.699
GBP.USD          0.221  -0.186
KRW.USD -0.131   0.169  -0.120          -0.121
NZD.USD
USD.CAD  0.304  -0.219  -0.671   0.184
USD.CHF                  0.131   0.422           0.190  -0.721
USD.CNH                                  0.344  -0.905  -0.233
USD.CZK -0.510          -0.175  -0.368
USD.DKK                  0.130   0.369                   0.432  -0.715
USD.HKD                                                                  0.999
USD.HUF  0.562   0.442          -0.205  -0.106
USD.ILS  0.350  -0.602   0.385  -0.397
USD.JPY -0.131           0.114  -0.352                   0.123
USD.MXN -0.288                          -0.106
USD.NOK  0.102   0.325   0.275
USD.RUB -0.241
USD.SEK         -0.408  -0.362  -0.133
USD.SGD                                  0.899   0.338

               Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 Comp.7 Comp.8 Comp.9
SS loadings     1.000  1.000  1.000  1.000  1.000  1.000  1.000  1.000  1.000
Proportion Var  0.053  0.053  0.053  0.053  0.053  0.053  0.053  0.053  0.053
Cumulative Var  0.053  0.105  0.158  0.211  0.263  0.316  0.368  0.421  0.474
               Comp.10 Comp.11 Comp.12 Comp.13 Comp.14 Comp.15 Comp.16 Comp.17
SS loadings      1.000   1.000   1.000   1.000   1.000   1.000   1.000   1.000
Proportion Var   0.053   0.053   0.053   0.053   0.053   0.053   0.053   0.053
Cumulative Var   0.526   0.579   0.632   0.684   0.737   0.789   0.842   0.895
               Comp.18 Comp.19
SS loadings      1.000   1.000
Proportion Var   0.053   0.053
Cumulative Var   0.947   1.000
```

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.