Overall Statistics
Total Orders
0
Average Win
0%
Average Loss
0%
Compounding Annual Return
0%
Drawdown
0%
Expectancy
0
Start Equity
100000
End Equity
100000
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
-14.033
Tracking Error
0.039
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
Portfolio Turnover
0%
# region imports
from AlgorithmImports import *
# endregion

class HyperActiveBrownJaguar(QCAlgorithm):
    def initialize(self):
        self.set_start_date(2024, 8, 20)
        self.set_end_date(2024, 8, 21)
        self.resolution = Resolution.MINUTE

        self.index = self.add_index('SPX', resolution=self.resolution)

        self.index_symbol = self.index.symbol
        self.spxw_option = self.add_index_option(self.index_symbol, "SPXW", resolution=self.resolution)
        self.spxw_option.set_filter(self.spxw_filter)
        self.spxw_symbol = self.spxw_option.symbol

    def spxw_filter(self, universe: OptionFilterUniverse) -> OptionFilterUniverse:
        return universe.strikes(-50, 0).puts_only().expiration(0, 9).include_weeklys()

    def on_data(self, data: Slice):
        if datetime(2024, 8, 21, 16, 0) > self.time >= datetime(2024, 8, 21, 15, 0):
            spxw_chain = data.option_chains.get(self.spxw_symbol)
            c = [c for c in spxw_chain if c.symbol.value.endswith('240821P05520000')][0]
            # bid = 0.15 ask = 0.1
            self.log(f'bid={c.bid_price}/{c.bid_size} ask={c.ask_price}/{c.ask_size}')