Overall Statistics |
Total Trades 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Net Profit 0% Sharpe Ratio 0 Probabilistic Sharpe Ratio 0% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0 Beta 0 Annual Standard Deviation 0 Annual Variance 0 Information Ratio 0 Tracking Error 0 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset |
# region imports from AlgorithmImports import * # endregion class UpgradedVioletSheep(QCAlgorithm): def Initialize(self): self.SetStartDate(2021, 3, 11) # Set Start Date self.SetCash(100000) # Set Strategy Cash self.vx1 = self.AddFuture(Futures.Indices.VIX, dataNormalizationMode=DataNormalizationMode.BackwardsRatio, dataMappingMode=DataMappingMode.OpenInterest, contractDepthOffset=0) self.vx1.SetFilter(0, 182) self.AddAlpha(MyAlphaModel(self.vx1.Symbol)) class MyAlphaModel(AlphaModel): def __init__(self, symbol): self.symbol = symbol self.vx1 = None def Update(self, algorithm: QCAlgorithm, slice: Slice) -> List[Insight]: insights = [] if self.vx1 is None or self.vx1 not in slice: return [] continuous_price = slice[self.vx1].Price algorithm.Quit(f"Continous price: {continuous_price}") return insights def OnSecuritiesChanged(self, algorithm: QCAlgorithm, changes: SecurityChanges) -> None: for security in changes.AddedSecurities: if security.Symbol.IsCanonical(): algorithm.Debug(f"{security.Symbol} is canonical!") self.vx1 = security.Symbol else: algorithm.Debug(f"{security.Symbol} is NOT canonical!")