Overall Statistics
Total Trades
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Net Profit
0%
Sharpe Ratio
0
Probabilistic Sharpe Ratio
0%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0
Beta
0
Annual Standard Deviation
0
Annual Variance
0
Information Ratio
6.421
Tracking Error
0.111
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
# Highest Correlated Pair

class HighestCorrelatedPair(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2021, 5, 9)
        self.SetEndDate(2021, 5, 10)
        self.SetCash(10000) 
        currencies = ['EURUSD', 'USDJPY', 'GBPUSD', 'USDCAD', 'AUDUSD', 'NZDUSD', 'EURJPY']
        self.currencies = [self.AddForex(ticker, Resolution.Hour).Symbol for ticker in currencies]
        self.num_pairs = 2
        self.HighestCorrelated = []

        
    def OnData(self, data):

        history = self.History(self.currencies, 100, Resolution.Hour)
        returns = history.unstack(level = 1).close.transpose().pct_change().dropna()
        correl = returns.corr()
        
        selected = []
        
        for sec, correlation in correl.items():
            corr_rank = correlation.iloc[0]
            self.Debug(corr_rank)
            selected.append((sec, corr_rank))
            
        self.HighestCorrelated = sorted(selected, key = lambda x: x[1], reverse = True)[:self.num_pairs]

        self.Debug(self.HighestCorrelated) 
        
'''
currencies = ['EURUSD', 'USDJPY', 'GBPUSD', 'USDCAD', 'AUDUSD', 'NZDUSD', 'EURJPY']

2021-05-09 23:00:00 :     1.0
2021-05-09 23:00:00 :     0.09234517717837581
2021-05-09 23:00:00 :     0.7397499656103798
2021-05-09 23:00:00 :     0.7129995587690616
2021-05-09 23:00:00 :     0.8933829960158504
2021-05-09 23:00:00 :     -0.6479186596769565
2021-05-09 23:00:00 :     -0.6523590520691587
2021-05-09 23:00:00 :     [('AUDUSD 8G', 1.0), ('NZDUSD 8G', 0.8933829960158504)]

'''