| Overall Statistics |
|
Total Trades 11 Average Win 1.95% Average Loss -0.81% Compounding Annual Return 4040.800% Drawdown 1.200% Expectancy 1.550 Net Profit 11.685% Sharpe Ratio 72.712 Probabilistic Sharpe Ratio 99.779% Loss Rate 25% Win Rate 75% Profit-Loss Ratio 2.40 Alpha 16.526 Beta 0.391 Annual Standard Deviation 0.226 Annual Variance 0.051 Information Ratio 63.566 Tracking Error 0.263 Treynor Ratio 41.976 Total Fees $3217.26 Estimated Strategy Capacity $31000000.00 Lowest Capacity Asset BTCBUSD 18R |
# region imports
from AlgorithmImports import *
# endregion
class BinanceCryptoFutureDataAlgorithm(QCAlgorithm):
def Initialize(self) -> None:
self.SetStartDate(2022, 10, 1)
self.SetEndDate(2022, 10, 10)
self.SetCash("BUSD", 100000)
self.SetBrokerageModel(BrokerageName.BinanceFutures, AccountType.Margin)
crypto_future = self.AddCryptoFuture("BTCBUSD", Resolution.Daily)
# perpetual futures does not have a filter function
self.symbol = crypto_future.Symbol
# Historical data
history = self.History(self.symbol, 10, Resolution.Daily)
self.Debug(f"We got {len(history)} from our history request for {self.symbol}")
def OnData(self, slice: Slice) -> None:
if not slice.Bars.ContainsKey(self.symbol) or not slice.QuoteBars.ContainsKey(self.symbol):
return
quote = slice.QuoteBars[self.symbol]
price = slice.Bars[self.symbol].Price
if price - quote.Bid.Close > quote.Ask.Close - price:
self.SetHoldings(self.symbol, -1)
else:
self.SetHoldings(self.symbol, 1)