diff --git a/Algorithm.Python/BasicTemplateIndexDailyAlgorithm.py b/Algorithm.Python/BasicTemplateIndexDailyAlgorithm.py index 718c818a9984..47889f717910 100644 --- a/Algorithm.Python/BasicTemplateIndexDailyAlgorithm.py +++ b/Algorithm.Python/BasicTemplateIndexDailyAlgorithm.py @@ -11,7 +11,6 @@ # See the License for the specific language governing permissions and # limitations under the License -import datetime from AlgorithmImports import * class BasicTemplateIndexDailyAlgorithm(QCAlgorithm): diff --git a/Algorithm.Python/IndexOptionCallITMExpiryRegressionAlgorithm.py b/Algorithm.Python/IndexOptionCallITMExpiryRegressionAlgorithm.py index 08d712bf2235..8274c7e6e1d8 100644 --- a/Algorithm.Python/IndexOptionCallITMExpiryRegressionAlgorithm.py +++ b/Algorithm.Python/IndexOptionCallITMExpiryRegressionAlgorithm.py @@ -33,10 +33,10 @@ def initialize(self): self.spx = self.add_index("SPX", Resolution.MINUTE).symbol # Select an index option expiring ITM, and adds it to the algorithm. - self.spx_option = list(self.option_chain(self.spx)) - self.spx_option = [i for i in self.spx_option if i.id.strike_price <= 3200 and i.id.option_right == OptionRight.CALL and i.id.date.year == 2021 and i.id.date.month == 1] - self.spx_option = list(sorted(self.spx_option, key=lambda x: x.id.strike_price, reverse=True))[0] - self.spx_option = self.add_index_option_contract(self.spx_option, Resolution.MINUTE).symbol + self.spx_options = list(self.option_chain(self.spx)) + self.spx_options = [i for i in self.spx_options if i.id.strike_price <= 3200 and i.id.option_right == OptionRight.CALL and i.id.date.year == 2021 and i.id.date.month == 1] + self.spx_option_contract = list(sorted(self.spx_options, key=lambda x: x.id.strike_price, reverse=True))[0] + self.spx_option = self.add_index_option_contract(self.spx_option_contract, Resolution.MINUTE).symbol self.expected_option_contract = Symbol.create_option(self.spx, Market.USA, OptionStyle.EUROPEAN, OptionRight.CALL, 3200, datetime(2021, 1, 15)) if self.spx_option != self.expected_option_contract: diff --git a/Algorithm.Python/IndexOptionCallITMGreeksExpiryRegressionAlgorithm.py b/Algorithm.Python/IndexOptionCallITMGreeksExpiryRegressionAlgorithm.py index 67b43f9541f8..c4d51c689dd9 100644 --- a/Algorithm.Python/IndexOptionCallITMGreeksExpiryRegressionAlgorithm.py +++ b/Algorithm.Python/IndexOptionCallITMGreeksExpiryRegressionAlgorithm.py @@ -30,10 +30,10 @@ def initialize(self): self.spx = spx.symbol # Select a index option call expiring ITM, and adds it to the algorithm. - self.spx_option = list(self.option_chain(self.spx)) - self.spx_option = [i for i in self.spx_option if i.id.strike_price <= 3200 and i.id.option_right == OptionRight.CALL and i.id.date.year == 2021 and i.id.date.month == 1] - self.spx_option = list(sorted(self.spx_option, key=lambda x: x.id.strike_price, reverse=True))[0] - self.spx_option = self.add_index_option_contract(self.spx_option, Resolution.MINUTE) + self.spx_options = list(self.option_chain(self.spx)) + self.spx_options = [i for i in self.spx_options if i.id.strike_price <= 3200 and i.id.option_right == OptionRight.CALL and i.id.date.year == 2021 and i.id.date.month == 1] + self.spx_option_contract = list(sorted(self.spx_options, key=lambda x: x.id.strike_price, reverse=True))[0] + self.spx_option = self.add_index_option_contract(self.spx_option_contract, Resolution.MINUTE) self.spx_option.price_model = OptionPriceModels.black_scholes() diff --git a/Algorithm.Python/IndexOptionCallOTMExpiryRegressionAlgorithm.py b/Algorithm.Python/IndexOptionCallOTMExpiryRegressionAlgorithm.py index 6e1fb12ae4f0..ebfd57bd9288 100644 --- a/Algorithm.Python/IndexOptionCallOTMExpiryRegressionAlgorithm.py +++ b/Algorithm.Python/IndexOptionCallOTMExpiryRegressionAlgorithm.py @@ -38,10 +38,10 @@ def initialize(self): self.spx = self.add_index("SPX", Resolution.MINUTE).symbol # Select a index option call expiring OTM, and adds it to the algorithm. - self.spx_option = list(self.option_chain(self.spx)) - self.spx_option = [i for i in self.spx_option if i.id.strike_price >= 4250 and i.id.option_right == OptionRight.CALL and i.id.date.year == 2021 and i.id.date.month == 1] - self.spx_option = list(sorted(self.spx_option, key=lambda x: x.id.strike_price))[0] - self.spx_option = self.add_index_option_contract(self.spx_option, Resolution.MINUTE).symbol + self.spx_options = list(self.option_chain(self.spx)) + self.spx_options = [i for i in self.spx_options if i.id.strike_price >= 4250 and i.id.option_right == OptionRight.CALL and i.id.date.year == 2021 and i.id.date.month == 1] + self.spx_option_contract = list(sorted(self.spx_options, key=lambda x: x.id.strike_price))[0] + self.spx_option = self.add_index_option_contract(self.spx_option_contract, Resolution.MINUTE).symbol self.expected_contract = Symbol.create_option( self.spx, diff --git a/Algorithm.Python/IndexOptionPutITMExpiryRegressionAlgorithm.py b/Algorithm.Python/IndexOptionPutITMExpiryRegressionAlgorithm.py index ab28da6080dd..24652c851238 100644 --- a/Algorithm.Python/IndexOptionPutITMExpiryRegressionAlgorithm.py +++ b/Algorithm.Python/IndexOptionPutITMExpiryRegressionAlgorithm.py @@ -32,10 +32,10 @@ def initialize(self): self.spx = self.add_index("SPX", Resolution.MINUTE).symbol # Select a index option expiring ITM, and adds it to the algorithm. - self.spx_option = list(self.option_chain(self.spx)) - self.spx_option = [i for i in self.spx_option if i.id.strike_price >= 4200 and i.id.option_right == OptionRight.PUT and i.id.date.year == 2021 and i.id.date.month == 1] - self.spx_option = list(sorted(self.spx_option, key=lambda x: x.id.strike_price))[0] - self.spx_option = self.add_index_option_contract(self.spx_option, Resolution.MINUTE).symbol + self.spx_options = list(self.option_chain(self.spx)) + self.spx_options = [i for i in self.spx_options if i.id.strike_price >= 4200 and i.id.option_right == OptionRight.PUT and i.id.date.year == 2021 and i.id.date.month == 1] + self.spx_option_contract = list(sorted(self.spx_options, key=lambda x: x.id.strike_price))[0] + self.spx_option = self.add_index_option_contract(self.spx_option_contract, Resolution.MINUTE).symbol self.expected_contract = Symbol.create_option(self.spx, Market.USA, OptionStyle.EUROPEAN, OptionRight.PUT, 4200, datetime(2021, 1, 15)) if self.spx_option != self.expected_contract: diff --git a/Algorithm.Python/IndexOptionPutOTMExpiryRegressionAlgorithm.py b/Algorithm.Python/IndexOptionPutOTMExpiryRegressionAlgorithm.py index 148f85be3c22..f5bfcf5f819c 100644 --- a/Algorithm.Python/IndexOptionPutOTMExpiryRegressionAlgorithm.py +++ b/Algorithm.Python/IndexOptionPutOTMExpiryRegressionAlgorithm.py @@ -38,10 +38,10 @@ def initialize(self): self.spx = self.add_index("SPX", Resolution.MINUTE).symbol # Select a index option call expiring OTM, and adds it to the algorithm. - self.spx_option = list(self.option_chain(self.spx)) - self.spx_option = [i for i in self.spx_option if i.id.strike_price <= 3200 and i.id.option_right == OptionRight.PUT and i.id.date.year == 2021 and i.id.date.month == 1] - self.spx_option = list(sorted(self.spx_option, key=lambda x: x.id.strike_price, reverse=True))[0] - self.spx_option = self.add_index_option_contract(self.spx_option, Resolution.MINUTE).symbol + self.spx_options = list(self.option_chain(self.spx)) + self.spx_options = [i for i in self.spx_options if i.id.strike_price <= 3200 and i.id.option_right == OptionRight.PUT and i.id.date.year == 2021 and i.id.date.month == 1] + self.spx_option_contract = list(sorted(self.spx_options, key=lambda x: x.id.strike_price, reverse=True))[0] + self.spx_option = self.add_index_option_contract(self.spx_option_contract, Resolution.MINUTE).symbol self.expected_contract = Symbol.create_option( self.spx, diff --git a/Algorithm.Python/IndexOptionShortCallOTMExpiryRegressionAlgorithm.py b/Algorithm.Python/IndexOptionShortCallOTMExpiryRegressionAlgorithm.py index bbbe50286e0d..755f3cb11563 100644 --- a/Algorithm.Python/IndexOptionShortCallOTMExpiryRegressionAlgorithm.py +++ b/Algorithm.Python/IndexOptionShortCallOTMExpiryRegressionAlgorithm.py @@ -34,10 +34,10 @@ def initialize(self): self.spx = self.add_index("SPX", Resolution.MINUTE).symbol # Select a index option expiring ITM, and adds it to the algorithm. - self.spx_option = list(self.option_chain(self.spx)) - self.spx_option = [i for i in self.spx_option if i.id.strike_price >= 4250 and i.id.option_right == OptionRight.CALL and i.id.date.year == 2021 and i.id.date.month == 1] - self.spx_option = list(sorted(self.spx_option, key=lambda x: x.id.strike_price))[0] - self.spx_option = self.add_index_option_contract(self.spx_option, Resolution.MINUTE).symbol + self.spx_options = list(self.option_chain(self.spx)) + self.spx_options = [i for i in self.spx_options if i.id.strike_price >= 4250 and i.id.option_right == OptionRight.CALL and i.id.date.year == 2021 and i.id.date.month == 1] + self.spx_option_contract = list(sorted(self.spx_options, key=lambda x: x.id.strike_price))[0] + self.spx_option = self.add_index_option_contract(self.spx_option_contract, Resolution.MINUTE).symbol self.expected_contract = Symbol.create_option(self.spx, Market.USA, OptionStyle.EUROPEAN, OptionRight.CALL, 4250, datetime(2021, 1, 15)) if self.spx_option != self.expected_contract: diff --git a/Algorithm.Python/IndexOptionShortPutITMExpiryRegressionAlgorithm.py b/Algorithm.Python/IndexOptionShortPutITMExpiryRegressionAlgorithm.py index bc79a61c8182..fe6430f5ce03 100644 --- a/Algorithm.Python/IndexOptionShortPutITMExpiryRegressionAlgorithm.py +++ b/Algorithm.Python/IndexOptionShortPutITMExpiryRegressionAlgorithm.py @@ -38,10 +38,10 @@ def initialize(self): self.spx = self.add_index("SPX", Resolution.MINUTE).symbol # Select a index option expiring ITM, and adds it to the algorithm. - self.spx_option = list(self.option_chain(self.spx)) - self.spx_option = [i for i in self.spx_option if i.id.strike_price <= 4200 and i.id.option_right == OptionRight.PUT and i.id.date.year == 2021 and i.id.date.month == 1] - self.spx_option = list(sorted(self.spx_option, key=lambda x: x.id.strike_price, reverse=True))[0] - self.spx_option = self.add_index_option_contract(self.spx_option, Resolution.MINUTE).symbol + self.spx_options = list(self.option_chain(self.spx)) + self.spx_options = [i for i in self.spx_options if i.id.strike_price <= 4200 and i.id.option_right == OptionRight.PUT and i.id.date.year == 2021 and i.id.date.month == 1] + self.spx_option_contract = list(sorted(self.spx_options, key=lambda x: x.id.strike_price, reverse=True))[0] + self.spx_option = self.add_index_option_contract(self.spx_option_contract, Resolution.MINUTE).symbol self.expected_contract = Symbol.create_option(self.spx, Market.USA, OptionStyle.EUROPEAN, OptionRight.PUT, 4200, datetime(2021, 1, 15)) if self.spx_option != self.expected_contract: diff --git a/Algorithm.Python/IndexOptionShortPutOTMExpiryRegressionAlgorithm.py b/Algorithm.Python/IndexOptionShortPutOTMExpiryRegressionAlgorithm.py index fda8586a158a..a536a02120fb 100644 --- a/Algorithm.Python/IndexOptionShortPutOTMExpiryRegressionAlgorithm.py +++ b/Algorithm.Python/IndexOptionShortPutOTMExpiryRegressionAlgorithm.py @@ -34,10 +34,10 @@ def initialize(self): self.spx = self.add_index("SPX", Resolution.MINUTE).symbol # Select a index option expiring ITM, and adds it to the algorithm. - self.spx_option = list(self.option_chain(self.spx)) - self.spx_option = [i for i in self.spx_option if i.id.strike_price <= 3200 and i.id.option_right == OptionRight.PUT and i.id.date.year == 2021 and i.id.date.month == 1] - self.spx_option = list(sorted(self.spx_option, key=lambda x: x.id.strike_price, reverse=True))[0] - self.spx_option = self.add_index_option_contract(self.spx_option, Resolution.MINUTE).symbol + self.spx_options = list(self.option_chain(self.spx)) + self.spx_options = [i for i in self.spx_options if i.id.strike_price <= 3200 and i.id.option_right == OptionRight.PUT and i.id.date.year == 2021 and i.id.date.month == 1] + self.spx_option_contract = list(sorted(self.spx_options, key=lambda x: x.id.strike_price, reverse=True))[0] + self.spx_option = self.add_index_option_contract(self.spx_option_contract, Resolution.MINUTE).symbol self.expected_contract = Symbol.create_option(self.spx, Market.USA, OptionStyle.EUROPEAN, OptionRight.PUT, 3200, datetime(2021, 1, 15)) if self.spx_option != self.expected_contract: diff --git a/Algorithm.Python/OpenInterestFuturesRegressionAlgorithm.py b/Algorithm.Python/OpenInterestFuturesRegressionAlgorithm.py index 82f13beddcc5..c0bbbd3143b2 100644 --- a/Algorithm.Python/OpenInterestFuturesRegressionAlgorithm.py +++ b/Algorithm.Python/OpenInterestFuturesRegressionAlgorithm.py @@ -38,7 +38,7 @@ def on_data(self,data): if self.transactions.orders_count == 0 and data.has_data: matched = list(filter(lambda s: not (s.id.date in self.expected_expiry_dates) and not s.is_canonical(), data.keys())) if len(matched) != 0: - raise AssertionError(f"{len(matched)}/{len(slice.keys)} were unexpected expiry date(s): " + ", ".join(list(map(lambda x: x.id.date, matched)))) + raise AssertionError(f"{len(matched)}/{len(slice.keys())} were unexpected expiry date(s): " + ", ".join(list(map(lambda x: x.id.date, matched)))) for symbol in data.keys(): self.market_order(symbol, 1) diff --git a/Algorithm.Python/ScikitLearnLinearRegressionAlgorithm.py b/Algorithm.Python/ScikitLearnLinearRegressionAlgorithm.py index d66892f74d43..7a73448f64a4 100644 --- a/Algorithm.Python/ScikitLearnLinearRegressionAlgorithm.py +++ b/Algorithm.Python/ScikitLearnLinearRegressionAlgorithm.py @@ -80,7 +80,7 @@ def trade(self): thod_buy = 0.001 # threshold of slope to buy thod_liquidate = -0.001 # threshold of slope to liquidate - for holding in self.portfolio.Values: + for holding in self.portfolio.values(): slope = self.slopes[holding.symbol] # liquidate when slope smaller than thod_liquidate if holding.invested and slope < thod_liquidate: diff --git a/Algorithm.Python/TensorFlowNeuralNetworkAlgorithm.py b/Algorithm.Python/TensorFlowNeuralNetworkAlgorithm.py index 5be11e2c178a..4c20ffb280b0 100644 --- a/Algorithm.Python/TensorFlowNeuralNetworkAlgorithm.py +++ b/Algorithm.Python/TensorFlowNeuralNetworkAlgorithm.py @@ -102,7 +102,7 @@ def trade(self) -> None: Enter or exit positions based on relationship of the open price of the current bar and the prices defined by the machine learning model. Liquidate if the open price is below the sell price and buy if the open price is above the buy price ''' - for holding in self.portfolio.Values: + for holding in self.portfolio.values(): if holding.symbol not in self.current_slice.bars: return