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
45.034
Tracking Error
0.019
Treynor Ratio
0
Total Fees
$0.00
from functools import partial

class CalibratedNadionReplicator(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2019, 12, 1)  # Set Start Date
        self.SetEndDate(2019, 12, 3) 
        self.SetCash(100000)  # Set Strategy Cash

        self.AddEquity("SPY", Resolution.Minute, Market.USA)
        symbols = [ Symbol.Create("SPY", SecurityType.Equity, Market.USA) ]
        self.SetUniverseSelection( ManualUniverseSelectionModel(symbols) )
        self.UniverseSettings.Resolution = Resolution.Minute
        
        self.AddAlpha(MyAlphaModel(self))
        
        
class MyAlphaModel(AlphaModel):
    def __init__(self, algorithm):
        algorithm.Schedule.On(algorithm.DateRules.EveryDay("SPY"), \
                                algorithm.TimeRules.BeforeMarketClose("SPY", 10), \
                                self.flag_close)
        self.algo = algorithm
        self.closing_soon = False
    
    def flag_close(self):
        self.closing_soon = True
    
    def Update(self, algorithm, data):
        insights = []
        
        if self.closing_soon:
            self.closing_soon = False
            self.algo.Log("10 minutes before close!")
        
        return insights
    
    def OnSecuritiesChanged(self, algorithm, changes):
        pass