Overall Statistics
Total Trades
13
Average Win
5.16%
Average Loss
-5.62%
Compounding Annual Return
49.958%
Drawdown
9.800%
Expectancy
0.598
Net Profit
22.480%
Sharpe Ratio
2.607
Probabilistic Sharpe Ratio
76.357%
Loss Rate
17%
Win Rate
83%
Profit-Loss Ratio
0.92
Alpha
0.02
Beta
0.996
Annual Standard Deviation
0.208
Annual Variance
0.043
Information Ratio
2.184
Tracking Error
0.008
Treynor Ratio
0.544
Total Fees
$23.14
class MultidimensionalDynamicComputer(QCAlgorithm):

    def Initialize(self):
        self.SetStartDate(2020, 4, 20)  # Set Start Date
        self.SetCash(100000)  # Set Strategy Cash
        self.AddEquity("SPY", Resolution.Hour)
        self.BuyIn = 0.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
        '''
        CurrentPrice = self.Securities["SPY"].Price
        if not self.Portfolio.Invested:
            self.BuyIn = CurrentPrice
            self.SetHoldings("SPY", 1) # A market buy
            return
        if CurrentPrice > self.BuyIn*(1+0.05) or CurrentPrice < self.BuyIn*(1-0.05): # Sell/buy if +/- 5 pct from buy 
            self.SetHoldings("SPY", 0) # A market sell
            return # Will repurchase upon next "OnData"