SeverinJB / yuzu

0 stars 0 forks source link

Partial fill - 'dict' object has no attribute 'ticker' #26

Closed SeverinJB closed 1 year ago

SeverinJB commented 1 year ago
022-09-23 19:48:04,147:alpaca_data_source.py:63:INFO:root:New bar: 2022-09-23 17:47:00, close: 149.785, len(database[AAPL]): 29
2022-09-23 19:48:04,151:strategy_scalping.py:36:INFO:root:buy signal: closes[-2] 149.66 < mavg[-2] 149.74928571428578 closes[-1] 149.785 > mavg[-1] 149.7383333333334
2022-09-23 19:48:04,731:positions_manager.py:101:INFO:root:Open pending order: <trade_objects.Order object at 0x10f8bba58>
2022-09-23 19:48:06,359:alpaca_trade_executor.py:47:INFO:root:submitted order AAPL
2022-09-23 19:48:06,360: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': '580b1b8c-ffb4-4787-ad24-fc9885bb7311', 'created_at': '2022-09-23T13:19:25.008450256-04:00', 'expired_at': None, 'extended_hours': False, 'failed_at': None, 'filled_at': None, 'filled_avg_price': None, 'filled_qty': '0', 'hwm': None, 'id': 'c08fd2bc-ec64-4531-90cd-2c85309b6ee1', 'legs': None, 'limit_price': None, 'notional': None, 'order_class': '', 'order_type': 'market', 'qty': '6', 'replaced_at': None, 'replaced_by': None, 'replaces': None, 'side': 'sell', 'status': 'new', 'stop_price': None, 'submitted_at': '2022-09-23T13:19:25.007906616-04:00', 'symbol': 'AAPL', 'time_in_force': 'day', 'trail_percent': None, 'trail_price': None, 'type': 'market', 'updated_at': '2022-09-23T13:19:25.015089596-04:00'}
2022-09-23 19:48:06,360:positions_manager.py:42: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': '580b1b8c-ffb4-4787-ad24-fc9885bb7311', 'created_at': '2022-09-23T13:19:25.008450256-04:00', 'expired_at': None, 'extended_hours': False, 'failed_at': None, 'filled_at': None, 'filled_avg_price': None, 'filled_qty': '0', 'hwm': None, 'id': 'c08fd2bc-ec64-4531-90cd-2c85309b6ee1', 'legs': None, 'limit_price': None, 'notional': None, 'order_class': '', 'order_type': 'market', 'qty': '6', 'replaced_at': None, 'replaced_by': None, 'replaces': None, 'side': 'sell', 'status': 'new', 'stop_price': None, 'submitted_at': '2022-09-23T13:19:25.007906616-04:00', 'symbol': 'AAPL', 'time_in_force': 'day', 'trail_percent': None, 'trail_price': None, 'type': 'market', 'updated_at': '2022-09-23T13:19:25.015089596-04:00'}
2022-09-23 19:48:06,360:positions_manager.py:17:INFO:root:order update: partial_fill = {'asset_class': 'us_equity', 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415', 'cancel_requested_at': None, 'canceled_at': None, 'client_order_id': '580b1b8c-ffb4-4787-ad24-fc9885bb7311', 'created_at': '2022-09-23T13:19:25.008450256-04:00', 'expired_at': None, 'extended_hours': False, 'failed_at': None, 'filled_at': '2022-09-23T17:19:25.082292939Z', 'filled_avg_price': '150.11', 'filled_qty': '4', 'hwm': None, 'id': 'c08fd2bc-ec64-4531-90cd-2c85309b6ee1', 'legs': None, 'limit_price': None, 'notional': None, 'order_class': '', 'order_type': 'market', 'qty': '6', 'replaced_at': None, 'replaced_by': None, 'replaces': None, 'side': 'sell', 'status': 'partially_filled', 'stop_price': None, 'submitted_at': '2022-09-23T13:19:25.007906616-04:00', 'symbol': 'AAPL', 'time_in_force': 'day', 'trail_percent': None, 'trail_price': None, 'type': 'market', 'updated_at': '2022-09-23T13:19:25.085128985-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 26, in update_position
    remaining_order = self.get_pending_order_for_ticker(update['order'].ticker)
AttributeError: 'dict' object has no attribute 'ticker'
2022-09-23 19:48:06,368:alpaca_trade_executor.py:66:INFO:root:trade_updates Entity({   'event': 'new',
    'execution_id': '13bfcc72-df58-44f8-967b-c9372446b550',
    'order': {   'asset_class': 'us_equity',
                 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415',
                 'cancel_requested_at': None,
                 'canceled_at': None,
                 'client_order_id': 'c23e5d5c-84ae-4ef6-b24f-8431ceaf46c9',
                 'created_at': '2022-09-23T13:48:06.450691788-04:00',
                 'expired_at': None,
                 'extended_hours': False,
                 'failed_at': None,
                 'filled_at': None,
                 'filled_avg_price': None,
                 'filled_qty': '0',
                 'hwm': None,
                 'id': '9073e130-c541-4f01-b40b-40d7251486da',
                 'legs': None,
                 'limit_price': '149.78',
                 '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:48:06.450126398-04:00',
                 'symbol': 'AAPL',
                 'time_in_force': 'day',
                 'trail_percent': None,
                 'trail_price': None,
                 'type': 'limit',
                 'updated_at': '2022-09-23T13:48:06.456647848-04:00'},
    'timestamp': '2022-09-23T17:48:06.455465185Z'})
2022-09-23 19:48:09,588:alpaca_trade_executor.py:66:INFO:root:trade_updates Entity({   'event': 'fill',
    'execution_id': '003ec472-5329-4d02-91ed-d61d67f7c855',
    'order': {   'asset_class': 'us_equity',
                 'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415',
                 'cancel_requested_at': None,
                 'canceled_at': None,
                 'client_order_id': 'c23e5d5c-84ae-4ef6-b24f-8431ceaf46c9',
                 'created_at': '2022-09-23T13:48:06.450691788-04:00',
                 'expired_at': None,
                 'extended_hours': False,
                 'failed_at': None,
                 'filled_at': '2022-09-23T17:48:08.284602385Z',
                 'filled_avg_price': '149.78',
                 'filled_qty': '6',
                 'hwm': None,
                 'id': '9073e130-c541-4f01-b40b-40d7251486da',
                 'legs': None,
                 'limit_price': '149.78',
                 '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:48:06.450126398-04:00',
                 'symbol': 'AAPL',
                 'time_in_force': 'day',
                 'trail_percent': None,
                 'trail_price': None,
                 'type': 'limit',
                 'updated_at': '2022-09-23T13:48:08.286973517-04:00'},
    'position_qty': '6',
    'price': '149.78',
    'qty': '6',
    'timestamp': '2022-09-23T17:48:08.284602385Z'})
2022-09-23 19:49:00,482:alpaca_data_source.py:63:INFO:root:New bar: 2022-09-23 17:48:00, close: 149.7, len(database[AAPL]): 30
SeverinJB commented 1 year ago

Fixed while addressing various issues related to partial_fill events in the update_position() function.