| 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)