| Overall Statistics |
|
Total Trades 904 Average Win 0% Average Loss -4.08% Compounding Annual Return -13.802% Drawdown 82.300% Expectancy -1 Net Profit -78.466% Sharpe Ratio -0.54 Probabilistic Sharpe Ratio 0.000% Loss Rate 100% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.029 Beta -1.047 Annual Standard Deviation 0.218 Annual Variance 0.048 Information Ratio -0.689 Tracking Error 0.374 Treynor Ratio 0.112 Total Fees $904.00 |
from clr import AddReference
AddReference("System")
AddReference("QuantConnect.Algorithm")
AddReference("QuantConnect.Common")
AddReference("QuantConnect.Indicators")
from System import *
from QuantConnect import *
from System.Linq import *
from QuantConnect.Indicators import *
from QuantConnect.Data.Market import *
from System.Collections.Concurrent import *
from QuantConnect.Data.UniverseSelection import *
from QuantConnect.Indicators.CandlestickPatterns import *
from QuantConnect.Data.Consolidators import *
from datetime import timedelta, datetime
import numpy as np
import sys
import decimal
class fifteenmincandle ( QCAlgorithm):
def Initialize(self):
self.Debug("step2")
self.SetCash(100000)
self.SetStartDate(2008,1,22)
self.SetEndDate(2020,5,23)
self.UniverseSettings.Resolution = Resolution.Minute
equity = self.AddEquity("SPY", Resolution.Minute)
self.spy = equity.Symbol
periods = decimal.Decimal(1)
# self.pattern = self.CandlestickPatterns.Harami(self.spy)
self.SetWarmUp(timedelta(minutes=1))
self.current=self.SetStartDate(2010,1,22)
#self.Consolidate("SPY", timedelta(minutes=15)) #,self.OnDataConsolidated
#fifteenMinuteConsolidator.DataConsolidated += self.fifteenMinuteBarHandler
self.SetTimeZone("America/New_York")
thirtyMinuteConsolidator = TradeBarConsolidator(timedelta(minutes=15))
def OnData(self,data):
#self.Log("Time: {}" . format(slice.Time) )
#self.Debug("On Data start")
if (self.IsWarmingUp): return
#self.Debug(self.spy.Close)
if self.Time.hour == 9 and self.Time.minute == 45:
if data["SPY"].Close<data["SPY"].Open:
self.MarketOrder("SPY", -1)
# self.Beforeendofday(self.MarketOrder("SPY", -1))
if self.Time.hour == 3 and self.Time.minute == 45:
self.MarketOrder("SPY", 1)
# def OnDataConsolidated(self, bar):
# if bar.Time.hour == 9 and bar.Time.minute == 30:
# self.openingBar = bar