alpacahq / alpacahq/Alpaca-API

The API `PATCH/v2/orders/` incorrectly uses original qty and not updated qty if the order has a partial fill

Open
#165 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
No language data
Stars
173
Forks
17
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug**
When a sell order that was opened with qty=N is partially filled, and then gets replaced with a new price (using the `PATCH` API), the replaced order reflects the original qty N and NOT the unfilled qty. This results in the replaced partially filled orders ultimately filling the wrong total quantity or returning an error (because now, for a liquidating sell, it is trying to sell more than one has shares).

It appears that the replaced order gets created with qty = N (the original order qty). The correct behaviour would be to create the new order with with only the outstanding, unfilled shares, qty = N - partially_filled_qty.

This may also occur for a buy order but cannot confirm this.

**To Reproduce**
This is hard to reproduce because it only happens when replacing a partially filled order.

**Expected behavior**
The correct behaviour would be to create the new order with with only the outstanding, unfilled shares, qty = N - partially_filled_qty.

**Additional context**
There is a forum post explaining this behaviour in more detail.
https://forum.alpaca.markets/t/quantity-error-when-replacing-partially-filled-sell-order/4329

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.