| 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 -4.126 Tracking Error 0.079 Treynor Ratio 0 Total Fees $0.00 Estimated Strategy Capacity $0 Lowest Capacity Asset Portfolio Turnover 0% |
from AlgorithmImports import *
class CustomTradingStrategy(QCAlgorithm):
def Initialize(self):
# Set backtest details
self.SetStartDate(2024,1,1)
self.SetEndDate(2024,1,30)
self.SetCash(1_000_000)
self.SetTimeZone("US/Eastern")
# Add required data to the algo
self.ticker = 'SPX'
weekly_symbol = 'SPXW'
weekly_canon_symbol = '?SPXW'
self.underlying_symbol = self.AddIndex(self.ticker,Resolution.Daily).Symbol
self.canonical_symbol = Symbol.CreateCanonicalOption(self.underlying_symbol, weekly_symbol, Market.USA, weekly_canon_symbol)
def OnData(self, data):
options = self.OptionChainProvider.GetOptionContractList(self.canonical_symbol, self.Time)
if len(options) == 0: self.Log(f'[FAILED] fetching options, len(options == {len(options)}). Should be != 0')
else: self.Log(f'[WORKED] fetching options, len(options == {len(options)})')