Overall Statistics
Total Trades
2
Average Win
0%
Average Loss
0%
Compounding Annual Return
-3.866%
Drawdown
0.200%
Expectancy
0
Net Profit
-0.052%
Sharpe Ratio
-1.633
Probabilistic Sharpe Ratio
35.993%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
-0.039
Beta
-0.016
Annual Standard Deviation
0.016
Annual Variance
0
Information Ratio
1.985
Tracking Error
0.404
Treynor Ratio
1.65
Total Fees
$0.03
Estimated Strategy Capacity
$26000000.00
#https://www.quantconnect.com/forum/discussion/6171/dynamic-crypto-universe-portfolio/p1

#from Alphas.HistoricalReturnsAlphaModel import HistoricalReturnsAlphaModel
#from HistoricalReturnsAlphamodel_mod import HistoricalReturnsAlphaModel_mod
from Execution.ImmediateExecutionModel import ImmediateExecutionModel
from Portfolio.EqualWeightingPortfolioConstructionModel import EqualWeightingPortfolioConstructionModel

class CryptoMomentum(QCAlgorithm):

    def Initialize(self):
        self.stateData = {}
        self.SetStartDate(2019, 1, 19)  # Set Start Date
        self.SetEndDate(2019, 1, 22)
        self.SetCash(100000)  # Set Strategy Cash
        self.SetCash("BTC", 1)
        
        
        self.SetBrokerageModel(BrokerageName.Bitfinex, AccountType.Margin)
        
        self.symbols = [self.AddCrypto(ticker, Resolution.Daily).Symbol for ticker in ['DASHBTC', 'DASHUSD']]

        self.ordered = False
    
        
    def OnData(self, data):
        if self.ordered:
            return
        
        for symbol in self.symbols:
            if not (data.ContainsKey(symbol) and data[symbol] is not None):
                return
        self.ordered = True
        
        for symbol in self.symbols:
            self.MarketOrder(symbol, 0.1)