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_currencies = 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 index, row in correl.iteritems():
            corr_rank = row.mean()
            selected.append((index, corr_rank))
            
        self.HighestCorrelated = sorted(selected, key = lambda x: x[1])[-self.num_currencies:]
        
        self.Debug(self.HighestCorrelated)