SeverinJB / yuzu

0 stars 0 forks source link

canceled order - 'dict' object has no attribute 'ticker' #25

Closed SeverinJB closed 1 year ago

SeverinJB commented 1 year ago
2022-09-23 19:13:01,294:strategy_scalping.py:41:INFO:root:closes[-2:] = [150.085 150.065], mavg[-2:] = [150.11714286 150.11404762]
2022-09-23 19:14:00,534:alpaca_data_source.py:63:INFO:root:New bar: 2022-09-23 17:13:00, close: 150.115, len(database[AAPL]): 87
2022-09-23 19:14:00,538:strategy_scalping.py:36:INFO:root:buy signal: closes[-2] 150.065 < mavg[-2] 150.1140476190475 closes[-1] 150.115 > mavg[-1] 150.10571428571416
2022-09-23 19:14:01,175:positions_manager.py:100:INFO:root:Open pending order: <trade_objects.Order object at 0x113ceccc0>
2022-09-23 19:14:04,190:alpaca_trade_executor.py:66:INFO:root:trade_updates Entity({   'event': 'new',
    'execution_id': '64a6837c-94b9-4a80-a921-547fea6ebabd',
    'order': {   'asset_class': 'us_equity',
                 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415',
                 'cancel_requested_at': None,
                 'canceled_at': None,
                 'client_order_id': '9584dd50-3938-4771-8d72-51c873572f57',
                 'created_at': '2022-09-23T13:14:04.319058371-04:00',
                 'expired_at': None,
                 'extended_hours': False,
                 'failed_at': None,
                 'filled_at': None,
                 'filled_avg_price': None,
                 'filled_qty': '0',
                 'hwm': None,
                 'id': '24c6171c-2002-4452-be55-b07353e441a3',
                 'legs': None,
                 'limit_price': '150.12',
                 'notional': None,
                 'order_class': '',
                 'order_type': 'limit',
                 'qty': '6',
                 'replaced_at': None,
                 'replaced_by': None,
                 'replaces': None,
                 'side': 'buy',
                 'status': 'new',
                 'stop_price': None,
                 'submitted_at': '2022-09-23T13:14:04.318400101-04:00',
                 'symbol': 'AAPL',
                 'time_in_force': 'day',
                 'trail_percent': None,
                 'trail_price': None,
                 'type': 'limit',
                 'updated_at': '2022-09-23T13:14:04.326216211-04:00'},
    'timestamp': '2022-09-23T17:14:04.324947498Z'})
