| 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