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
1.588
Tracking Error
0.464
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(2021, 6, 1)
        self.SetCash(10000000)

        # Kraken accepts both Cash and Margin type account.
        self.SetBrokerageModel(BrokerageName.Kraken, AccountType.Margin)

        # Warm up the security with the last known price to avoid conversion error
        self.SetSecurityInitializer(lambda security: security.SetMarketPrice(self.GetLastKnownPrice(security)))
        
        # Requesting data
        crypto = self.AddCrypto("BTCUSD", Resolution.Minute, Market.Kraken)
        self.btcusd = crypto.Symbol
        self.minimum_order_size = crypto.SymbolProperties.MinimumOrderSize
        
        # Historical data
        history = self.History(self.btcusd, 30, Resolution.Daily)
        self.Debug(f"We got {len(history)} items from our history request")

        #self.UniverseSettings.Leverage = 2

        # Add Crypto Coarse Fundamental Universe Selection
        self.AddUniverse(CryptoCoarseFundamentalUniverse(Market.Kraken, self.UniverseSettings, self.UniverseSelectionFilter))

    def UniverseSelectionFilter(self, crypto_coarse):
        return [datum.Symbol for datum in crypto_coarse
                if datum.Volume >= 100 
                and datum.VolumeInUsd > 10000]

    def OnData(self, data):
        if not self.Portfolio.Invested:
            #self.Securities["BTCUSD"].SetLeverage(2)
            self.MarketOrder(self.btcusd, -0.01)