Overall Statistics |
Total Orders 0 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Start Equity 1000000 End Equity 1000000 Net Profit 0% Sharpe Ratio 0 Sortino 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.681 Tracking Error 0.146 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset Portfolio Turnover 0% |
#region imports from AlgorithmImports import * #endregion class OpenInterestDataMappingModeFuturesAlgorithm(QCAlgorithm): def initialize(self) -> None: self.set_start_date(2015, 1, 1) self.set_end_date(2025, 3, 1) self.set_cash(1_000_000) self._vix_future = self.add_future( ticker=Futures.Indices.VIX, resolution=Resolution.MINUTE, data_mapping_mode=DataMappingMode.OPEN_INTEREST_ANNUAL, data_normalization_mode=DataNormalizationMode.BACKWARDS_RATIO, contract_depth_offset=0) self._vix_future.set_filter(1, 100) self.flag_open_interest_data_found = False def on_data(self, data: Slice) -> None: chain = data.future_chains.get(self._vix_future.symbol) if not chain: return for symbol, contract in chain.contracts.items(): if contract.open_interest > 0: self.flag_open_interest_data_found = True break if self.flag_open_interest_data_found: self.quit() def on_end_of_algorithm(self) -> None: self.log(f"Open interest data found? --> {self.flag_open_interest_data_found}.")