From 8f58f96fd268fdfe1e71704763d103192adc0148 Mon Sep 17 00:00:00 2001 From: Urivan Flores-Saaib Date: Tue, 2 Jul 2019 07:34:31 -0700 Subject: [PATCH 1/4] Adding protection. --- tick_taker.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tick_taker.py b/tick_taker.py index 21ace90..4fe7d32 100644 --- a/tick_taker.py +++ b/tick_taker.py @@ -1,3 +1,5 @@ +import sys +sys.path.append('../alpaca-trade-api-python') import argparse import pandas as pd import numpy as np @@ -97,12 +99,13 @@ def update_filled_amount(self, order_id, new_amount, side): self.orders_filled_amount[order_id] = new_amount def remove_pending_order(self, order_id, side): - old_amount = self.orders_filled_amount[order_id] - if side == 'buy': - self.update_pending_buy_shares(old_amount - 100) - else: - self.update_pending_sell_shares(old_amount - 100) - del self.orders_filled_amount[order_id] + old_amount = self.orders_filled_amount.get(order_id) + if old_amount: + if side == 'buy': + self.update_pending_buy_shares(old_amount - 100) + else: + self.update_pending_sell_shares(old_amount - 100) + del self.orders_filled_amount[order_id] def update_total_shares(self, quantity): self.total_shares += quantity From 24514e5663a1ab01e5182b6ea4d71715bb0a25ee Mon Sep 17 00:00:00 2001 From: Urivan Flores-Saaib Date: Tue, 2 Jul 2019 08:52:01 -0700 Subject: [PATCH 2/4] Added protection. --- tick_taker.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/tick_taker.py b/tick_taker.py index 4fe7d32..076b4f3 100644 --- a/tick_taker.py +++ b/tick_taker.py @@ -88,15 +88,16 @@ def update_pending_sell_shares(self, quantity): self.pending_sell_shares += quantity def update_filled_amount(self, order_id, new_amount, side): - old_amount = self.orders_filled_amount[order_id] - if new_amount > old_amount: - if side == 'buy': - self.update_pending_buy_shares(old_amount - new_amount) - self.update_total_shares(new_amount - old_amount) - else: - self.update_pending_sell_shares(old_amount - new_amount) - self.update_total_shares(old_amount - new_amount) - self.orders_filled_amount[order_id] = new_amount + old_amount = self.orders_filled_amount.get(order_id) + if old_amount: + if new_amount > old_amount: + if side == 'buy': + self.update_pending_buy_shares(old_amount - new_amount) + self.update_total_shares(new_amount - old_amount) + else: + self.update_pending_sell_shares(old_amount - new_amount) + self.update_total_shares(old_amount - new_amount) + self.orders_filled_amount[order_id] = new_amount def remove_pending_order(self, order_id, side): old_amount = self.orders_filled_amount.get(order_id) From f18127d087bdd06984596774161bcedecb5ec789 Mon Sep 17 00:00:00 2001 From: Urivan Flores-Saaib Date: Wed, 3 Jul 2019 08:01:18 -0700 Subject: [PATCH 3/4] Adding protection. --- tick_taker.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tick_taker.py b/tick_taker.py index 076b4f3..efb6dfe 100644 --- a/tick_taker.py +++ b/tick_taker.py @@ -1,5 +1,3 @@ -import sys -sys.path.append('../alpaca-trade-api-python') import argparse import pandas as pd import numpy as np @@ -98,6 +96,9 @@ def update_filled_amount(self, order_id, new_amount, side): self.update_pending_sell_shares(old_amount - new_amount) self.update_total_shares(old_amount - new_amount) self.orders_filled_amount[order_id] = new_amount + else: + logger.console( + f'Order ID: {order_id} not present on current orders.') def remove_pending_order(self, order_id, side): old_amount = self.orders_filled_amount.get(order_id) @@ -107,6 +108,9 @@ def remove_pending_order(self, order_id, side): else: self.update_pending_sell_shares(old_amount - 100) del self.orders_filled_amount[order_id] + else: + logger.console( + f'Order ID: {order_id} not present on current orders.') def update_total_shares(self, quantity): self.total_shares += quantity From 6e0142862b40c7136b5cbeae013e7f0094e681fb Mon Sep 17 00:00:00 2001 From: Urivan Flores-Saaib Date: Thu, 4 Jul 2019 06:05:57 -0700 Subject: [PATCH 4/4] Removed logger requirement. --- tick_taker.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tick_taker.py b/tick_taker.py index efb6dfe..43f1626 100644 --- a/tick_taker.py +++ b/tick_taker.py @@ -97,7 +97,7 @@ def update_filled_amount(self, order_id, new_amount, side): self.update_total_shares(old_amount - new_amount) self.orders_filled_amount[order_id] = new_amount else: - logger.console( + print( f'Order ID: {order_id} not present on current orders.') def remove_pending_order(self, order_id, side): @@ -109,7 +109,7 @@ def remove_pending_order(self, order_id, side): self.update_pending_sell_shares(old_amount - 100) del self.orders_filled_amount[order_id] else: - logger.console( + print( f'Order ID: {order_id} not present on current orders.') def update_total_shares(self, quantity):