Overall Statistics |
Total Trades 75 Average Win 0.18% Average Loss -2.38% Compounding Annual Return -54.717% Drawdown 79.300% Expectancy -0.740 Net Profit -32.628% Sharpe Ratio 0.298 Probabilistic Sharpe Ratio 28.069% Loss Rate 76% Win Rate 24% Profit-Loss Ratio 0.08 Alpha 0.443 Beta -0.938 Annual Standard Deviation 1.396 Annual Variance 1.949 Information Ratio 0.247 Tracking Error 1.56 Treynor Ratio -0.443 Total Fees $79.46 |
class ParticleModulatedFlange(QCAlgorithm): def Initialize(self): self.SetStartDate(2019, 12, 21) # Set Start Date self.SetCash(100000) # Set Strategy Cash symbols = [ Symbol.Create("SPY", SecurityType.Equity, Market.USA) ] self.SetUniverseSelection( ManualUniverseSelectionModel(symbols) ) self.UniverseSettings.Resolution = Resolution.Daily self.SetSecurityInitializer(self.CustomSecurityInitializer) self.AddAlpha(MyAlphaModel(symbols[0])) self.SetPortfolioConstruction(MyPCM()) self.SetExecution(ImmediateExecutionModel()) def CustomSecurityInitializer(self, security): security.SetLeverage(3.5) class MyAlphaModel(AlphaModel): def __init__(self, symbol): self.symbol = symbol def Update(self, algorithm, data): if algorithm.Portfolio.Invested: return [] return [Insight.Price(self.symbol, timedelta(365), InsightDirection.Up, None, None, None, 1)] def OnSecuritiesChanged(self, algorithm, changes): for added in changes.AddedSecurities: self.symbol = added.Symbol class MyPCM(InsightWeightingPortfolioConstructionModel): def CreateTargets(self, algorithm, insights): targets = super().CreateTargets(algorithm, insights) return [PortfolioTarget(x.Symbol, x.Quantity*algorithm.Securities[x.Symbol].Leverage) for x in targets]