Overall Statistics
Total Trades
1
Average Win
0%
Average Loss
0%
Compounding Annual Return
-87.901%
Drawdown
6.200%
Expectancy
0
Net Profit
-3.226%
Sharpe Ratio
-2.207
Probabilistic Sharpe Ratio
27.052%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
0.252
Beta
2.356
Annual Standard Deviation
0.362
Annual Variance
0.131
Information Ratio
-1.549
Tracking Error
0.227
Treynor Ratio
-0.339
Total Fees
$2.50
Estimated Strategy Capacity
$160000000.00
Lowest Capacity Asset
TSLA UNU3P8Y3WFAD
#region imports
from AlgorithmImports import *
#endregion
class DancingMagentaGoshawk(QCAlgorithm):

    # Order ticket for our stop order, Datetime when stop order was last hit
    stopMarketTicket = None
    stopMarketOrderFillTime = datetime.min
    # highestSPYPrice = 0
    
    def Initialize(self):
        self.SetStartDate(2022, 4, 3)
        self.SetEndDate(2022, 4, 8)
        self.SetCash(1000000)
        spy = self.AddEquity("TSLA", Resolution.Minute)
        spy.SetDataNormalizationMode(DataNormalizationMode.Raw)
        
    def OnData(self, data):
        
        # 1. Plot the current SPY price to "Data Chart" on series "Asset Price"
        self.Plot("Data Chart", "Asset Price", self.Securities["TSLA"].Price)
        
        #if (self.Time - self.stopMarketOrderFillTime).days < 1:
        #    return

        if not self.Portfolio.Invested:
            self.MarketOrder("TSLA", 500)
            # self.stopMarketTicket = 
            self.StopLimitOrder("TSLA", -500, 0.98 * self.Securities["TSLA"].Close, 1.04 * self.Securities["TSLA"].Close)
            # self.StopMarketOrder("SPY", -500, 1.04 * self.Securities["SPY"].Close)
                
    def OnOrderEvent(self, orderEvent):
        if orderEvent.Status != OrderStatus.Filled:
            return
        if self.stopMarketTicket is not None and self.stopMarketTicket.OrderId == orderEvent.OrderId: 
            self.stopMarketOrderFillTime = self.Time