Overall Statistics
Total Trades
9
Average Win
0.51%
Average Loss
-1.18%
Compounding Annual Return
-99.836%
Drawdown
32.600%
Expectancy
-0.642
Net Profit
-26.907%
Sharpe Ratio
-7.666
Probabilistic Sharpe Ratio
0.000%
Loss Rate
75%
Win Rate
25%
Profit-Loss Ratio
0.43
Alpha
-4.635
Beta
-1.179
Annual Standard Deviation
0.613
Annual Variance
0.375
Information Ratio
-7.644
Tracking Error
0.621
Treynor Ratio
3.983
Total Fees
$0.00
class ParticleVerticalAtmosphericScrubbers(QCAlgorithm):

    def Initialize(self):
        
        self.tickerOne = "AMD"
        self.tickerTwo = "SPY"
        
        self.SetStartDate(2017, 1, 16)  # Set Start Date
        self.SetEndDate(2017, 2, 2)  # Set End Date
        self.SetCash(1000)  # Set Strategy Cash
        self.AddEquity("AMD", Resolution.Minute, Market.USA, True, 1, True)
        self.Securities[self.tickerOne].FeeModel = ConstantFeeModel(0)
        #self.SetDataNormalizationMode(DataNormalizationMode.Raw)
        
        self.Schedule.On(self.DateRules.EveryDay(), self.TimeRules.At(15, 59), Action(self.purchase))

        
    def OnData(self, data):
        
        if self.Portfolio.Invested and self.Securities[self.tickerOne].Price <= self.sellPrice:
            self.LimitOrder(self.tickerOne, -self.Portfolio[self.tickerOne].Quantity, self.Securities[self.tickerOne].Price*.5)

    def purchase(self):
        self.sellPrice = self.Securities[self.tickerOne].Price * 0.991
        self.dailyClose = self.Securities[self.tickerOne].Price
        self.Debug("Portfolio Quantity: " + str(self.Portfolio[self.tickerOne].Quantity))
        if not self.Portfolio.Invested:
            self.SetHoldings(self.tickerOne, 1)

    def OnOrderEvent(self, fill):
        if fill.Status == 3:
            if fill.Direction == 0:
                direction = "Buy"
                self.Debug(str(direction) + " " + str(fill.FillQuantity) + " @ " + str(fill.FillPrice))
            else:
                direction = "Sell"
                self.Debug(str(direction) + " " + str(fill.FillQuantity) + " @ " +str(fill.FillPrice) + " Loss: " + 
                str( (fill.FillPrice-self.dailyClose)/self.dailyClose ))