The foreign exchange market is one of the largest in the world. Individuals, organizations, and major banks trade currencies every day. Risk management is very important in forex trading. In other words, it is possible to find currency pairs that are highly correlated with each other using the PCA method.
In this project, I will use 31 finance price data of H4 timeframe. I took these data from Metatrader4 platform using my ICmarket’s account and python program. There is a MetaTrader5 library in python. It helps to import currency pairs data from MT4 Platform. And it is real time data. You can see python code below. I imported fx data from 2015.01.01 to 2022.12.31. After I import these datas, I saved it as ‘df.RDS’. And I will use it from now on. It contains some confidential information. So I used *.
import pyreadr
import MetaTrader5 as mt
import pandas as pd
import plotly as pl
from datetime import datetime
import plotly.express as px
import pandas_ta as ta
import plotly
import matplotlib.pyplot as plt
import statistics
from statistics import stdev
from statistics import variance
import os
import glob
import numpy as np
from datetime import datetime, date, timedelta
import talib as tl
mt.initialize()
login=******** # account number
password=****** # password
server='ICMarketsSC-Demo'
mt.login(login,password,server)
list_fx=["AUDCHF","AUDJPY","AUDCAD","AUDNZD","AUDUSD","CADCHF","CADJPY","CHFJPY","EURAUD","EURCAD","EURCHF","EURGBP","EURJPY",
"EURNZD","EURUSD","GBPAUD","GBPCAD","GBPCHF","GBPJPY","GBPNZD","GBPUSD","NZDCAD","NZDCHF","NZDJPY","NZDUSD","USDCAD","USDCHF",
"USDCNH","USDJPY","XAGUSD","XAUUSD"]
df=pd.read_pickle('df.pkl')
for i in list_fx:
df1=pd.DataFrame(mt.copy_rates_range(i,mt.TIMEFRAME_H4,datetime(2015,1,1),datetime(2022,12,31)))
y="./"+i+".pkl"
df1['time']=pd.to_datetime(df1['time'],unit='s')
df1=df1[['time', 'close']]
df1=df1.rename(columns={'time': 'time', 'close': i})
#df1.to_pickle(y)
df=df.merge(df1, left_on='time', right_on='time')
print('finished')
pyreadr.write_rds('df.RDS',df)
Our data has 10765 observations with 31 variables.
df=readRDS("df.RDS")
df$time <-as.POSIXct(df$time,"05/24/2017 06:13:10", format = "%Y-%m-%d %H:%M:%S")
dim(df)
## [1] 10765 32
We have 29 currency pair variables such AUDCHF, AUDJPY and so on. For example AUDCHF=0,71992. It means 1 AUD equal to 0,71992 CHF. And we have 2 commodity product’s prices such as gold and silver.
library(tidyverse)
colnames(df)[-1] # 31 currency pairs data
## [1] "AUDCHF" "AUDJPY" "AUDCAD" "AUDNZD" "AUDUSD" "CADCHF" "CADJPY" "CHFJPY"
## [9] "EURAUD" "EURCAD" "EURCHF" "EURGBP" "EURJPY" "EURNZD" "EURUSD" "GBPAUD"
## [17] "GBPCAD" "GBPCHF" "GBPJPY" "GBPNZD" "GBPUSD" "NZDCAD" "NZDCHF" "NZDJPY"
## [25] "NZDUSD" "USDCAD" "USDCHF" "USDCNH" "USDJPY" "XAGUSD" "XAUUSD"
head(df)
## time AUDCHF AUDJPY AUDCAD AUDNZD AUDUSD CADCHF CADJPY CHFJPY
## 1 2015-11-18 0.71992 87.601 0.94574 1.09726 0.70962 0.76094 92.602 121.660
## 2 2015-11-19 0.72752 88.330 0.94926 1.09500 0.71566 0.76614 93.041 121.405
## 3 2015-11-20 0.72910 88.386 0.95570 1.09392 0.71888 0.76266 92.466 121.206
## 4 2015-11-23 0.73402 88.540 0.96233 1.10222 0.71925 0.76249 91.983 120.595
## 5 2015-11-24 0.73259 88.364 0.96087 1.10248 0.72009 0.76215 91.943 120.594
## 6 2015-11-25 0.73737 88.823 0.96484 1.10465 0.72582 0.76398 92.036 120.428
## EURAUD EURCAD EURCHF EURGBP EURJPY EURNZD EURUSD GBPAUD GBPCAD
## 1 1.49847 1.41759 1.07903 0.69956 131.295 1.64440 1.06354 2.14183 2.02614
## 2 1.49536 1.41979 1.08811 0.70025 132.117 1.63752 1.07028 2.13515 2.02727
## 3 1.49066 1.42504 1.08713 0.70141 131.792 1.63081 1.07178 2.12501 2.03140
## 4 1.47534 1.42014 1.08320 0.69957 130.649 1.62630 1.06130 2.10867 2.02969
## 5 1.47740 1.42002 1.08264 0.70318 130.580 1.62892 1.06405 2.10087 2.01918
## 6 1.46897 1.41776 1.08348 0.70655 130.507 1.62287 1.06641 2.07896 2.00631
## GBPCHF GBPJPY GBPNZD GBPUSD NZDCAD NZDCHF NZDJPY NZDUSD USDCAD
## 1 1.54225 187.661 2.35074 1.52015 0.86164 0.65583 79.809 0.64645 1.33294
## 2 1.55364 188.642 2.33862 1.52829 0.86661 0.66408 80.639 0.65332 1.32655
## 3 1.54976 187.862 2.32530 1.52789 0.87337 0.66623 80.772 0.65690 1.32961
## 4 1.54811 186.731 2.32479 1.51690 0.87282 0.66572 80.303 0.65228 1.33811
## 5 1.53946 185.680 2.31675 1.51311 0.87126 0.66419 80.127 0.65292 1.33455
## 6 1.53326 184.686 2.29692 1.50917 0.87316 0.66725 80.387 0.65681 1.32948
## USDCHF USDCNH USDJPY XAGUSD XAUUSD
## 1 1.01459 6.41493 123.450 14.177 1070.69
## 2 1.01665 6.40793 123.437 14.258 1082.11
## 3 1.01433 6.41119 122.960 14.185 1077.98
## 4 1.02063 6.42533 123.102 14.133 1068.94
## 5 1.01744 6.42907 122.715 14.187 1075.58
## 6 1.01601 6.42667 122.377 14.183 1071.33
There is no NA rows.
sapply(df, function(x) sum(is.na(x)))
## time AUDCHF AUDJPY AUDCAD AUDNZD AUDUSD CADCHF CADJPY CHFJPY EURAUD EURCAD
## 0 0 0 0 0 0 0 0 0 0 0
## EURCHF EURGBP EURJPY EURNZD EURUSD GBPAUD GBPCAD GBPCHF GBPJPY GBPNZD GBPUSD
## 0 0 0 0 0 0 0 0 0 0 0
## NZDCAD NZDCHF NZDJPY NZDUSD USDCAD USDCHF USDCNH USDJPY XAGUSD XAUUSD
## 0 0 0 0 0 0 0 0 0 0
You can see some important statistics of dataset from below table.
library(e1071)
library(moments)
library(tidyr)
library(tibble)
library(tidyverse)
library(psych)
df=df[-1]
describeBy(df)
## vars n mean sd median trimmed mad min max range
## AUDCHF 1 10765 0.70 0.04 0.70 0.70 0.05 0.54 0.78 0.24
## AUDJPY 2 10765 81.76 6.22 81.81 81.56 5.63 60.75 98.39 37.64
## AUDCAD 3 10765 0.95 0.04 0.95 0.95 0.05 0.81 1.03 0.22
## AUDNZD 4 10765 1.07 0.02 1.07 1.07 0.03 1.00 1.15 0.14
## AUDUSD 5 10765 0.73 0.04 0.73 0.73 0.04 0.56 0.81 0.25
## CADCHF 6 10765 0.74 0.02 0.74 0.74 0.02 0.66 0.79 0.13
## CADJPY 7 10765 86.33 7.31 84.64 85.15 4.94 74.25 110.47 36.22
## CHFJPY 8 10765 116.92 9.90 114.00 115.04 4.89 102.03 150.38 48.35
## EURAUD 9 10765 1.56 0.07 1.57 1.56 0.07 1.37 1.96 0.59
## EURCAD 10 10765 1.48 0.06 1.48 1.48 0.05 1.29 1.61 0.33
## EURCHF 11 10765 1.09 0.05 1.09 1.09 0.03 0.94 1.20 0.26
## EURGBP 12 10765 0.87 0.03 0.87 0.87 0.03 0.70 0.95 0.25
## EURJPY 13 10765 127.04 7.14 126.97 126.73 6.92 110.86 147.80 36.94
## EURNZD 14 10765 1.67 0.07 1.68 1.67 0.06 1.45 1.96 0.51
## EURUSD 15 10765 1.13 0.06 1.13 1.13 0.06 0.96 1.25 0.30
## GBPAUD 16 10765 1.80 0.09 1.80 1.80 0.08 1.58 2.14 0.56
## GBPCAD 17 10765 1.71 0.08 1.71 1.70 0.05 1.41 2.09 0.67
## GBPCHF 18 10765 1.26 0.07 1.26 1.26 0.06 1.02 1.55 0.53
## GBPJPY 19 10765 146.93 10.15 145.99 146.51 9.98 125.12 188.64 63.52
## GBPNZD 20 10765 1.93 0.09 1.93 1.93 0.06 1.68 2.35 0.67
## GBPUSD 21 10765 1.31 0.07 1.31 1.31 0.07 1.04 1.53 0.49
## NZDCAD 22 10765 0.89 0.04 0.88 0.89 0.04 0.76 0.98 0.22
## NZDCHF 23 10765 0.65 0.04 0.65 0.66 0.04 0.54 0.73 0.19
## NZDJPY 24 10765 76.28 4.99 76.45 76.28 4.54 60.48 88.01 27.53
## NZDUSD 25 10765 0.68 0.04 0.68 0.68 0.04 0.55 0.75 0.20
## USDCAD 26 10765 1.31 0.04 1.31 1.30 0.04 1.20 1.46 0.26
## USDCHF 27 10765 0.96 0.03 0.97 0.97 0.03 0.88 1.03 0.15
## USDCNH 28 10765 6.72 0.24 6.72 6.71 0.30 6.25 7.37 1.12
## USDJPY 29 10765 112.63 9.30 110.22 110.69 4.20 99.84 151.47 51.63
## XAGUSD 30 10765 19.10 3.91 17.58 18.73 3.15 11.85 29.48 17.63
## XAUUSD 31 10765 1507.99 263.88 1413.02 1496.75 283.21 1051.54 2067.38 1015.84
## skew kurtosis se
## AUDCHF -0.21 -0.61 0.00
## AUDJPY 0.13 -0.03 0.06
## AUDCAD -0.12 -0.87 0.00
## AUDNZD 0.33 -0.30 0.00
## AUDUSD -0.50 0.08 0.00
## CADCHF -0.61 -0.20 0.00
## CADJPY 1.43 1.73 0.07
## CHFJPY 1.76 2.64 0.10
## EURAUD 0.07 0.72 0.00
## EURCAD -0.72 0.37 0.00
## EURCHF -0.40 0.32 0.00
## EURGBP -1.24 2.49 0.00
## EURJPY 0.37 0.03 0.07
## EURNZD -0.55 0.35 0.00
## EURUSD -0.38 0.01 0.00
## GBPAUD 0.26 0.42 0.00
## GBPCAD 0.88 3.62 0.00
## GBPCHF 0.36 0.96 0.00
## GBPJPY 0.39 -0.20 0.10
## GBPNZD 0.09 1.00 0.00
## GBPUSD -0.08 0.09 0.00
## NZDCAD -0.28 -0.06 0.00
## NZDCHF -0.24 -0.69 0.00
## NZDJPY -0.08 -0.20 0.05
## NZDUSD -0.63 0.05 0.00
## USDCAD 0.28 0.27 0.00
## USDCHF -0.52 -0.80 0.00
## USDCNH 0.07 -1.00 0.00
## USDJPY 2.11 4.18 0.09
## XAGUSD 0.75 -0.71 0.04
## XAUUSD 0.29 -1.52 2.54
library(e1071)
library(moments)
library(tidyr)
library(tibble)
library(tidyverse)
library(psych)
boxplot(df[c(1:29)],las = 2)
boxplot(df[c(30,31)],las = 2)
library(e1071)
library(moments)
library(tidyr)
library(tibble)
library(tidyverse)
library(psych)
par(mfrow = c(3,4))
for(i in 1:12){
hist(df[,i],main = colnames(df)[i])
}
par(mfrow = c(3,4))
for(i in 13:24){
hist(df[,i],main = colnames(df)[i])
}
par(mfrow = c(2,4))
for(i in 25:31){
hist(df[,i],main = colnames(df)[i])
}
par(mfrow = c(1,1))
This is a correlation graphic. It is easy to see the highest and lowest correlation between variables. For example, USDJPY is highly correlated with CADJPY and CHFJPY. NZDCAD is highly correlated with AUDCAD. NZDUSD is highly correlated with AUDUSD.
library(qgraph)
qgraph(cor(df),labels=colnames(df))
I used IQR to find outlier values. After removing outliers, I have 7676 observations.
count(df)
## n
## 1 10765
outliers=df[0,]
for (i in 1:31) {
q1=quantile(df[,i], .25)
q3=quantile(df[,i], .75)
IQR=IQR(df[,i])
count_out<-subset(df, df[,i] > (q1 - 1.5*IQR) & df[,i] < (q3 + 1.5*IQR))
add_out<-setdiff(df,count_out)
outliers<-rbind(outliers,add_out)
outliers<-unique(outliers)
}
df<-setdiff(df,outliers)
count(df)
## n
## 1 7676
I trained rotated PCA model. Firstly, we have to normalize our data set. After it, we have to calculate covariance and eigen values. Then we trained rotated PCA using principal function with varimax rotation option. There is loadings for each factor. This loadings indicate correlation between currency pair and RC1, RC2. * RC1 is highly positive correlated with AUDCHF,AUDCAD,CADCHF,EURCHF,NZDCHF. And RC1 is highly negative correlated with EURAUD,GBPAUD,GBPNZD, XAUUSD. * RC2 is highly positive correlated with AUDJPY,CADJPY,CHFJPY,EURJPY,GBPJPY,GBPUSD,NZDJPY. And RC2 is highly negative correlated with USDCAD,USDCNH, USDCHF. * Goodness of fit is 0,83 * RC1 can explain 30 percent of 31 variables. * RC2 can explain 60 percent of 31 variables. *
library(psych)
library(clusterSim)
df.n<-data.Normalization(df, type="n1", normalization="column")
df.cov<-cov(df.n)
df.eigen<-eigen(df.cov)
pca4<-principal(df.cov, nfactors=2, rotate="varimax")
head(pca4)
## $values
## [1] 1.153424e+01 7.013194e+00 4.227529e+00 3.325186e+00 2.530495e+00
## [6] 1.083625e+00 9.257916e-01 1.763606e-01 1.497849e-01 2.814249e-02
## [11] 2.208883e-03 8.228951e-04 6.140448e-04 4.677327e-04 2.889112e-04
## [16] 2.606984e-04 2.074183e-04 1.343327e-04 1.095265e-04 8.986632e-05
## [21] 8.667102e-05 7.411472e-05 6.505188e-05 5.017632e-05 4.758365e-05
## [26] 3.387957e-05 2.820202e-05 2.424263e-05 1.525483e-05 1.512176e-05
## [31] 6.242035e-06
##
## $rotation
## [1] "varimax"
##
## $n.obs
## [1] NA
##
## $communality
## AUDCHF AUDJPY AUDCAD AUDNZD AUDUSD CADCHF CADJPY
## 0.97107588 0.91222370 0.64407230 0.12034347 0.85751025 0.49917369 0.63527815
## CHFJPY EURAUD EURCAD EURCHF EURGBP EURJPY EURNZD
## 0.85182157 0.64160609 0.01013291 0.53635139 0.11833097 0.67902956 0.38361389
## EURUSD GBPAUD GBPCAD GBPCHF GBPJPY GBPNZD GBPUSD
## 0.49063212 0.58421915 0.08295683 0.50002343 0.78151519 0.50967441 0.79809508
## NZDCAD NZDCHF NZDJPY NZDUSD USDCAD USDCHF USDCNH
## 0.48160812 0.94184637 0.90152172 0.78704178 0.77346852 0.70795035 0.79332046
## USDJPY XAGUSD XAUUSD
## 0.12599037 0.62948029 0.79752677
##
## $loadings
##
## Loadings:
## RC1 RC2
## AUDCHF 0.976 0.138
## AUDJPY 0.601 0.742
## AUDCAD 0.781 0.185
## AUDNZD 0.289 0.191
## AUDUSD 0.653 0.657
## CADCHF 0.706
## CADJPY 0.151 0.783
## CHFJPY -0.384 0.839
## EURAUD -0.753 -0.272
## EURCAD
## EURCHF 0.731
## EURGBP -0.340
## EURJPY 0.220 0.794
## EURNZD -0.596 -0.170
## EURUSD 0.191 0.674
## GBPAUD -0.764
## GBPCAD 0.287
## GBPCHF 0.677 0.205
## GBPJPY 0.148 0.872
## GBPNZD -0.706 0.104
## GBPUSD 0.138 0.883
## NZDCAD 0.688
## NZDCHF 0.967
## NZDJPY 0.564 0.764
## NZDUSD 0.604 0.650
## USDCAD -0.167 -0.863
## USDCHF 0.499 -0.677
## USDCNH -0.212 -0.865
## USDJPY 0.345
## XAGUSD -0.468 0.641
## XAUUSD -0.786 0.424
##
## RC1 RC2
## SS loadings 9.491 9.056
## Proportion Var 0.306 0.292
## Cumulative Var 0.306 0.598
##
## $fit
## [1] 0.8296409
We can see the complexity an uniqueness of each variable from below plot. GBPCAD and EURCAD has the largest unique value, and they are higher than 0,9. It means that these variables are not strongly correlated with other variables. So I removed these variables from the dataset. I will use dataset without GBPCAD, and EURCAD from now on.
par(mfrow=c(1,2))
plot(pca4$complexity)
plot(pca4$uniquenesses)
par(mfrow=c(1,1))
set<-data.frame(complex=pca4$complexity, unique=pca4$uniqueness)
tail(set[order(set$unique),])
## complex unique
## EURNZD 1.160888 0.6163861
## USDJPY 1.110678 0.8740096
## AUDNZD 1.732998 0.8796565
## EURGBP 1.047349 0.8816690
## GBPCAD 1.007496 0.9170432
## EURCAD 1.898571 0.9898671
df=df[-c(10,17)]
The main goal of PCA is to minimize dimensions, preserving the covariance of data.
First, we have to normalize our dataset and calculate covariance, and eigenvalues.
library(clusterSim)
df.n<-data.Normalization(df, type="n1", normalization="column")
df.cov<-cov(df.n)
df.eigen<-eigen(df.cov)
df.eigen$values
## [1] 1.149570e+01 6.967749e+00 4.001713e+00 2.776378e+00 1.731421e+00
## [6] 8.840814e-01 7.870096e-01 1.742080e-01 1.484947e-01 2.812983e-02
## [11] 2.023660e-03 7.922386e-04 5.870671e-04 4.265750e-04 2.821831e-04
## [16] 2.266632e-04 1.438783e-04 1.094790e-04 1.046126e-04 8.680014e-05
## [21] 8.455184e-05 6.116234e-05 5.363028e-05 4.181169e-05 2.970704e-05
## [26] 2.520425e-05 1.682551e-05 1.525626e-05 6.312481e-06
head(df.eigen$vectors)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] -0.2418472 -0.20690172 -0.03620309 0.05377337 -0.0009332690 -0.126410299
## [2,] -0.2788675 0.05954315 -0.06682821 0.03116742 -0.1729461332 -0.002881992
## [3,] -0.2067416 -0.14462123 0.22467294 0.10362963 0.0003009108 -0.092385920
## [4,] -0.1025010 -0.01363566 -0.07371298 0.38557376 -0.2630455321 -0.576114685
## [5,] -0.2726095 0.02273398 0.15591842 0.09657977 0.0096725705 -0.131954883
## [6,] -0.1611763 -0.17182323 -0.29143874 -0.02543344 0.0004008112 -0.098748823
## [,7] [,8] [,9] [,10] [,11] [,12]
## [1,] -0.005085311 0.03250668 0.09345574 -0.081512388 -0.272133239 -0.16247136
## [2,] 0.101120385 0.04460306 -0.02273838 -0.079651276 -0.317751699 0.14981490
## [3,] 0.395499431 0.03824011 0.02508033 -0.007719497 0.006743843 -0.23860067
## [4,] 0.190694783 -0.09184302 -0.01999144 -0.025045572 -0.005023702 -0.03449304
## [5,] -0.025028510 0.01680702 -0.12593877 -0.081951333 -0.299430151 0.11394880
## [6,] -0.426201031 0.03336895 0.11795995 -0.050923140 -0.097350315 -0.03200442
## [,13] [,14] [,15] [,16] [,17] [,18]
## [1,] -0.042840241 -0.267322991 0.27834436 -0.18047177 0.11799701 -0.22318545
## [2,] 0.212501410 -0.178332865 0.08485833 0.23343029 -0.09684879 0.07954948
## [3,] 0.196554189 -0.055404762 0.08515234 0.04655495 0.28553324 0.09343488
## [4,] -0.021598678 -0.001426875 -0.06251512 0.03358411 0.05398519 0.06406016
## [5,] 0.207492503 0.148431745 -0.05322957 -0.19403715 -0.07088037 -0.13639614
## [6,] 0.005813667 0.099062743 -0.06913359 -0.05921741 0.22159979 0.29254502
## [,19] [,20] [,21] [,22] [,23] [,24]
## [1,] -0.080929863 0.02348370 0.01085808 -0.02980712 -0.024879859 0.08633724
## [2,] -0.003675145 -0.02425706 0.08996190 0.24866663 -0.085595972 -0.45941806
## [3,] -0.066443332 0.09107954 0.21357206 0.14971117 0.207137549 0.43971585
## [4,] 0.137238158 0.13065965 -0.16706954 -0.42377586 -0.155387995 -0.12445455
## [5,] 0.055635781 -0.40779870 0.13185635 0.08074011 0.227294998 -0.07882794
## [6,] 0.072351305 0.07720338 -0.02996395 0.02051265 0.009345844 -0.14593678
## [,25] [,26] [,27] [,28] [,29]
## [1,] 0.2541039 0.24382658 -0.18250262 0.46987181 -0.34675591
## [2,] -0.2190590 0.12010472 0.23557324 0.24552348 0.34550896
## [3,] 0.1484908 -0.04862782 0.19473917 -0.17320980 0.31675100
## [4,] -0.1073862 -0.04338629 -0.22237608 -0.15663129 0.06406284
## [5,] -0.1132031 -0.17215276 0.09710166 -0.35223809 -0.43768635
## [6,] 0.4293274 -0.47236464 0.19736696 0.02891579 0.07370902
In order to train PCA model, I used prcomp function. You can see rotation values from below table. * We can reduce these 29 variables to at least 1 variable by performing dimensional reduction. PC1 can explain 63% of these variables. PC2 can explain 86% of these variables. If I reduce these 29 variables to three PC, it can explain 94 % of these variables.
pca1=prcomp(df.cov,center = F,scale. = F)
head(pca1)
## $sdev
## [1] 2.172483e+00 1.316781e+00 7.562526e-01 5.246862e-01 3.272077e-01
## [6] 1.670757e-01 1.487308e-01 3.292222e-02 2.806286e-02 5.316037e-03
## [11] 3.824359e-04 1.497190e-04 1.109453e-04 8.061509e-05 5.332759e-05
## [16] 4.283532e-05 2.719044e-05 2.068958e-05 1.976993e-05 1.640368e-05
## [21] 1.597880e-05 1.155860e-05 1.013517e-05 7.901667e-06 5.614102e-06
## [26] 4.763155e-06 3.179723e-06 2.883162e-06 1.192947e-06
##
## $rotation
## PC1 PC2 PC3 PC4 PC5
## AUDCHF -0.24184718 0.20690172 0.036203090 -0.053773366 0.0009332690
## AUDJPY -0.27886755 -0.05954315 0.066828210 -0.031167416 0.1729461332
## AUDCAD -0.20674160 0.14462123 -0.224672944 -0.103629634 -0.0003009108
## AUDNZD -0.10250105 0.01363566 0.073712976 -0.385573761 0.2630455321
## AUDUSD -0.27260945 -0.02273398 -0.155918423 -0.096579773 -0.0096725705
## CADCHF -0.16117626 0.17182323 0.291438741 0.025433439 -0.0004008112
## CADJPY -0.18888266 -0.18475871 0.245832333 0.049027418 0.2111793206
## CHFJPY -0.08125036 -0.33555707 0.041583434 0.035106211 0.2292575053
## EURAUD 0.21989554 -0.11432851 0.106223031 -0.227881108 -0.2194676698
## EURCHF -0.15310046 0.19346916 0.164699426 -0.302758441 -0.2221125169
## EURGBP 0.05331912 0.09924908 -0.127470216 -0.490525191 0.1785236695
## EURJPY -0.20489858 -0.17157567 0.171581428 -0.217431072 0.0446858846
## EURNZD 0.16441111 -0.10633107 0.142082679 -0.430101146 -0.0801621034
## EURUSD -0.17358417 -0.14582963 -0.114563967 -0.352746676 -0.2291385006
## GBPAUD 0.17107871 -0.18536033 0.199735495 0.142382436 -0.3399309554
## GBPCHF -0.18715519 0.11863146 0.250987488 0.058633269 -0.3520801676
## GBPJPY -0.20310208 -0.20627139 0.215730754 0.069573734 -0.0487662623
## GBPNZD 0.13651582 -0.20364319 0.268038036 -0.061807016 -0.2369780748
## GBPUSD -0.20173788 -0.21086648 -0.019820526 0.006074295 -0.3413217881
## NZDCAD -0.16730521 0.15013545 -0.285589641 0.102558062 -0.1480394389
## NZDCHF -0.22756367 0.22406916 0.009633497 0.089413973 -0.1023605412
## NZDJPY -0.27459437 -0.07319487 0.047681020 0.102438628 0.1000096439
## NZDUSD -0.25996705 -0.03109450 -0.203806851 0.050598770 -0.1183512517
## USDCAD 0.20795558 0.20433961 -0.005500174 0.028488707 0.0132265856
## USDCHF 0.02298260 0.31925698 0.256605812 0.051741039 0.0061202689
## USDCNH 0.21574290 0.18941973 0.059248668 -0.036084988 0.1663532351
## USDJPY -0.08727972 -0.07693222 0.374964950 0.104535086 0.3334974706
## XAGUSD -0.02312166 -0.30010483 -0.241734908 0.044433906 0.0348350719
## XAUUSD 0.08959471 -0.31918676 -0.184225102 0.023480882 0.0455560618
## PC6 PC7 PC8 PC9 PC10
## AUDCHF -0.126410299 -0.005085311 -0.032506680 -0.09345574 0.081512388
## AUDJPY -0.002881992 0.101120385 -0.044603058 0.02273838 0.079651276
## AUDCAD -0.092385920 0.395499431 -0.038240107 -0.02508033 0.007719497
## AUDNZD -0.576114685 0.190694783 0.091843021 0.01999144 0.025045572
## AUDUSD -0.131954883 -0.025028510 -0.016807020 0.12593877 0.081951333
## CADCHF -0.098748823 -0.426201031 -0.033368947 -0.11795995 0.050923140
## CADJPY 0.065222544 -0.167726845 -0.014552970 0.03999406 0.019863731
## CHFJPY 0.147044196 0.145794286 0.018330365 0.11903553 -0.053094157
## EURAUD 0.298678546 -0.026972348 -0.043876288 -0.04676741 -0.014337440
## EURCHF 0.115845806 -0.039001898 -0.097242108 -0.20792842 0.016487303
## EURGBP 0.321983021 -0.147821359 0.019295855 -0.09463988 -0.018738548
## EURJPY 0.234786300 0.108628564 -0.093582864 -0.01931261 -0.027099838
## EURNZD -0.009411700 0.075052100 0.002524756 -0.03828039 -0.033056727
## EURUSD 0.113247797 -0.056912209 -0.073660546 0.10250651 0.001091362
## GBPAUD 0.052272618 0.076417773 -0.050390473 0.03866802 0.023121641
## GBPCHF -0.125121369 0.070133993 -0.117692283 -0.13246716 0.037566925
## GBPJPY 0.038503038 0.170332585 -0.079483327 0.02528824 -0.009408660
## GBPNZD -0.278923633 0.201866663 -0.001447142 0.05324710 0.002088409
## GBPUSD -0.116432848 0.042560407 -0.080352736 0.16750132 0.010417838
## NZDCAD 0.222592941 0.322453425 -0.095730811 -0.03915305 -0.029896754
## NZDCHF 0.083011973 -0.076904316 -0.079915294 -0.11559293 0.052150800
## NZDJPY 0.203788508 0.049525612 -0.087181585 0.01319436 0.053144592
## NZDUSD 0.089497106 -0.103287616 -0.058718815 0.12799207 0.049595441
## USDCAD 0.103258149 0.494829529 -0.018951044 -0.21162585 0.042326373
## USDCHF -0.002895945 0.015308973 -0.046908374 -0.28389538 -0.019206900
## USDCNH -0.045562745 -0.005952437 -0.841462879 0.40023130 0.111837754
## USDJPY 0.207569207 0.235220225 -0.041371693 -0.15346784 -0.051418248
## XAGUSD -0.198169688 -0.111327261 -0.407781741 -0.53164392 -0.579988622
## XAUUSD -0.062312485 -0.048348182 -0.157435752 -0.45128967 0.778717727
## PC11 PC12 PC13 PC14 PC15
## AUDCHF -0.272133239 0.162471360 -0.042840241 0.267322991 0.2783443594
## AUDJPY -0.317751699 -0.149814900 0.212501410 0.178332865 0.0848583269
## AUDCAD 0.006743843 0.238600669 0.196554189 0.055404762 0.0851523393
## AUDNZD -0.005023702 0.034493036 -0.021598678 0.001426875 -0.0625151169
## AUDUSD -0.299430151 -0.113948803 0.207492503 -0.148431745 -0.0532295696
## CADCHF -0.097350315 0.032004419 0.005813667 -0.099062743 -0.0691335904
## CADJPY -0.099411016 -0.071963541 -0.184697822 -0.054155767 -0.0153204864
## CHFJPY 0.102683180 0.145315389 -0.123967502 -0.096265408 -0.1043394551
## EURAUD -0.278105789 -0.053329502 0.030499422 0.135963365 0.2221574469
## EURCHF 0.177775087 0.093887356 0.018251288 -0.139596540 0.0950738027
## EURGBP 0.035435340 -0.024137613 0.146954369 0.404155937 -0.5689798888
## EURJPY 0.079492936 0.031334800 -0.048016753 -0.050979295 0.3246685767
## EURNZD -0.143983836 0.008337963 -0.478195302 -0.163722977 0.0689996359
## EURUSD 0.111181963 -0.020434491 0.276004191 -0.339565561 0.1016926789
## GBPAUD -0.362071193 0.299632241 0.368598505 0.113206369 -0.0595690404
## GBPCHF 0.284632129 -0.030589867 -0.033876874 0.272380249 -0.0923074797
## GBPJPY 0.208877812 -0.207306973 -0.094030575 0.274700077 -0.0382287844
## GBPNZD -0.191416333 0.174317140 -0.091209596 -0.106828932 -0.4481633532
## GBPUSD 0.216187393 -0.367719245 0.033567142 0.104190730 -0.0884016030
## NZDCAD 0.061072809 0.302531236 -0.179227404 -0.120145793 -0.1887351433
## NZDCHF -0.178688632 0.189465718 -0.406891363 0.106174270 -0.0719856629
## NZDJPY -0.238930534 -0.183221188 -0.035713184 0.046944717 -0.1799819995
## NZDUSD -0.208807097 -0.084860417 -0.151503244 -0.330850172 -0.2263878375
## USDCAD -0.225426052 -0.513298765 -0.103419886 -0.055076352 0.0263633202
## USDCHF 0.035199745 -0.222403943 0.249640801 -0.391980024 -0.1779450709
## USDCNH 0.033020381 0.017715236 -0.009156874 0.002655626 0.0016966140
## USDJPY 0.107231900 0.236204600 0.202110868 -0.152639719 -0.0608527325
## XAGUSD -0.090807957 -0.022266348 0.010982535 0.024026271 -0.0005011362
## XAUUSD 0.085868994 0.044651343 -0.006685626 -0.030350614 -0.0088145739
## PC16 PC17 PC18 PC19 PC20
## AUDCHF -0.180471774 -0.117997014 -0.223185446 -0.080929863 -0.0234836963
## AUDJPY 0.233430286 0.096848786 0.079549475 -0.003675145 0.0242570585
## AUDCAD 0.046554946 -0.285533242 0.093434879 -0.066443332 -0.0910795377
## AUDNZD 0.033584112 -0.053985190 0.064060159 0.137238158 -0.1306596539
## AUDUSD -0.194037147 0.070880367 -0.136396141 0.055635781 0.4077986959
## CADCHF -0.059217406 -0.221599789 0.292545020 0.072351305 -0.0772033756
## CADJPY -0.278418778 -0.175335724 0.461523328 0.239297793 -0.0139159645
## CHFJPY -0.208327952 -0.103389070 -0.419244453 0.384740669 -0.3058597104
## EURAUD 0.187368646 -0.453299652 -0.038604341 0.050636741 0.1498502060
## EURCHF -0.041131402 0.416636962 0.078540079 -0.040042102 -0.0417894608
## EURGBP -0.167429718 0.005644595 -0.005794868 -0.013820157 0.0289794099
## EURJPY -0.258968123 0.265100429 0.052657406 -0.310201293 -0.1204364977
## EURNZD 0.262937177 -0.085257954 -0.042071526 0.023876806 0.0991177250
## EURUSD 0.003007966 -0.100569154 -0.033276295 0.235232743 -0.1534136350
## GBPAUD -0.201425441 0.109139533 0.063277985 0.138856774 -0.2033100624
## GBPCHF 0.184381277 0.121512286 -0.053661614 0.512107754 0.1693069040
## GBPJPY -0.134896211 -0.201928037 0.053581127 -0.345120099 0.0234494389
## GBPNZD -0.042831878 0.107185021 0.026571412 -0.291194028 0.0119908308
## GBPUSD -0.065573298 -0.217534590 -0.091168055 -0.096694115 0.0410745649
## NZDCAD 0.031197085 -0.206879247 0.410182571 0.014363105 -0.0069886971
## NZDCHF -0.153221422 -0.045543412 -0.381659664 -0.005222002 -0.0467861505
## NZDJPY 0.551292840 0.183991823 -0.004184201 -0.024797436 -0.4033677141
## NZDUSD -0.015525117 0.077183639 -0.060882096 -0.042874233 0.2352815665
## USDCAD -0.314714634 0.132447674 0.102103405 0.253204015 0.0017528186
## USDCHF -0.017210947 -0.313555170 -0.253230988 -0.192802309 -0.2518400660
## USDCNH -0.011862262 -0.002130316 -0.012261963 0.006833159 -0.0012100679
## USDJPY 0.139360611 -0.040000715 -0.116566273 0.017786803 0.5276078831
## XAGUSD -0.009200844 0.026492561 0.005178449 0.013597617 0.0101417101
## XAUUSD 0.005106642 -0.028637842 -0.001213098 -0.027826725 0.0005252916
## PC21 PC22 PC23 PC24 PC25
## AUDCHF -0.010858081 -0.029807117 -0.024879859 -0.0863372419 -0.254103853
## AUDJPY -0.089961899 0.248666628 -0.085595972 0.4594180632 0.219059010
## AUDCAD -0.213572055 0.149711171 0.207137549 -0.4397158483 -0.148490843
## AUDNZD 0.167069544 -0.423775859 -0.155387995 0.1244545467 0.107386216
## AUDUSD -0.131856350 0.080740113 0.227294998 0.0788279373 0.113203104
## CADCHF 0.029963953 0.020512651 0.009345844 0.1459367761 -0.429327384
## CADJPY -0.120664715 0.116713387 -0.026908834 -0.3018946270 0.224823898
## CHFJPY -0.329884017 -0.010218772 0.114509425 0.2422064842 -0.187659140
## EURAUD -0.153955270 -0.116234256 -0.020225732 0.1925434558 -0.113637498
## EURCHF -0.606239121 -0.152250904 -0.223620893 0.0066476721 0.074334678
## EURGBP 0.077830206 -0.007990711 0.041990050 -0.0500299124 -0.037643507
## EURJPY 0.412907449 -0.035862182 0.249337669 0.1528063416 -0.220473981
## EURNZD 0.027337900 -0.021825938 0.181284311 -0.1434874379 0.147297755
## EURUSD 0.294302786 0.341381202 -0.197356901 -0.1197236044 0.123089651
## GBPAUD 0.115614440 -0.358094693 0.017592410 -0.1200985371 0.217626625
## GBPCHF 0.153108053 0.079744117 0.369279454 0.0383617127 -0.035949772
## GBPJPY -0.116448921 -0.066949195 0.199580939 -0.0346502691 0.325603185
## GBPNZD -0.073271494 0.425096305 -0.048326308 0.0587108092 -0.221497794
## GBPUSD -0.002899446 -0.180843150 -0.439789890 -0.0278880050 -0.220533417
## NZDCAD 0.085369442 -0.096518946 -0.060704995 0.4092591295 0.060837345
## NZDCHF 0.193842938 0.147979965 -0.328757792 -0.0471178006 0.303156650
## NZDJPY 0.024797956 -0.076693737 -0.032266372 -0.2453572877 -0.137512468
## NZDUSD 0.014218074 -0.396774855 0.209738610 -0.0993197301 -0.117473722
## USDCAD 0.048773135 0.049736216 -0.123841154 -0.0606231577 -0.171348923
## USDCHF 0.021157343 -0.048911254 0.213843684 0.0898579585 0.216428199
## USDCNH -0.018144675 -0.001442521 -0.001048886 0.0006640399 0.001227850
## USDJPY 0.129584613 -0.087172758 -0.288160258 -0.1566248588 -0.093566209
## XAGUSD -0.005603731 0.004515721 -0.005901805 -0.0057027768 -0.003172638
## XAUUSD 0.007142976 -0.007394332 0.007639558 0.0046496938 0.001262790
## PC26 PC27 PC28 PC29
## AUDCHF -0.243826579 -0.182502623 -0.469871808 -0.3467559060
## AUDJPY -0.120104722 0.235573243 -0.245523481 0.3455089635
## AUDCAD 0.048627821 0.194739173 0.173209803 0.3167510011
## AUDNZD 0.043386288 -0.222376083 0.156631289 0.0640628450
## AUDUSD 0.172152756 0.097101663 0.352238085 -0.4376863493
## CADCHF 0.472364638 0.197366957 -0.028915787 0.0737090161
## CADJPY -0.414272239 -0.060746443 0.101800907 -0.0288367040
## CHFJPY 0.060891582 0.065925635 -0.048524665 0.0115994944
## EURAUD -0.055931803 -0.340779375 0.314443954 0.1055712067
## EURCHF 0.011243580 -0.045232938 0.023958526 0.0007340277
## EURGBP -0.055519611 0.070325375 -0.062380259 -0.0010268036
## EURJPY -0.130817303 0.083249078 0.264324518 0.0692615650
## EURNZD 0.058739487 0.468636132 -0.230910700 -0.1393066160
## EURUSD 0.164955411 -0.249000389 -0.246023111 -0.0226080793
## GBPAUD 0.078196788 0.207038469 -0.068047720 -0.0011311584
## GBPCHF -0.145885436 -0.068781379 0.047138756 0.0397881164
## GBPJPY 0.457397920 -0.233424351 -0.203120901 -0.0313184070
## GBPNZD -0.114097194 -0.212539182 0.019423829 0.0248246336
## GBPUSD -0.210872178 0.386386633 0.057939927 -0.0503628008
## NZDCAD -0.060658910 0.012845634 -0.049311030 -0.2879030395
## NZDCHF 0.139099169 0.037272332 0.296043219 0.2254713352
## NZDJPY 0.074661246 -0.112166379 0.166567503 -0.2858255981
## NZDUSD -0.092647370 -0.198511439 -0.248862702 0.4422659316
## USDCAD 0.175745097 -0.037857193 -0.064329579 0.0447324986
## USDCHF -0.272499473 0.060022645 0.014243768 -0.0485773395
## USDCNH -0.001376357 -0.005168495 -0.003847927 -0.0024079166
## USDJPY 0.055952326 0.020085518 -0.060927867 -0.0315907217
## XAGUSD 0.004551657 -0.008713797 -0.004895806 0.0022271098
## XAUUSD -0.009712667 0.009826906 0.005940468 -0.0032260847
##
## $center
## [1] FALSE
##
## $scale
## [1] FALSE
##
## $x
## PC1 PC2 PC3 PC4 PC5
## AUDCHF -2.7802021 1.44163929 0.14487437 -0.14929520 0.0016158813
## AUDJPY -3.2057771 -0.41488172 0.26742731 -0.08653253 0.2994425088
## AUDCAD -2.3766390 1.00768447 -0.89907661 -0.28771505 -0.0005210032
## AUDNZD -1.1783211 0.09500988 0.29497817 -1.07049857 0.4554424698
## AUDUSD -3.1338359 -0.15840469 -0.62394076 -0.26814197 -0.0167472885
## CADCHF -1.8528336 1.19722114 1.16625416 0.07061285 -0.0006939727
## CADJPY -2.1713380 -1.28735233 0.98375041 0.13611865 0.3656402395
## CHFJPY -0.9340296 -2.33807752 0.16640496 0.09746812 0.3969411820
## EURAUD 2.5278527 -0.79661235 0.42507407 -0.63268413 -0.3799908586
## EURCHF -1.7599966 1.34804455 0.65907981 -0.84057193 -0.3845702014
## EURGBP 0.6129404 0.69154268 -0.51009920 -1.36188343 0.3090995704
## EURJPY -2.3554522 -1.19549624 0.68661961 -0.60367088 0.0773700640
## EURNZD 1.8900204 -0.74088826 0.56857409 -1.19412343 -0.1387943222
## EURUSD -1.9954712 -1.01610430 -0.45845210 -0.97935817 -0.3967351349
## GBPAUD 1.9666691 -1.29154425 0.79928410 0.39530749 -0.5885634804
## GBPCHF -2.1514795 0.82659426 1.00437986 0.16278813 -0.6095988776
## GBPJPY -2.3348001 -1.43724731 0.86329253 0.19316300 -0.0844349142
## GBPNZD 1.5693446 -1.41893468 1.07261126 -0.17159965 -0.4103087355
## GBPUSD -2.3191177 -1.46926477 -0.07931606 0.01686454 -0.5909715969
## NZDCAD -1.9232902 1.04610619 -1.14284774 0.28473996 -0.2563185436
## NZDCHF -2.6160032 1.56125772 0.03855049 0.24824700 -0.1772291562
## NZDJPY -3.1566540 -0.51000353 0.19080575 0.28440837 0.1731587641
## NZDUSD -2.9885027 -0.21665868 -0.81557650 0.14048132 -0.2049158028
## USDCAD 2.3905945 1.42378717 -0.02201012 0.07909542 0.0229007836
## USDCHF 0.2642011 2.22450258 1.02686278 0.14365269 0.0105967601
## USDCNH 2.4801152 1.31982916 0.23709616 -0.10018557 0.2880274287
## USDJPY -1.0033413 -0.53604439 1.50050206 0.29022893 0.5774244119
## XAGUSD -0.2657996 -2.09105520 -0.96735369 0.12336533 0.0603141633
## XAUUSD 1.0299537 -2.22401326 -0.73721596 0.06519181 0.0788767068
## PC6 PC7 PC8 PC9 PC10
## AUDCHF -0.111757000 -0.004002188 -0.0056629234 -0.013877683 2.292929e-03
## AUDJPY -0.002547915 0.079582715 -0.0077702092 0.003376529 2.240576e-03
## AUDCAD -0.081676678 0.311261852 -0.0066617323 -0.003724296 2.171481e-04
## AUDNZD -0.509332305 0.150078626 0.0159997884 0.002968622 7.045276e-04
## AUDUSD -0.116658864 -0.019697677 -0.0029279172 0.018701240 2.305277e-03
## CADCHF -0.087302003 -0.335424306 -0.0058131373 -0.017516427 1.432459e-03
## CADJPY 0.057662042 -0.132002639 -0.0025352437 0.005938906 5.587633e-04
## CHFJPY 0.129999046 0.114741504 0.0031932961 0.017676146 -1.493529e-03
## EURAUD 0.264056162 -0.021227497 -0.0076436000 -0.006944713 -4.033097e-04
## EURCHF 0.102417128 -0.030694868 -0.0169403525 -0.030876268 4.637850e-04
## EURGBP 0.284659216 -0.116336830 0.0033614923 -0.014053520 -5.271121e-04
## EURJPY 0.207570213 0.085491724 -0.0163028829 -0.002867820 -7.623137e-04
## EURNZD -0.008320709 0.059066724 0.0004398327 -0.005684436 -9.298799e-04
## EURUSD 0.100120276 -0.044790455 -0.0128322559 0.015221674 3.069981e-05
## GBPAUD 0.046213252 0.060141521 -0.0087784231 0.005741996 6.504077e-04
## GBPCHF -0.110617481 0.055196127 -0.0205029364 -0.019670671 1.056751e-03
## GBPJPY 0.034039822 0.134053381 -0.0138466308 0.003755169 -2.646640e-04
## GBPNZD -0.246591209 0.158871003 -0.0002521037 0.007906912 5.874659e-05
## GBPUSD -0.102936120 0.033495449 -0.0139980889 0.024873058 2.930520e-04
## NZDCAD 0.196790290 0.253773944 -0.0166770725 -0.005814020 -8.409905e-04
## NZDCHF 0.073389345 -0.060524436 -0.0139218830 -0.017164938 1.466993e-03
## NZDJPY 0.180165640 0.038977133 -0.0151877290 0.001959293 1.494948e-03
## NZDUSD 0.079122731 -0.081288346 -0.0102292870 0.019006144 1.395111e-03
## USDCAD 0.091288614 0.389435594 -0.0033014234 -0.031425317 1.190633e-03
## USDCHF -0.002560251 0.012048309 -0.0081718136 -0.042156959 -5.402867e-04
## USDCNH -0.040281177 -0.004684625 -0.1465895592 0.059432227 3.145976e-03
## USDJPY 0.183508085 0.185120577 -0.0072072795 -0.022789160 -1.446386e-03
## XAGUSD -0.175198145 -0.087615624 -0.0710388386 -0.078946304 -1.631498e-02
## XAUUSD -0.055089312 -0.038050484 -0.0274265663 -0.067014124 2.190519e-02
## PC11 PC12 PC13 PC14 PC15
## AUDCHF -5.507053e-04 1.287161e-04 -2.515010e-05 1.140333e-04 7.854407e-05
## AUDJPY -6.430215e-04 -1.186891e-04 1.247526e-04 7.607234e-05 2.394558e-05
## AUDCAD 1.364725e-05 1.890287e-04 1.153905e-04 2.363429e-05 2.402855e-05
## AUDNZD -1.016627e-05 2.732671e-05 -1.267987e-05 6.086692e-07 -1.764071e-05
## AUDUSD -6.059449e-04 -9.027464e-05 1.218120e-04 -6.331727e-05 -1.502048e-05
## CADCHF -1.970040e-04 2.535514e-05 3.413013e-06 -4.225769e-05 -1.950833e-05
## CADJPY -2.011741e-04 -5.701230e-05 -1.084300e-04 -2.310150e-05 -4.323182e-06
## CHFJPY 2.077959e-04 1.151245e-04 -7.277725e-05 -4.106441e-05 -2.944283e-05
## EURAUD -5.627917e-04 -4.224969e-05 1.790521e-05 5.799857e-05 6.268907e-05
## EURCHF 3.597564e-04 7.438119e-05 1.071473e-05 -5.954839e-05 2.682822e-05
## EURGBP 7.170909e-05 -1.912275e-05 8.627208e-05 1.724028e-04 -1.605565e-04
## EURJPY 1.608667e-04 2.482464e-05 -2.818906e-05 -2.174649e-05 9.161598e-05
## EURNZD -2.913744e-04 6.605656e-06 -2.807327e-04 -6.984013e-05 1.947053e-05
## EURUSD 2.249945e-04 -1.618899e-05 1.620330e-04 -1.448502e-04 2.869595e-05
## GBPAUD -7.327091e-04 2.373802e-04 2.163921e-04 4.829100e-05 -1.680938e-05
## GBPCHF 5.759988e-04 -2.423447e-05 -1.988800e-05 1.161906e-04 -2.604761e-05
## GBPJPY 4.226978e-04 -1.642366e-04 -5.520226e-05 1.171802e-04 -1.078752e-05
## GBPNZD -3.873617e-04 1.381008e-04 -5.354616e-05 -4.557055e-05 -1.264641e-04
## GBPUSD 4.374899e-04 -2.913214e-04 1.970617e-05 4.444516e-05 -2.494544e-05
## NZDCAD 1.235906e-04 2.396769e-04 -1.052185e-04 -5.125119e-05 -5.325787e-05
## NZDCHF -3.616051e-04 1.501021e-04 -2.388725e-04 4.529129e-05 -2.031314e-05
## NZDJPY -4.835143e-04 -1.451549e-04 -2.096604e-05 2.002544e-05 -5.078788e-05
## NZDUSD -4.225546e-04 -6.722970e-05 -8.894257e-05 -1.411324e-04 -6.388282e-05
## USDCAD -4.561858e-04 -4.066551e-04 -6.071442e-05 -2.349419e-05 7.439283e-06
## USDCHF 7.123233e-05 -1.761970e-04 1.465559e-04 -1.672089e-04 -5.021309e-05
## USDCNH 6.682204e-05 1.403469e-05 -5.375700e-06 1.132823e-06 4.787558e-07
## USDJPY 2.170009e-04 1.871304e-04 1.186526e-04 -6.511228e-05 -1.717161e-05
## XAGUSD -1.837645e-04 -1.764026e-05 6.447486e-06 1.024901e-05 -1.414122e-07
## XAUUSD 1.737697e-04 3.537452e-05 -3.924911e-06 -1.294681e-05 -2.487324e-06
## PC16 PC17 PC18 PC19 PC20
## AUDCHF -4.090632e-05 -1.697721e-05 -2.443412e-05 -8.466285e-06 -2.038388e-06
## AUDJPY 5.291006e-05 1.393444e-05 8.708996e-06 -3.844665e-07 2.105516e-06
## AUDCAD 1.055229e-05 -4.108203e-05 1.022916e-05 -6.950811e-06 -7.905717e-06
## AUDNZD 7.612283e-06 -7.767296e-06 7.013241e-06 1.435684e-05 -1.134128e-05
## AUDUSD -4.398109e-05 1.019815e-05 -1.493251e-05 5.820205e-06 3.539698e-05
## CADCHF -1.342241e-05 -3.188340e-05 3.202753e-05 7.568860e-06 -6.701264e-06
## CADJPY -6.310730e-05 -2.522700e-05 5.052711e-05 2.503357e-05 -1.207908e-06
## CHFJPY -4.722029e-05 -1.487544e-05 -4.589846e-05 4.024873e-05 -2.654867e-05
## EURAUD 4.246958e-05 -6.521997e-05 -4.226364e-06 5.297242e-06 1.300702e-05
## EURCHF -9.322977e-06 5.994501e-05 8.598488e-06 -4.188909e-06 -3.627331e-06
## EURGBP -3.795016e-05 8.121347e-07 -6.344163e-07 -1.445763e-06 2.515417e-06
## EURJPY -5.869855e-05 3.814219e-05 5.764879e-06 -3.245097e-05 -1.045391e-05
## EURNZD 5.959819e-05 -1.226677e-05 -4.605948e-06 2.497815e-06 8.603433e-06
## EURUSD 6.817953e-07 -1.446972e-05 -3.643055e-06 2.460831e-05 -1.331633e-05
## GBPAUD -4.565574e-05 1.570281e-05 6.927610e-06 1.452617e-05 -1.764734e-05
## GBPCHF 4.179246e-05 1.748298e-05 -5.874819e-06 5.357294e-05 1.469586e-05
## GBPJPY -3.057601e-05 -2.905306e-05 5.866008e-06 -3.610392e-05 2.035415e-06
## GBPNZD -9.708412e-06 1.542160e-05 2.909011e-06 -3.046257e-05 1.040806e-06
## GBPUSD -1.486306e-05 -3.129850e-05 -9.980986e-06 -1.011543e-05 3.565278e-06
## NZDCAD 7.071232e-06 -2.976543e-05 4.490637e-05 1.502562e-06 -6.066199e-07
## NZDCHF -3.472966e-05 -6.552708e-06 -4.178371e-05 -5.462873e-07 -4.061045e-06
## NZDJPY 1.249578e-04 2.647243e-05 -4.580821e-07 -2.594125e-06 -3.501237e-05
## NZDUSD -3.518973e-06 1.110505e-05 -6.665310e-06 -4.485186e-06 2.042247e-05
## USDCAD -7.133424e-05 1.905634e-05 1.117818e-05 2.648834e-05 1.521449e-07
## USDCHF -3.901089e-06 -4.511378e-05 -2.772347e-05 -2.016956e-05 -2.185975e-05
## USDCNH -2.688739e-06 -3.065062e-07 -1.342427e-06 7.148347e-07 -1.050341e-07
## USDJPY 3.158793e-05 -5.755234e-06 -1.276156e-05 1.860724e-06 4.579644e-05
## XAGUSD -2.085493e-06 3.811704e-06 5.669313e-07 1.422482e-06 8.803019e-07
## XAUUSD 1.157488e-06 -4.120363e-06 -1.328087e-07 -2.911027e-06 4.559538e-08
## PC21 PC22 PC23 PC24 PC25
## AUDCHF -9.180707e-07 -1.823073e-06 -1.334314e-06 -3.609906e-06 -7.548673e-06
## AUDJPY -7.606444e-06 1.520903e-05 -4.590536e-06 1.920905e-05 6.507594e-06
## AUDCAD -1.805791e-05 9.156686e-06 1.110885e-05 -1.838526e-05 -4.411223e-06
## AUDNZD 1.412604e-05 -2.591913e-05 -8.333502e-06 5.203655e-06 3.190126e-06
## AUDUSD -1.114870e-05 4.938255e-06 1.218990e-05 3.295929e-06 3.362929e-06
## CADCHF 2.533507e-06 1.254602e-06 5.012202e-07 6.101863e-06 -1.275404e-05
## CADJPY -1.020242e-05 7.138464e-06 -1.443128e-06 -1.262272e-05 6.678852e-06
## CHFJPY -2.789230e-05 -6.250041e-07 6.141173e-06 1.012706e-05 -5.574797e-06
## EURAUD -1.301720e-05 -7.109160e-06 -1.084712e-06 8.050567e-06 -3.375833e-06
## EURCHF -5.125864e-05 -9.312022e-06 -1.199285e-05 2.779504e-07 2.208263e-06
## EURGBP 6.580687e-06 -4.887306e-07 2.251938e-06 -2.091835e-06 -1.118277e-06
## EURJPY 3.491209e-05 -2.193415e-06 1.337205e-05 6.389091e-06 -6.549629e-06
## EURNZD 2.311470e-06 -1.334926e-06 9.722329e-06 -5.999452e-06 4.375780e-06
## EURUSD 2.488384e-05 2.087967e-05 -1.058431e-05 -5.005846e-06 3.656629e-06
## GBPAUD 9.775414e-06 -2.190191e-05 9.434859e-07 -5.021523e-06 6.465042e-06
## GBPCHF 1.294557e-05 4.877337e-06 1.980456e-05 1.603968e-06 -1.067961e-06
## GBPJPY -9.845971e-06 -4.094770e-06 1.070358e-05 -1.448786e-06 9.672706e-06
## GBPNZD -6.195240e-06 2.599989e-05 -2.591754e-06 2.454798e-06 -6.580043e-06
## GBPUSD -2.451535e-07 -1.106079e-05 -2.358606e-05 -1.166045e-06 -6.551395e-06
## NZDCAD 7.218144e-06 -5.903325e-06 -3.255626e-06 1.711182e-05 1.807297e-06
## NZDCHF 1.638978e-05 9.050802e-06 -1.763137e-05 -1.970075e-06 9.005886e-06
## NZDJPY 2.096713e-06 -4.690769e-06 -1.730455e-06 -1.025880e-05 -4.085088e-06
## NZDUSD 1.202164e-06 -2.426768e-05 1.124834e-05 -4.152726e-06 -3.489796e-06
## USDCAD 4.123858e-06 3.041984e-06 -6.641636e-06 -2.534757e-06 -5.090269e-06
## USDCHF 1.788892e-06 -2.991527e-06 1.146850e-05 3.757113e-06 6.429441e-06
## USDCNH -1.534166e-06 -8.822794e-08 -5.625205e-08 2.776463e-08 3.647580e-08
## USDJPY 1.095662e-05 -5.331690e-06 -1.545412e-05 -6.548750e-06 -2.779575e-06
## XAGUSD -4.738058e-07 2.761921e-07 -3.165155e-07 -2.384427e-07 -9.424967e-08
## XAUUSD 6.039518e-07 -4.522547e-07 4.097117e-07 1.944116e-07 3.751375e-08
## PC26 PC27 PC28 PC29
## AUDCHF -6.145465e-06 -3.070700e-06 -7.168486e-06 -2.188890e-06
## AUDJPY -3.027149e-06 3.963640e-06 -3.745770e-06 2.181019e-06
## AUDCAD 1.225628e-06 3.276586e-06 2.642534e-06 1.999485e-06
## AUDNZD 1.093519e-06 -3.741591e-06 2.389608e-06 4.043955e-07
## AUDUSD 4.338981e-06 1.633785e-06 5.373835e-06 -2.762887e-06
## CADCHF 1.190559e-05 3.320800e-06 -4.411467e-07 4.652867e-07
## CADJPY -1.044142e-05 -1.022090e-06 1.553101e-06 -1.820311e-07
## CHFJPY 1.534726e-06 1.109233e-06 -7.403049e-07 7.322159e-08
## EURAUD -1.409719e-06 -5.733787e-06 4.797238e-06 6.664162e-07
## EURCHF 2.833860e-07 -7.610673e-07 3.655175e-07 4.633536e-09
## EURGBP -1.399330e-06 1.183260e-06 -9.516894e-07 -6.481678e-09
## EURJPY -3.297152e-06 1.400708e-06 4.032603e-06 4.372123e-07
## EURNZD 1.480485e-06 7.885043e-06 -3.522833e-06 -8.793703e-07
## EURUSD 4.157577e-06 -4.189559e-06 -3.753392e-06 -1.427131e-07
## GBPAUD 1.970891e-06 3.483528e-06 -1.038154e-06 -7.140415e-09
## GBPCHF -3.676933e-06 -1.157282e-06 7.191611e-07 2.511617e-07
## GBPJPY 1.152837e-05 -3.927484e-06 -3.098865e-06 -1.976968e-07
## GBPNZD -2.875734e-06 -3.576080e-06 2.963350e-07 1.567050e-07
## GBPUSD -5.314874e-06 6.501153e-06 8.839465e-07 -3.179142e-07
## NZDCAD -1.528862e-06 2.161344e-07 -7.523018e-07 -1.817382e-06
## NZDCHF 3.505890e-06 6.271261e-07 4.516512e-06 1.423283e-06
## NZDJPY 1.881780e-06 -1.887257e-06 2.541197e-06 -1.804269e-06
## NZDUSD -2.335107e-06 -3.340057e-06 -3.796714e-06 2.791795e-06
## USDCAD 4.429523e-06 -6.369666e-07 -9.814287e-07 2.823730e-07
## USDCHF -6.868144e-06 1.009912e-06 2.173066e-07 -3.066435e-07
## USDCNH -3.469004e-08 -8.696257e-08 -5.870497e-08 -1.519993e-08
## USDJPY 1.410236e-06 3.379491e-07 -9.295313e-07 -1.994158e-07
## XAGUSD 1.147211e-07 -1.466141e-07 -7.469169e-08 1.405859e-08
## XAUUSD -2.448005e-07 1.653427e-07 9.062932e-08 -2.036460e-08
summary(pca1)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5 PC6 PC7
## Standard deviation 2.1725 1.3168 0.75625 0.5247 0.32721 0.16708 0.14873
## Proportion of Variance 0.6327 0.2324 0.07667 0.0369 0.01435 0.00374 0.00297
## Cumulative Proportion 0.6327 0.8651 0.94178 0.9787 0.99304 0.99678 0.99975
## PC8 PC9 PC10 PC11 PC12 PC13
## Standard deviation 0.03292 0.02806 0.005316 0.0003824 0.0001497 0.0001109
## Proportion of Variance 0.00015 0.00011 0.000000 0.0000000 0.0000000 0.0000000
## Cumulative Proportion 0.99989 1.00000 1.000000 1.0000000 1.0000000 1.0000000
## PC14 PC15 PC16 PC17 PC18
## Standard deviation 8.062e-05 5.333e-05 4.284e-05 2.719e-05 2.069e-05
## Proportion of Variance 0.000e+00 0.000e+00 0.000e+00 0.000e+00 0.000e+00
## Cumulative Proportion 1.000e+00 1.000e+00 1.000e+00 1.000e+00 1.000e+00
## PC19 PC20 PC21 PC22 PC23
## Standard deviation 1.977e-05 1.64e-05 1.598e-05 1.156e-05 1.014e-05
## Proportion of Variance 0.000e+00 0.00e+00 0.000e+00 0.000e+00 0.000e+00
## Cumulative Proportion 1.000e+00 1.00e+00 1.000e+00 1.000e+00 1.000e+00
## PC24 PC25 PC26 PC27 PC28
## Standard deviation 7.902e-06 5.614e-06 4.763e-06 3.18e-06 2.883e-06
## Proportion of Variance 0.000e+00 0.000e+00 0.000e+00 0.00e+00 0.000e+00
## Cumulative Proportion 1.000e+00 1.000e+00 1.000e+00 1.00e+00 1.000e+00
## PC29
## Standard deviation 1.193e-06
## Proportion of Variance 0.000e+00
## Cumulative Proportion 1.000e+00
You can see each dimensional is highly positive and negative correlated with what variables. For example: * Dim1 is highly positive correlated with USDCAD,USDCNH,EURAUD,EURNZD,GBPNZD,GBPAUD. * Dim1 is highly negative correlated with AUDUSD,NZDUSD,AUDJPY,NZDJPY. * Dim2 is highly positive correlated with USDCHF,NZDCHF,AUDCHF,USDCAD,USDCNH. * Dim2 is highly negative correlated with CHFJPY,XAGUSD,XAUUSD.
library(factoextra)
fviz_pca_var(pca1, col.var="steelblue")
fviz_eig(pca1, choice='eigenvalue')
fviz_eig(pca1) # percentage of explained variance on y-axis
eig.val<-get_eigenvalue(pca1)
It shows optimal number of PC. I think 5 PC is optimal number. In other words, PC1 PC2 PC3 PC4 and PC5 can explain 98% of these variables.
a<-summary(pca1)
plot(a$importance[3,],type="l")
library(factoextra)
ind<-get_pca_ind(pca1)
print(ind)
## Principal Component Analysis Results for individuals
## ===================================================
## Name Description
## 1 "$coord" "Coordinates for the individuals"
## 2 "$cos2" "Cos2 for the individuals"
## 3 "$contrib" "contributions of the individuals"
head(ind$coord) # coordinates of variables
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## AUDCHF -2.780202 1.44163929 0.1448744 -0.14929520 0.0016158813 -0.111757000
## AUDJPY -3.205777 -0.41488172 0.2674273 -0.08653253 0.2994425088 -0.002547915
## AUDCAD -2.376639 1.00768447 -0.8990766 -0.28771505 -0.0005210032 -0.081676678
## AUDNZD -1.178321 0.09500988 0.2949782 -1.07049857 0.4554424698 -0.509332305
## AUDUSD -3.133836 -0.15840469 -0.6239408 -0.26814197 -0.0167472885 -0.116658864
## CADCHF -1.852834 1.19722114 1.1662542 0.07061285 -0.0006939727 -0.087302003
## Dim.7 Dim.8 Dim.9 Dim.10 Dim.11
## AUDCHF -0.004002188 -0.005662923 -0.013877683 0.0022929292 -5.507053e-04
## AUDJPY 0.079582715 -0.007770209 0.003376529 0.0022405765 -6.430215e-04
## AUDCAD 0.311261852 -0.006661732 -0.003724296 0.0002171481 1.364725e-05
## AUDNZD 0.150078626 0.015999788 0.002968622 0.0007045276 -1.016627e-05
## AUDUSD -0.019697677 -0.002927917 0.018701240 0.0023052767 -6.059449e-04
## CADCHF -0.335424306 -0.005813137 -0.017516427 0.0014324590 -1.970040e-04
## Dim.12 Dim.13 Dim.14 Dim.15 Dim.16
## AUDCHF 1.287161e-04 -2.515010e-05 1.140333e-04 7.854407e-05 -4.090632e-05
## AUDJPY -1.186891e-04 1.247526e-04 7.607234e-05 2.394558e-05 5.291006e-05
## AUDCAD 1.890287e-04 1.153905e-04 2.363429e-05 2.402855e-05 1.055229e-05
## AUDNZD 2.732671e-05 -1.267987e-05 6.086692e-07 -1.764071e-05 7.612283e-06
## AUDUSD -9.027464e-05 1.218120e-04 -6.331727e-05 -1.502048e-05 -4.398109e-05
## CADCHF 2.535514e-05 3.413013e-06 -4.225769e-05 -1.950833e-05 -1.342241e-05
## Dim.17 Dim.18 Dim.19 Dim.20 Dim.21
## AUDCHF -1.697721e-05 -2.443412e-05 -8.466285e-06 -2.038388e-06 -9.180707e-07
## AUDJPY 1.393444e-05 8.708996e-06 -3.844665e-07 2.105516e-06 -7.606444e-06
## AUDCAD -4.108203e-05 1.022916e-05 -6.950811e-06 -7.905717e-06 -1.805791e-05
## AUDNZD -7.767296e-06 7.013241e-06 1.435684e-05 -1.134128e-05 1.412604e-05
## AUDUSD 1.019815e-05 -1.493251e-05 5.820205e-06 3.539698e-05 -1.114870e-05
## CADCHF -3.188340e-05 3.202753e-05 7.568860e-06 -6.701264e-06 2.533507e-06
## Dim.22 Dim.23 Dim.24 Dim.25 Dim.26
## AUDCHF -1.823073e-06 -1.334314e-06 -3.609906e-06 -7.548673e-06 -6.145465e-06
## AUDJPY 1.520903e-05 -4.590536e-06 1.920905e-05 6.507594e-06 -3.027149e-06
## AUDCAD 9.156686e-06 1.110885e-05 -1.838526e-05 -4.411223e-06 1.225628e-06
## AUDNZD -2.591913e-05 -8.333502e-06 5.203655e-06 3.190126e-06 1.093519e-06
## AUDUSD 4.938255e-06 1.218990e-05 3.295929e-06 3.362929e-06 4.338981e-06
## CADCHF 1.254602e-06 5.012202e-07 6.101863e-06 -1.275404e-05 1.190559e-05
## Dim.27 Dim.28 Dim.29
## AUDCHF -3.070700e-06 -7.168486e-06 -2.188890e-06
## AUDJPY 3.963640e-06 -3.745770e-06 2.181019e-06
## AUDCAD 3.276586e-06 2.642534e-06 1.999485e-06
## AUDNZD -3.741591e-06 2.389608e-06 4.043955e-07
## AUDUSD 1.633785e-06 5.373835e-06 -2.762887e-06
## CADCHF 3.320800e-06 -4.411467e-07 4.652867e-07
head(ind$contrib) # contributions of individuals to PC
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## AUDCHF 5.647316 4.13321730 0.1265468 0.27918654 8.409569e-05 1.542854e+00
## AUDJPY 7.508548 0.34231317 0.4312009 0.09379110 2.887897e+00 8.019466e-04
## AUDCAD 4.126822 2.01940835 4.8737313 1.03687872 8.742500e-06 8.240842e-01
## AUDNZD 1.014417 0.01795199 0.5246237 14.35406725 6.680699e+00 3.204630e+01
## AUDUSD 7.175330 0.04990121 2.3472260 0.90060093 9.033246e-03 1.681167e+00
## CADCHF 2.508200 2.85051790 8.2007694 0.06245543 1.551099e-05 9.415077e-01
## Dim.7 Dim.8 Dim.9 Dim.10 Dim.11 Dim.12
## AUDCHF 0.002496865 0.10202468 0.84328045 0.641515667 7.150282732 2.54867035
## AUDJPY 0.987273464 0.19208316 0.04992052 0.612555590 9.748455099 2.16705558
## AUDCAD 15.102601384 0.14118814 0.06073324 0.005753578 0.004391116 5.49671663
## AUDNZD 3.511055186 0.81442736 0.03858763 0.060565032 0.002436732 0.11487430
## AUDUSD 0.060482538 0.02727354 1.53136578 0.648443407 8.656674577 1.25365943
## CADCHF 17.538361785 0.10750905 1.34347367 0.250374664 0.915028792 0.09889628
## Dim.13 Dim.14 Dim.15 Dim.16 Dim.17 Dim.18
## AUDCHF 0.177200049 6.8997389107 7.4804011 3.1446956 1.3443182 4.8094097
## AUDJPY 4.359971665 3.0705968904 0.6952628 5.2610743 0.9056250 0.6109908
## AUDCAD 3.730135776 0.2963836350 0.7000889 0.2092626 7.8717880 0.8429039
## AUDNZD 0.045041659 0.0001965766 0.3773376 0.1089000 0.2813904 0.3962197
## AUDUSD 4.156854766 2.1272259281 0.2735684 3.6352124 0.4850784 1.7962393
## CADCHF 0.003263326 0.9475033088 0.4614645 0.3385780 4.7413140 8.2631465
## Dim.19 Dim.20 Dim.21 Dim.22 Dim.23 Dim.24
## AUDCHF 0.632379292 0.05324673 0.01138325 0.08578275 0.05976623 0.7197081
## AUDJPY 0.001304094 0.05681151 0.78140694 5.97028475 0.70740267 20.3786855
## AUDCAD 0.426248471 0.80094311 4.40401599 2.16405575 4.14264481 18.6682785
## AUDNZD 1.818485291 1.64832574 2.69497418 17.33933587 2.33128278 1.4954833
## AUDUSD 0.298860430 16.05653014 1.67865763 0.62941739 4.98815327 0.5999573
## CADCHF 0.505420410 0.57548315 0.08668785 0.04062596 0.00843329 2.0563145
## Dim.25 Dim.26 Dim.27 Dim.28 Dim.29
## AUDCHF 6.234226 5.7401352 3.2158683 21.31664288 11.6093463
## AUDJPY 4.633213 1.3927725 5.3581141 5.82030975 11.5260015
## AUDCAD 2.128920 0.2283125 3.6615644 2.89670969 9.6871500
## AUDNZD 1.113415 0.1817461 4.7745911 2.36873828 0.3962529
## AUDUSD 1.237305 2.8614621 0.9103604 11.97933354 18.4963501
## CADCHF 17.796607 21.5434270 3.7610484 0.08072909 0.5245674
head(ind$cos2) # represents the quality of representation for variables on the factor map
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5 Dim.6
## AUDCHF 0.7836203 0.210700787 0.002127826 0.0022596679 2.647109e-07 1.266200e-03
## AUDJPY 0.9673185 0.016201360 0.006731539 0.0007047932 8.439754e-03 6.110445e-07
## AUDCAD 0.7375281 0.132587097 0.105546912 0.0108087956 3.544320e-08 8.710604e-04
## AUDNZD 0.4450012 0.002893153 0.027887759 0.3672874213 6.648152e-02 8.314503e-02
## AUDUSD 0.9514685 0.002430961 0.037716258 0.0069658077 2.717258e-05 1.318492e-03
## CADCHF 0.5404636 0.225653646 0.214131231 0.0007849844 7.581906e-08 1.199892e-03
## Dim.7 Dim.8 Dim.9 Dim.10 Dim.11
## AUDCHF 1.623858e-06 3.251130e-06 1.952481e-05 5.330086e-07 3.074620e-08
## AUDJPY 5.961292e-04 5.682877e-06 1.073109e-06 4.725224e-07 3.891830e-08
## AUDCAD 1.265039e-02 5.794640e-06 1.811092e-06 6.156929e-09 2.431881e-11
## AUDNZD 7.218909e-03 8.204693e-05 2.824515e-06 1.590852e-07 3.312507e-11
## AUDUSD 3.758997e-05 8.305379e-07 3.388306e-05 5.148586e-07 3.557199e-08
## CADCHF 1.771261e-02 5.320038e-06 4.830417e-05 3.230413e-07 6.110033e-09
## Dim.12 Dim.13 Dim.14 Dim.15 Dim.16
## AUDCHF 1.679649e-09 6.412572e-11 1.318306e-09 6.254315e-10 1.696421e-10
## AUDJPY 1.325943e-09 1.464880e-09 5.446988e-10 5.397017e-11 2.634993e-10
## AUDCAD 4.665600e-09 1.738570e-09 7.293518e-11 7.538888e-11 1.453938e-11
## AUDNZD 2.393364e-10 5.153043e-11 1.187398e-13 9.973921e-11 1.857222e-11
## AUDUSD 7.895387e-10 1.437548e-09 3.884063e-10 2.185797e-11 1.874018e-10
## CADCHF 1.012105e-10 1.833874e-12 2.811286e-10 5.991476e-11 2.836315e-11
## Dim.17 Dim.18 Dim.19 Dim.20 Dim.21
## AUDCHF 2.922035e-11 6.052659e-11 7.266725e-12 4.212372e-13 8.544865e-14
## AUDJPY 1.827602e-11 7.139027e-12 1.391297e-14 4.172727e-13 5.445857e-12
## AUDCAD 2.203718e-10 1.366255e-11 6.308457e-12 8.160836e-12 4.257819e-11
## AUDNZD 1.933631e-11 1.576418e-11 6.606202e-11 4.122472e-11 6.395502e-11
## AUDUSD 1.007591e-11 2.160268e-11 3.281848e-12 1.213876e-10 1.204176e-11
## CADCHF 1.600379e-10 1.614881e-10 9.018920e-12 7.069799e-12 1.010504e-12
## Dim.22 Dim.23 Dim.24 Dim.25 Dim.26
## AUDCHF 3.369466e-13 1.804966e-13 1.321127e-12 5.776891e-12 3.828798e-12
## AUDJPY 2.177239e-11 1.983489e-12 3.473077e-11 3.986060e-12 8.625226e-13
## AUDCAD 1.094785e-11 1.611350e-11 4.413588e-11 2.540798e-12 1.961414e-13
## AUDNZD 2.153151e-10 2.225815e-11 8.678623e-12 3.261742e-12 3.832537e-13
## AUDUSD 2.362593e-12 1.439600e-11 1.052441e-12 1.095664e-12 1.823968e-12
## CADCHF 2.478024e-13 3.955039e-14 5.861632e-12 2.560882e-11 2.231494e-11
## Dim.27 Dim.28 Dim.29
## AUDCHF 9.559336e-13 5.209641e-12 4.857366e-13
## AUDJPY 1.478738e-12 1.320642e-12 4.477356e-13
## AUDCAD 1.401830e-12 9.117865e-13 5.220213e-13
## AUDNZD 4.486902e-12 1.830151e-12 5.241390e-14
## AUDUSD 2.586019e-13 2.797761e-12 7.395508e-13
## CADCHF 1.736117e-12 3.063795e-14 3.408278e-14
library(gridExtra)
var<-get_pca_var(pca1)
a<-fviz_contrib(pca1, "var", axes=1, xtickslab.rt=90) # default angle=45°
b<-fviz_contrib(pca1, "var", axes=2, xtickslab.rt=90)
grid.arrange(a,b,top='Contribution to the first two Principal Components')
The main goal of MDS is minimizing dimensions, preserving distance between data points.
library(tidyverse)
library(corrplot)
library(clusterSim)
df.norm<-data.Normalization(df, type="n1",normalization="column")
df.norm.plot<-cor(df.norm, method="pearson")
corrplot(df.norm.plot, order ="alphabet", tl.cex=0.6)
dist_df<-dist(t(df.norm))
as.matrix(dist_df)[1:5, 1:5] # let’s see the distance matrix
## AUDCHF AUDJPY AUDCAD AUDNZD AUDUSD
## AUDCHF 0.00000 67.37418 58.69585 93.03029 64.32286
## AUDJPY 67.37418 0.00000 79.95874 90.12655 48.55428
## AUDCAD 58.69585 79.95874 0.00000 95.35919 56.01423
## AUDNZD 93.03029 90.12655 95.35919 0.00000 93.07366
## AUDUSD 64.32286 48.55428 56.01423 93.07366 0.00000
mds1<-cmdscale(dist_df, k=2) #k - the maximum dimension of the space
summary(mds1)
## V1 V2
## Min. :-59.09 Min. :-85.06
## 1st Qu.:-39.81 1st Qu.:-35.12
## Median :-22.16 Median : 8.64
## Mean : 0.00 Mean : 0.00
## 3rd Qu.: 36.11 3rd Qu.: 31.33
## Max. : 95.30 Max. : 71.86
plot(mds1)
Similarity - it shows a positive correlation between variables. Dissimilarity - it shows a negative correlation between variables.
### Similarity and Dissimilarity matrix
sim<-cor(df.norm) # similarity matrix
dis.t<-dist(t(df.norm)) # dissimilarity matrix
library(smacof)
dis2<-sim2diss(sim, method=1, to.dist = TRUE)
head(sim)
## AUDCHF AUDJPY AUDCAD AUDNZD AUDUSD CADCHF CADJPY
## AUDCHF 1.0000000 0.7042814 0.7755569 0.4361802 0.7304605 0.7489569 0.28041340
## AUDJPY 0.7042814 1.0000000 0.5834918 0.4708277 0.8464157 0.4873813 0.79371358
## AUDCAD 0.7755569 0.5834918 1.0000000 0.4075977 0.7955965 0.1629495 -0.03011594
## AUDNZD 0.4361802 0.4708277 0.4075977 1.0000000 0.4356543 0.2502926 0.26273199
## AUDUSD 0.7304605 0.8464157 0.7955965 0.4356543 1.0000000 0.3072117 0.44770993
## CADCHF 0.7489569 0.4873813 0.1629495 0.2502926 0.3072117 1.0000000 0.46880326
## CHFJPY EURAUD EURCHF EURGBP EURJPY EURNZD
## AUDCHF -0.2756359 -0.7593473 0.7638475 0.01564967 0.3537505 -0.5244581
## AUDJPY 0.4876679 -0.6776433 0.4108405 -0.16338143 0.8147020 -0.4259333
## AUDCAD -0.1598355 -0.6999549 0.4778026 0.15685226 0.2376629 -0.4776496
## AUDNZD 0.0905585 -0.2516660 0.4032833 0.32925447 0.4239972 0.2779589
## AUDUSD 0.2505331 -0.7074345 0.4148729 -0.01127155 0.5900626 -0.4715231
## CADCHF -0.2643930 -0.4522829 0.6933101 -0.14041195 0.3028410 -0.3202533
## EURUSD GBPAUD GBPCHF GBPJPY GBPNZD GBPUSD
## AUDCHF 0.294529340 -0.7418321 0.7345366 0.2830734 -0.5957209 0.26339455
## AUDJPY 0.544291853 -0.5254762 0.5136758 0.7877748 -0.3300341 0.63098252
## AUDCAD 0.443376516 -0.7939430 0.3553265 0.1111700 -0.6673029 0.30583393
## AUDNZD 0.363044360 -0.4833282 0.1547223 0.1914080 0.0295884 0.11477894
## AUDUSD 0.727012463 -0.6703275 0.4122796 0.5094286 -0.5125858 0.69810332
## CADCHF -0.003494861 -0.3261343 0.7762797 0.3253657 -0.2325759 0.09227028
## NZDCAD NZDCHF NZDJPY NZDUSD USDCAD USDCHF
## AUDCHF 0.59948124 0.93693826 0.6272194 0.62980029 -0.2989188 0.43014244
## AUDJPY 0.37001294 0.59479820 0.9489451 0.74461391 -0.7125934 -0.13956858
## AUDCAD 0.85924502 0.70252994 0.5057336 0.71566702 -0.1451947 0.02784396
## AUDNZD -0.11667581 0.09454288 0.1688873 0.07358324 -0.2309610 0.02850358
## AUDUSD 0.62076941 0.63944804 0.7892297 0.92961814 -0.7139071 -0.30180839
## CADCHF 0.03764082 0.72865559 0.4499015 0.23546534 -0.3161523 0.64289650
## USDCNH USDJPY XAGUSD XAUUSD
## AUDCHF -0.3079255 0.14905180 -0.37895964 -0.7233128
## AUDJPY -0.6936721 0.52060678 0.13235378 -0.1947619
## AUDCAD -0.3588304 -0.18030693 -0.05682365 -0.3827726
## AUDNZD -0.0942304 0.17455482 -0.02856079 -0.1734553
## AUDUSD -0.7205687 -0.01362342 0.27361129 -0.1203454
## CADCHF -0.1025139 0.41988622 -0.52975165 -0.7297891
as.matrix(dis2)[1:5,1:5]
## AUDCHF AUDJPY AUDCAD AUDNZD AUDUSD
## AUDCHF 0.0000000 0.2957186 0.2244431 0.5638198 0.2695395
## AUDJPY 0.2957186 0.0000000 0.4165082 0.5291723 0.1535843
## AUDCAD 0.2244431 0.4165082 0.0000000 0.5924023 0.2044035
## AUDNZD 0.5638198 0.5291723 0.5924023 0.0000000 0.5643457
## AUDUSD 0.2695395 0.1535843 0.2044035 0.5643457 0.0000000
P value of mantel-test is 0,001. It means our dataset is non-random pattern, interpreted as a similarity of the matrices.
### Mantel test
library(ape)
mantel.test(as.matrix(sim), as.matrix(dis2))
## $z.stat
## [1] -58.36825
##
## $p
## [1] 0.001
##
## $alternative
## [1] "two.sided"