| Overall Statistics |
|
Total Trades 23 Average Win 0% Average Loss 0% Compounding Annual Return 8.882% Drawdown 0.100% Expectancy 0 Net Profit 0.062% Sharpe Ratio 12.971 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.03 Beta 2.363 Annual Standard Deviation 0.004 Annual Variance 0 Information Ratio 11.01 Tracking Error 0.004 Treynor Ratio 0.022 Total Fees $23.00 |
import datetime
class BasicTemplateAlgorithm(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2014, 10, 15)
#Set Start Date
self.SetEndDate(2014, 10, 18)
#Set End Date
self.SetCash(100000)
#Set Strategy Cash
self.AddEquity("SPY", Resolution.Minute)
self.openLimitOrders = []
def OnData(self, data):
open_orders = self.Transactions.GetOpenOrders("SPY")
if len(open_orders) == 0:
limitOrderTicket = self.LimitOrder("SPY", 1, float(self.Securities["SPY"].Price)*0.982)
self.limitOrderSubmitTime = self.Time
self.openLimitOrders.append(limitOrderTicket)
if len(self.openLimitOrders) == 1 and self.openLimitOrders[0].Status == OrderStatus.Submitted:
# if over 15 minutes since the limit order was submitted
if self.Time > self.limitOrderSubmitTime + datetime.timedelta(minutes=15):
self.Transactions.CancelOpenOrders("SPY") # cancle the limit order
self.MarketOrder("SPY", 1) # sumbit the market order
self.openLimitOrders = []