pep8 conversion of python algos #1-25 (#7926)

* pep8 conversion of python algos

* address peer-review

* PEP8 updates/fixes

* More fixes

---------

Co-authored-by: Jhonathan Abreu <jdabreu25@gmail.com>
This commit is contained in:
Louis Szeto
2024-04-18 05:02:32 +08:00
committed by GitHub
parent 784e497691
commit ed7f3ebbbf
35 changed files with 735 additions and 727 deletions
@@ -19,52 +19,52 @@ from AlgorithmImports import *
class BasicTemplateContinuousFutureWithExtendedMarketAlgorithm(QCAlgorithm):
'''Basic template algorithm simply initializes the date range and cash'''
def Initialize(self):
def initialize(self):
'''Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.'''
self.SetStartDate(2013, 7, 1)
self.SetEndDate(2014, 1, 1)
self.set_start_date(2013, 7, 1)
self.set_end_date(2014, 1, 1)
self._continuousContract = self.AddFuture(Futures.Indices.SP500EMini,
dataNormalizationMode = DataNormalizationMode.BackwardsRatio,
dataMappingMode = DataMappingMode.LastTradingDay,
contractDepthOffset = 0,
extendedMarketHours = True)
self._continuous_contract = self.add_future(Futures.Indices.SP_500_E_MINI,
data_normalization_mode = DataNormalizationMode.BACKWARDS_RATIO,
data_mapping_mode = DataMappingMode.LAST_TRADING_DAY,
contract_depth_offset = 0,
extended_market_hours = True)
self._fast = self.SMA(self._continuousContract.Symbol, 4, Resolution.Daily)
self._slow = self.SMA(self._continuousContract.Symbol, 10, Resolution.Daily)
self._currentContract = None
self._fast = self.sma(self._continuous_contract.symbol, 4, Resolution.DAILY)
self._slow = self.sma(self._continuous_contract.symbol, 10, Resolution.DAILY)
self._current_contract = None
def OnData(self, data):
def on_data(self, data):
'''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.
Arguments:
data: Slice object keyed by symbol containing the stock data
'''
for changedEvent in data.SymbolChangedEvents.Values:
if changedEvent.Symbol == self._continuousContract.Symbol:
self.Log(f"SymbolChanged event: {changedEvent}")
for changed_event in data.symbol_changed_events.values():
if changed_event.symbol == self._continuous_contract.symbol:
self.log(f"SymbolChanged event: {changed_event}")
if not self.IsMarketOpen(self._continuousContract.Symbol):
if not self.is_market_open(self._continuous_contract.symbol):
return
if not self.Portfolio.Invested:
if self._fast.Current.Value > self._slow.Current.Value:
self._currentContract = self.Securities[self._continuousContract.Mapped]
self.Buy(self._currentContract.Symbol, 1)
elif self._fast.Current.Value < self._slow.Current.Value:
self.Liquidate()
if not self.portfolio.invested:
if self._fast.current.value > self._slow.current.value:
self._current_contract = self.securities[self._continuous_contract.mapped]
self.buy(self._current_contract.symbol, 1)
elif self._fast.current.value < self._slow.current.value:
self.liquidate()
if self._currentContract is not None and self._currentContract.Symbol != self._continuousContract.Mapped:
self.Log(f"{Time} - rolling position from {self._currentContract.Symbol} to {self._continuousContract.Mapped}")
if self._current_contract is not None and self._current_contract.symbol != self._continuous_contract.mapped:
self.log(f"{Time} - rolling position from {self._current_contract.symbol} to {self._continuous_contract.mapped}")
currentPositionSize = self._currentContract.Holdings.Quantity
self.Liquidate(self._currentContract.Symbol)
self.Buy(self._continuousContract.Mapped, currentPositionSize)
self._currentContract = self.Securities[self._continuousContract.Mapped]
current_position_size = self._current_contract.holdings.quantity
self.liquidate(self._current_contract.symbol)
self.buy(self._continuous_contract.mapped, current_position_size)
self._current_contract = self.securities[self._continuous_contract.mapped]
def OnOrderEvent(self, orderEvent):
self.Debug("Purchased Stock: {0}".format(orderEvent.Symbol))
def on_order_event(self, order_event):
self.debug("Purchased Stock: {0}".format(order_event.symbol))
def OnSecuritiesChanged(self, changes):
self.Debug(f"{self.Time}-{changes}")
def on_securities_changed(self, changes):
self.debug(f"{self.time}-{changes}")