Created with Highcharts 12.1.2Equity08:00 AM04:00 PMMar 1108:00 AM04:00 PMMar 1208:00 AM04:00 PMMar 1308:00 AM04:00 PMMar 1408:00 AM100,000
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
4.882
Tracking Error
0.153
Treynor Ratio
0
Total Fees
$0.00
Estimated Strategy Capacity
$0
Lowest Capacity Asset
Portfolio Turnover
0%
# region imports
from AlgorithmImports import *
# endregion

class BasicOptionAlgorithm(QCAlgorithm):
    
    def initialize(self):
        self.set_start_date(2025, 3, 10)
        option = self.add_option("SPY")
        option.set_filter(self._filter)
        self._symbol = option.symbol

    def _filter(self, universe):
        return universe.include_weeklys().expiration(0, 1).strikes(-1,1)

    def on_data(self, data):
        chain = data.option_chains.get(self._symbol)
        if chain:
            contracts = sorted(chain, key=lambda x: x.greeks.delta)
            contract = contracts[int(len(contracts)/2)]
            self.debug(f'{contract} {contract.greeks.delta}')