Overall Statistics |
Total Trades 3997 Average Win 0.04% Average Loss -0.06% Compounding Annual Return -8.437% Drawdown 45.100% Expectancy -0.037 Net Profit -16.142% Sharpe Ratio -0.11 Probabilistic Sharpe Ratio 2.940% Loss Rate 39% Win Rate 61% Profit-Loss Ratio 0.59 Alpha -0.073 Beta 1.419 Annual Standard Deviation 0.255 Annual Variance 0.065 Information Ratio -0.46 Tracking Error 0.13 Treynor Ratio -0.02 Total Fees $4643.19 Estimated Strategy Capacity $150000000.00 Lowest Capacity Asset AVGO UEW4IOBWVPT1 |
# region imports from AlgorithmImports import * # endregion class MuscularYellowGreenMonkey(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 1, 1) self.SetEndDate(2023, 1, 1) self.SetCash(1000000) # Set Strategy Cash self.UniverseSettings.Resolution = Resolution.Daily self.AddUniverseSelection(QQQETFUniverseSelectionModel(self.UniverseSettings)) self.AddAlpha(ConstantAlphaModel(InsightType.Price, InsightDirection.Up, timedelta(days=30))) self.SetPortfolioConstruction(EqualWeightingPortfolioConstructionModel()) class QQQETFUniverseSelectionModel(ETFConstituentsUniverseSelectionModel): def __init__(self, universe_settings: UniverseSettings = None) -> None: symbol = Symbol.Create("QQQ", SecurityType.Equity, Market.USA) super().__init__(symbol, universe_settings, self.ETFConstituentsFilter) def ETFConstituentsFilter(self, constituents: List[ETFConstituentData]) -> List[Symbol]: selected = sorted([c for c in constituents if c.Weight], key=lambda c: c.Weight, reverse=True)[:10] return [c.Symbol for c in selected]