| Overall Statistics |
|
Total Trades 2 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 0 Tracking Error 0 Treynor Ratio 0 Total Fees $2.00 Estimated Strategy Capacity $89000000.00 Lowest Capacity Asset QQQ RIWIV7K5Z9LX |
class FocusedSkyBlueGalago(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2020, 1, 1)
#self.SetEndDate(2018, 1, 3)
self.InitCash = 10000
self.SetCash(self.InitCash)
self.AddEquity("SPY", Resolution.Minute)
self.SetWarmUp(5)
# ETF's we're going to trade===================================
spy = self.AddEquity("SPY", Resolution.Minute)
qqq = self.AddEquity("QQQ", Resolution.Minute)
WMT = self.AddEquity("QLD", Resolution.Minute)
spy.SetDataNormalizationMode(DataNormalizationMode.Raw)
qqq.SetDataNormalizationMode(DataNormalizationMode.Raw)
WMT.SetDataNormalizationMode(DataNormalizationMode.Raw)
self.spy = spy.Symbol
self.qqq = qqq.Symbol
self.WMT = WMT.Symbol
#Option Contract =================================================
self.contract = None
# Rebalance beginning of every month =======================
self.Schedule.On(self.DateRules.MonthStart("SPY"), self.TimeRules.AfterMarketOpen("SPY"), self.monthlyRebalance)
self.Schedule.On(self.DateRules.EveryDay("SPY"), self.TimeRules.AfterMarketOpen("SPY"), self.captureSpy)
#Variables used in stoploss=================================
self.stoplosshold = 0
self.dailythresh = 0
self.activestop = 0
def OnData(self, data):
''' OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
Arguments:
data: Slice object keyed by symbol containing the stock data
'''
if self.IsWarmingUp:
return
if not self.Portfolio.Invested:
self.SetHoldings(self.spy, .55)
self.SetHoldings(self.qqq, .35)
self.dailythresh = self.data['SPY'].Open
if self.stoplosshold == 1:
pass
else:
self.stoploss()
def captureSpy(self, data):
'''
captureSpy logic:
1. Grab the opening value of spy
'''
pass
#self.dailythresh = self.data['SPY'].Open
def monthlyRebalance(self):
#Now I need to rebalance portfolio on a monthly basis
if self.IsWarmingUp:
return
self.SetHoldings(self.spy, 0.55)
self.SetHoldings(self.qqq, 0.35)
return
def stoploss(self):
'''
Stoploss logic:
1. If any equity drops more than 5% liquidate entire portfolio
2. Hold the portfolio with no equity until next trading day
'''
pass