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 -6.66 Tracking Error 0.087 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
from datetime import timedelta from QuantConnect import Market, Resolution, SecurityType, Symbol from QuantConnect.Algorithm import QCAlgorithm from QuantConnect.Data.Consolidators import CalendarInfo, TradeBarConsolidator from QuantConnect.Data.Market import Bar, FuturesChain, TradeBar from QuantConnect.Indicators import RollingWindow from QuantConnect.Securities import Futures from AlgorithmImports import DateTime class FutureTrendFollowing(QCAlgorithm): def Initialize(self): self.SetStartDate(DateTime(2021, 8, 1, 9, 00, 0)) # Set Start Date self.SetEndDate(self.StartDate + timedelta(5)) # Set End Date self.SetCash(100000) # Set Strategy Cash self.time_interval = 15 # 15 min time interval self.contract_size = 1 self.es = self.AddFuture( Futures.Indices.SP500EMini, resolution=Resolution.Minute) self.es.SetFilter(7, 95) self.Consolidate(self.es.Symbol, timedelta( minutes=self.time_interval), self.OndataConsolidated) def OnData(self, data): for chain in data.FutureChains: if self.Time.hour == 11 and self.Time.minute == 0: self.Log("Number of contracts selected {}".format( len([k for k in chain.Value]))) def OndataConsolidated(self, consolidated): self.Log(type(consolidated)) self.Log( f"{consolidated.EndTime} >> OndataConsolidated >> {consolidated.Close}")