pep8 conversion on python algorithms #2 (#7933)

* pep8 conversion

* more

* Minor fix

* Fix related regression algorithm

---------

Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
This commit is contained in:
Louis Szeto
2024-04-18 04:36:53 +08:00
committed by GitHub
parent c2bea3c173
commit 784e497691
25 changed files with 466 additions and 466 deletions
@@ -22,44 +22,44 @@ from AlgorithmImports import *
### <meta name="tag" content="filter selection" />
### <meta name="tag" content="trading and orders" />
class BasicTemplateOptionEquityStrategyAlgorithm(QCAlgorithm):
UnderlyingTicker = "GOOG"
underlying_ticker = "GOOG"
def Initialize(self):
self.SetStartDate(2015, 12, 24)
self.SetEndDate(2015, 12, 24)
def initialize(self):
self.set_start_date(2015, 12, 24)
self.set_end_date(2015, 12, 24)
equity = self.AddEquity(self.UnderlyingTicker)
option = self.AddOption(self.UnderlyingTicker)
self.option_symbol = option.Symbol
equity = self.add_equity(self.underlying_ticker)
option = self.add_option(self.underlying_ticker)
self.option_symbol = option.symbol
# set our strike/expiry filter for this option chain
option.SetFilter(lambda u: (u.Strikes(-2, +2)
option.set_filter(lambda u: (u.strikes(-2, +2)
# Expiration method accepts TimeSpan objects or integer for days.
# The following statements yield the same filtering criteria
.Expiration(0, 180)))
.expiration(0, 180)))
def OnData(self,slice):
if self.Portfolio.Invested or not self.IsMarketOpen(self.option_symbol): return
def on_data(self, slice):
if self.portfolio.invested or not self.is_market_open(self.option_symbol): return
chain = slice.OptionChains.GetValue(self.option_symbol)
chain = slice.option_chains.get_value(self.option_symbol)
if chain is None:
return
groupedByExpiry = dict()
for contract in [contract for contract in chain if contract.Right == OptionRight.Call]:
groupedByExpiry.setdefault(int(contract.Expiry.timestamp()), []).append(contract)
grouped_by_expiry = dict()
for contract in [contract for contract in chain if contract.right == OptionRight.CALL]:
grouped_by_expiry.setdefault(int(contract.expiry.timestamp()), []).append(contract)
firstExpiry = list(sorted(groupedByExpiry))[0]
callContracts = sorted(groupedByExpiry[firstExpiry], key = lambda x: x.Strike)
first_expiry = list(sorted(grouped_by_expiry))[0]
call_contracts = sorted(grouped_by_expiry[first_expiry], key = lambda x: x.strike)
expiry = callContracts[0].Expiry
lowerStrike = callContracts[0].Strike
middleStrike = callContracts[1].Strike
higherStrike = callContracts[2].Strike
expiry = call_contracts[0].expiry
lower_strike = call_contracts[0].strike
middle_strike = call_contracts[1].strike
higher_strike = call_contracts[2].strike
optionStrategy = OptionStrategies.CallButterfly(self.option_symbol, higherStrike, middleStrike, lowerStrike, expiry)
option_strategy = OptionStrategies.call_butterfly(self.option_symbol, higher_strike, middle_strike, lower_strike, expiry)
self.Order(optionStrategy, 10)
self.order(option_strategy, 10)
def OnOrderEvent(self, orderEvent):
self.Log(str(orderEvent))
def on_order_event(self, order_event):
self.log(str(order_event))