Overall Statistics |
Total Trades 288 Average Win 0.06% Average Loss -0.05% Compounding Annual Return 1.852% Drawdown 0.700% Expectancy 0.149 Net Profit 1.075% Sharpe Ratio 1.539 Loss Rate 49% Win Rate 51% Profit-Loss Ratio 1.24 Alpha -0.008 Beta 0.137 Annual Standard Deviation 0.012 Annual Variance 0 Information Ratio -2.954 Tracking Error 0.058 Treynor Ratio 0.134 Total Fees $288.00 |
# # QuantConnect Basic Template: # Fundamentals to using a QuantConnect algorithm. # # You can view the QCAlgorithm base class on Github: # https://github.com/QuantConnect/Lean/tree/master/Algorithm # import numpy as np from datetime import timedelta class BasicTemplateAlgorithm(QCAlgorithm): def Initialize(self): # Set the cash we'd like to use for our backtest # This is ignored in live trading self.SetCash(100000) # Start and end dates for the backtest. # These are ignored in live trading. self.SetStartDate(2017,1,1) self.SetEndDate(2017,8,1) # Add assets you'd like to see self.spy = self.AddEquity("SPY", Resolution.Minute).Symbol self.rWindow = RollingWindow[TradeBar](2) consolidator = TradeBarConsolidator(timedelta(1)) consolidator.DataConsolidated += self.OnDailyData self.SubscriptionManager.AddConsolidator(self.spy, consolidator) def OnDailyData(self, sender, bar): self.rWindow.Add(bar) # Place open orders: self.MarketOnOpenOrder(bar.Symbol, 100, "hello") def OnData(self, data): pass def OnOrderEvent(self, orderEvent): if orderEvent.Status == OrderStatus.Filled: order = self.Transactions.GetOrderById(orderEvent.OrderId) if order.Type == OrderType.MarketOnOpen: self.MarketOnCloseOrder(order.Symbol, -100, "goodbye")