| Overall Statistics |
|
Total Orders 6 Average Win 0% Average Loss 0% Compounding Annual Return 14.158% Drawdown 14.900% Expectancy 0 Start Equity 10000 End Equity 10798.15 Net Profit 7.982% Sharpe Ratio 0.303 Sortino Ratio 0.447 Probabilistic Sharpe Ratio 32.329% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.007 Beta -1.703 Annual Standard Deviation 0.234 Annual Variance 0.055 Information Ratio 0.342 Tracking Error 0.342 Treynor Ratio -0.042 Total Fees $4.00 Estimated Strategy Capacity $490000000.00 Lowest Capacity Asset QQQ RIWIV7K5Z9LX Portfolio Turnover 0.93% |
#region imports
from AlgorithmImports import *
#endregion
class RetrospectiveYellowGreenAlligator(QCAlgorithm):
def Initialize(self):
# INITIALIZE
self.SetStartDate(2024, 9, 1)
self.SetEndDate(2025, 3, 31)
self._cash=10000
self.SetCash(self._cash)
self.spy = self.AddEquity("SPY", Resolution.Daily).Symbol
self.qqq = self.AddEquity("QQQ", Resolution.Daily).Symbol
# SET BENCHMARK AND PREPARE COMPARATIVE PLOT
self.reference = self.History(self.qqq, 10, Resolution.Daily)['close']
self._initialValue = self.reference.iloc[0]
# SET SCHEDULED OPERATIONS
# https://www.quantconnect.com/docs/algorithm-reference/scheduled-events#Scheduled-Events-Scheduled-Events
self.Schedule.On(self.DateRules.MonthEnd(10), self.TimeRules.AfterMarketOpen("SPY", 10), self._Liquidate )
self.Schedule.On(self.DateRules.MonthStart("SPY",1), self.TimeRules.AfterMarketOpen("SPY", 10), self.Rebalance )
def OnData(self, data):
self.Plot("Strategy Equity", "Benchmark", self._cash*self.Securities["QQQ"].Close/self._initialValue)
def Rebalance(self):
self.MarketOnOpenOrder("QQQ", 10)
def _Liquidate(self):
self.MarketOnCloseOrder("QQQ", -10)