Overall Statistics
Total Trades
1
Average Win
0%
Average Loss
0%
Compounding Annual Return
4.574%
Drawdown
1.800%
Expectancy
0
Net Profit
1.867%
Sharpe Ratio
1.525
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
-0.003
Beta
0.193
Annual Standard Deviation
0.029
Annual Variance
0.001
Information Ratio
-1.963
Tracking Error
0.104
Treynor Ratio
0.232
Total Fees
$1.00
from datetime import timedelta
import math

class Tachyon (QCAlgorithm):

    def Initialize(self):
        
        self.ticker = 'SPY'
        self.AddEquity(self.ticker, Resolution.Daily)
        self.SetBenchmark(self.ticker)
        self.symbol_ = self.Symbol(self.ticker)
        self.cash = 100000
        self.SetCash(self.cash)
        self.SetStartDate(2019, 1, 1) 
        self.SetEndDate(2019, 6, 1)

        self.Consolidate("SPY", CalendarType.Weekly, self.CalendarTradeBarHandler)
        self.window = RollingWindow[TradeBar](2)


    def CalendarTradeBarHandler(self, tradeBar):
        self.window.Add(tradeBar)
        
    def OnData(self, data):
        if not (self.window.IsReady): return

        currBar = self.window[0] # Current bar had index zero.
        pastBar = self.window[1] # Previous bar has index one
        
        currP = self.Securities[self.ticker].Price
        prehigh = pastBar.High
        
        if not self.Portfolio.Invested:
            if currP > prehigh:
                self.MarketOrder(self.symbol_, 100)