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)