| Overall Statistics |
|
Total Orders 2 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Start Equity 100000 End Equity 100067.7 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 Tracking Error 0 Treynor Ratio 0 Total Fees $2.30 Estimated Strategy Capacity $49000.00 Lowest Capacity Asset MSFT YLSDUHMXEI2U|MSFT R735QTJ8XC9X Portfolio Turnover 1.57% |
# region imports
from AlgorithmImports import *
# endregion
class BearCallLadderOptionStrategy(QCAlgorithm):
def initialize(self):
self.set_start_date(2024, 8, 14)
self.set_end_date(2024, 8, 16)
self.set_cash(100000)
option = self.add_option("MSFT", Resolution.MINUTE)
self._symbol = option.symbol
# set our strike/expiry filter for this option chain
option.set_filter(lambda x: x.include_weeklys().call_spread(30, 5))
def on_data(self, slice):
if self.portfolio.invested:
return
# Get the OptionChain
chain = slice.option_chains.get(self._symbol)
if not chain:
return
calls = sorted(chain, key=lambda x: x.strike)
legs = [ Leg.create(calls[0].symbol, -1), Leg.create(calls[1].symbol, 2) ]
self.combo_market_order(legs, 1)