2022-09-23 19:14:04,197:alpaca_trade_executor.py:47:INFO:root:submitted order AAPL
2022-09-23 19:14:04,198:positions_manager.py:17:INFO:root:order update: new = {'asset_class': 'us_equity', 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415', 'cancel_requested_at': None, 'canceled_at': None, 'client_order_id': 'd08dc492-a8d4-4f30-aac0-897b09cb6000', 'created_at': '2022-09-23T12:37:01.601717189-04:00', 'expired_at': None, 'extended_hours': False, 'failed_at': None, 'filled_at': None, 'filled_avg_price': None, 'filled_qty': '0', 'hwm': None, 'id': '56fd6db0-edff-4bc6-86d4-29fe05474605', 'legs': None, 'limit_price': '149.8', 'notional': None, 'order_class': '', 'order_type': 'limit', 'qty': '6', 'replaced_at': None, 'replaced_by': None, 'replaces': None, 'side': 'buy', 'status': 'new', 'stop_price': None, 'submitted_at': '2022-09-23T12:37:01.601171659-04:00', 'symbol': 'AAPL', 'time_in_force': 'day', 'trail_percent': None, 'trail_price': None, 'type': 'limit', 'updated_at': '2022-09-23T12:37:01.608423309-04:00'}
2022-09-23 19:14:04,198:positions_manager.py:41:WARNING:root:Unexpected event: new for {'asset_class': 'us_equity', 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415', 'cancel_requested_at': None, 'canceled_at': None, 'client_order_id': 'd08dc492-a8d4-4f30-aac0-897b09cb6000', 'created_at': '2022-09-23T12:37:01.601717189-04:00', 'expired_at': None, 'extended_hours': False, 'failed_at': None, 'filled_at': None, 'filled_avg_price': None, 'filled_qty': '0', 'hwm': None, 'id': '56fd6db0-edff-4bc6-86d4-29fe05474605', 'legs': None, 'limit_price': '149.8', 'notional': None, 'order_class': '', 'order_type': 'limit', 'qty': '6', 'replaced_at': None, 'replaced_by': None, 'replaces': None, 'side': 'buy', 'status': 'new', 'stop_price': None, 'submitted_at': '2022-09-23T12:37:01.601171659-04:00', 'symbol': 'AAPL', 'time_in_force': 'day', 'trail_percent': None, 'trail_price': None, 'type': 'limit', 'updated_at': '2022-09-23T12:37:01.608423309-04:00'}
2022-09-23 19:14:04,198:positions_manager.py:17:INFO:root:order update: fill = {'asset_class': 'us_equity', 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415', 'cancel_requested_at': None, 'canceled_at': None, 'client_order_id': 'd08dc492-a8d4-4f30-aac0-897b09cb6000', 'created_at': '2022-09-23T12:37:01.601717189-04:00', 'expired_at': None, 'extended_hours': False, 'failed_at': None, 'filled_at': '2022-09-23T16:37:01.879569206Z', 'filled_avg_price': '149.78', 'filled_qty': '6', 'hwm': None, 'id': '56fd6db0-edff-4bc6-86d4-29fe05474605', 'legs': None, 'limit_price': '149.8', 'notional': None, 'order_class': '', 'order_type': 'limit', 'qty': '6', 'replaced_at': None, 'replaced_by': None, 'replaces': None, 'side': 'buy', 'status': 'filled', 'stop_price': None, 'submitted_at': '2022-09-23T12:37:01.601171659-04:00', 'symbol': 'AAPL', 'time_in_force': 'day', 'trail_percent': None, 'trail_price': None, 'type': 'limit', 'updated_at': '2022-09-23T12:37:01.894041754-04:00'}
2022-09-23 19:14:04,198:positions_manager.py:84:INFO:root:Open position: <trade_objects.Position object at 0x113e233c8>
2022-09-23 19:14:04,199:positions_manager.py:17:INFO:root:order update: new = {'asset_class': 'us_equity', 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415', 'cancel_requested_at': None, 'canceled_at': None, 'client_order_id': '8ad64cc0-0573-42d6-8660-efbefa17e76a', 'created_at': '2022-09-23T12:37:02.105905162-04:00', 'expired_at': None, 'extended_hours': False, 'failed_at': None, 'filled_at': None, 'filled_avg_price': None, 'filled_qty': '0', 'hwm': None, 'id': 'da4cb1d8-fe1e-4d3e-aded-e335a648ceb2', 'legs': None, 'limit_price': '150.17', 'notional': None, 'order_class': '', 'order_type': 'limit', 'qty': '6', 'replaced_at': None, 'replaced_by': None, 'replaces': None, 'side': 'sell', 'status': 'new', 'stop_price': None, 'submitted_at': '2022-09-23T12:37:02.105254622-04:00', 'symbol': 'AAPL', 'time_in_force': 'day', 'trail_percent': None, 'trail_price': None, 'type': 'limit', 'updated_at': '2022-09-23T12:37:02.112921562-04:00'}
2022-09-23 19:14:04,199:positions_manager.py:41:WARNING:root:Unexpected event: new for {'asset_class': 'us_equity', 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415', 'cancel_requested_at': None, 'canceled_at': None, 'client_order_id': '8ad64cc0-0573-42d6-8660-efbefa17e76a', 'created_at': '2022-09-23T12:37:02.105905162-04:00', 'expired_at': None, 'extended_hours': False, 'failed_at': None, 'filled_at': None, 'filled_avg_price': None, 'filled_qty': '0', 'hwm': None, 'id': 'da4cb1d8-fe1e-4d3e-aded-e335a648ceb2', 'legs': None, 'limit_price': '150.17', 'notional': None, 'order_class': '', 'order_type': 'limit', 'qty': '6', 'replaced_at': None, 'replaced_by': None, 'replaces': None, 'side': 'sell', 'status': 'new', 'stop_price': None, 'submitted_at': '2022-09-23T12:37:02.105254622-04:00', 'symbol': 'AAPL', 'time_in_force': 'day', 'trail_percent': None, 'trail_price': None, 'type': 'limit', 'updated_at': '2022-09-23T12:37:02.112921562-04:00'}
2022-09-23 19:14:04,199:positions_manager.py:17:INFO:root:order update: canceled = {'asset_class': 'us_equity', 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415', 'cancel_requested_at': '2022-09-23T12:40:34.502650053-04:00', 'canceled_at': '2022-09-23T16:40:34.506747818Z', 'client_order_id': '8ad64cc0-0573-42d6-8660-efbefa17e76a', 'created_at': '2022-09-23T12:37:02.105905162-04:00', 'expired_at': None, 'extended_hours': False, 'failed_at': None, 'filled_at': None, 'filled_avg_price': None, 'filled_qty': '0', 'hwm': None, 'id': 'da4cb1d8-fe1e-4d3e-aded-e335a648ceb2', 'legs': None, 'limit_price': '150.17', 'notional': None, 'order_class': '', 'order_type': 'limit', 'qty': '6', 'replaced_at': None, 'replaced_by': None, 'replaces': None, 'side': 'sell', 'status': 'canceled', 'stop_price': None, 'submitted_at': '2022-09-23T12:37:02.105254622-04:00', 'symbol': 'AAPL', 'time_in_force': 'day', 'trail_percent': None, 'trail_price': None, 'type': 'limit', 'updated_at': '2022-09-23T12:40:34.509025183-04:00'}
Traceback (most recent call last):
  File "/Users/SeverinBurg/Documents/GitHub/yuzu/main.py", line 43, in <module>
    asyncio.run(main())
  File "/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 573, in run_until_complete
    return future.result()
  File "/Users/SeverinBurg/Documents/GitHub/yuzu/main.py", line 39, in main
    await tradeManager.trade()
  File "/Users/SeverinBurg/Documents/GitHub/yuzu/src/trades_manager.py", line 129, in trade
    self.__check_for_order_updates()
  File "/Users/SeverinBurg/Documents/GitHub/yuzu/src/trades_manager.py", line 97, in __check_for_order_updates
    self.__positions_manager.update_position(order.ticker, update)
  File "/Users/SeverinBurg/Documents/GitHub/yuzu/src/positions_manager.py", line 38, in update_position

AttributeError: 'dict' object has no attribute 'ticker'
2022-09-23 19:14:04,403:alpaca_trade_executor.py:66:INFO:root:trade_updates Entity({   'event': 'fill',
    'execution_id': '11159693-0dcc-41aa-b2ca-874393dc2592',
    'order': {   'asset_class': 'us_equity',
                 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415',
                 'cancel_requested_at': None,
                 'canceled_at': None,
                 'client_order_id': '9584dd50-3938-4771-8d72-51c873572f57',
                 'created_at': '2022-09-23T13:14:04.319058371-04:00',
                 'expired_at': None,
                 'extended_hours': False,
                 'failed_at': None,
                 'filled_at': '2022-09-23T17:14:04.536058941Z',
                 'filled_avg_price': '150.11',
                 'filled_qty': '6',
                 'hwm': None,
                 'id': '24c6171c-2002-4452-be55-b07353e441a3',
                 'legs': None,
                 'limit_price': '150.12',
                 'notional': None,
                 'order_class': '',
                 'order_type': 'limit',
                 'qty': '6',
                 'replaced_at': None,
                 'replaced_by': None,
                 'replaces': None,
                 'side': 'buy',
                 'status': 'filled',
                 'stop_price': None,
                 'submitted_at': '2022-09-23T13:14:04.318400101-04:00',
                 'symbol': 'AAPL',
                 'time_in_force': 'day',
                 'trail_percent': None,
                 'trail_price': None,
                 'type': 'limit',
                 'updated_at': '2022-09-23T13:14:04.538955878-04:00'},
    'position_qty': '6',
    'price': '150.11',
    'qty': '6',
    'timestamp': '2022-09-23T17:14:04.536058941Z'})
2022-09-23 19:15:00,262:alpaca_data_source.py:63:INFO:root:New bar: 2022-09-23 17:14:00, close: 150.025, len(database[AAPL]): 88
SeverinJB commented 1 year ago

Issue has been addressed by optimising the way update_position() handles cancelled orders