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
0
Tracking Error
0
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
from AlgorithmImports import *

class CoinAPIDataAlgorithm(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2020, 6, 1)
        self.SetEndDate(2020, 7, 1)
        self.SetCash(100000)
        
        self.SetUniverseSelection(CryptoUniverseSelectionModel(Market.Kraken, self.UniverseSettings))


    def OnSecuritiesChanged(self, changes):
        for security in changes.AddedSecurities:
            self.Quit(f"Added {security.Symbol}")


class CryptoUniverseSelectionModel(UniverseSelectionModel):

    def __init__(self, market, universe_settings):
        self.market = market
        self.universe_settings = universe_settings
        self.universe = None

    def CreateUniverses(self, algorithm: QCAlgorithm) -> List[Universe]:
        if self.universe is None:
            self.universe = CryptoCoarseFundamentalUniverse(self.market, self.universe_settings, self.universe_selection_filter)
        return [self.universe]

    def universe_selection_filter(self, crypto_coarse):
        return [d.Symbol for d in sorted(crypto_coarse, key=lambda x: x.VolumeInUsd, reverse=True)[:5]]