| 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 3.901 Tracking Error 0.126 Treynor Ratio 0 Total Fees $0.00 |
from clr import AddReference
AddReference("System")
AddReference("QuantConnect.Algorithm")
AddReference("QuantConnect.Common")
from System import *
from QuantConnect import *
from QuantConnect.Algorithm import *
from QuantConnect.Data.Consolidators import *
from datetime import timedelta
class VerticalParticleEngine(QCAlgorithm):
def Initialize(self):
self.SetStartDate(2020, 7, 20) # Set Start Date
self.SetCash(100000) # Set Strategy Cash
# self.AddEquity("SPY", Resolution.Minute)
#self.cryptoSymbol = self.AddCrypto("BTCUSD", Resolution.Hour, Market.GDAX).Symbol
self.security = self.AddEquity("SPY", Resolution.Hour, Market.USA).Symbol
HourlyConsolidator = TradeBarConsolidator(timedelta(hours=24))
HourlyConsolidator.DataConsolidated += self.HourlyConsolidator
#self.SubscriptionManager.AddConsolidator(self.cryptoSymbol, HourlyConsolidator)
self.SubscriptionManager.AddConsolidator(self.security, HourlyConsolidator)
self.window = RollingWindow[TradeBar](2)
self.daily = RollingWindow[TradeBar](2)
def HourlyConsolidator(self, sender, bar):
self.daily.Add(bar)
self.bar = bar
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
'''
self.window.Add(data["SPY"])
if not (self.window.IsReady and self.daily.IsReady): return
currBar = self.window[0].Close
yesterdayc = self.daily[1].Close
current_close_price = self.window[0].Close
b_cond_upper = self.daily[1].High
b_cond_low = self.daily[1].Low
prev_close = self.daily[1].Close
prev_open = self.daily[1].Open
self.Debug("current close price: {} , upper boundary: {} , lower boundary: {}, previous close price: {}, previous open price: {} ".\
format(current_close_price, b_cond_upper, b_cond_low, prev_close, prev_open ))
#self.Debug("current Bar: {} previous Bar: {}".format(currBar,yesterdayc))
# if not self.Portfolio.Invested:
# self.SetHoldings("SPY", 1)