Overall Statistics |
Total Orders 2 Average Win 0% Average Loss 0% Compounding Annual Return 0% Drawdown 0% Expectancy 0 Start Equity 100000 End Equity 99952 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 $1.00 Estimated Strategy Capacity $0 Lowest Capacity Asset SPY XUERCWEBHSH2|SPY R735QTJ8XC9X Portfolio Turnover 42.98% |
from AlgorithmImports import * class HipsterYellowGreenHippopotamus(QCAlgorithm): def initialize(self): self.set_start_date(2021, 7, 1) self.set_end_date(2021, 7, 31) self.set_cash(100000) self.set_security_initializer(self.custom_security_initializer) spy = self.add_equity("SPY", Resolution.MINUTE) self.spy = spy.symbol def custom_security_initializer(self, security): security.set_data_normalization_mode(DataNormalizationMode.RAW) for bar in self.get_last_known_prices(security.symbol): security.set_market_price(bar) def on_data(self, data): if not self.portfolio.invested: contracts = self.option_chain_provider.get_option_contract_list(self.spy, self.time) contracts = sorted([x for x in contracts if x.id.option_right == OptionRight.CALL], key=lambda x: x.id.strike_price) if not contracts: return self.strike = contracts[0].id.strike_price contracts = sorted([x for x in contracts if x.id.strike_price == self.strike], key=lambda x: x.id.date) self.contract = contracts[0] self.add_option_contract(self.contract, Resolution.MINUTE) self.buy(self.contract, 1) if self.portfolio[self.contract].invested and self.strike < self.securities[self.spy].price: self.exercise_option(self.contract, 1) self.quit()