My Paper is broken :-(

Has anyone else experienced this today?

Around 3PM when the market picked up, my limit buy posted and my limit sell posted, HOWEVER, not only will it NOT sell, but if I sell at market value the share magically decreases by $2. I checked and this is not the case in market. It has been happening for 50 mins straight. As you will see in the photos. Each share was allegedly at $405.XX. I confused this against a RT ticker. However, I could not sell. Since I couldn’t sell, I decide to do market. I got $2 less per share. I checked the market and that was not right. It was still $405.

I noticed this once problem once my strategy picked up. I had $3000 in 15 mins and I look up at the chart and I was down $3000!!! Why because the [MKT] sell is broken, or at least on my account. Keep in mind, I was doing the market sell manually.

See pictures. Screen Shot 2020-09-25 at 3.45.16 PM
Screen Shot 2020-09-25 at 3.45.05 PM
Screen Shot 2020-09-25 at 3.45.43 PM

Well, the weekend is over and now I have a new problem. I can’t even use the API anymore from my paper. When does it rest? It’s been over 2 days.

 WARNING:root:server rejected WebSocket connection: HTTP 429
WARNING:root:server rejected WebSocket connection: HTTP 429
WARNING:root:server rejected WebSocket connection: HTTP 429
ERROR:asyncio:Task exception was never retrieved
future: <Task finished coro=<StreamConn.subscribe() done, defined at /usr/local/lib/python3.7/site-packages/alpaca_trade_api/stream2.py:240> exception=ConnectionError('Max Retries Exceeded')>
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/alpaca_trade_api/stream2.py", line 259, in subscribe
    await self.trading_ws.subscribe(trading_channels)
  File "/usr/local/lib/python3.7/site-packages/alpaca_trade_api/stream2.py", line 108, in subscribe
    await self._ensure_ws()
  File "/usr/local/lib/python3.7/site-packages/alpaca_trade_api/stream2.py", line 102, in _ensure_ws
    raise ConnectionError("Max Retries Exceeded")
ConnectionError: Max Retries Exceeded
ERROR:root:error while consuming ws messages: Max Retries Exceeded
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429
ERROR:root:error while consuming ws messages: server rejected WebSocket connection: HTTP 429

Maybe it’s my computer or my IP is blocked. I found another way. I’m closing this.

I’m observing this too. Huge difference from posted market value and my actual (lower) market sell price. Happens for me with both manual and algo transaction. I’m definitely not doing any live API trading until I figure out why. My portfolio spikes downward between 5 and 10 percent every time I liquidate…

1 Like

Market orders aren’t your friend (generally). Always place limit orders (generally).

The posted market value is based upon the last trade price. The actual price you receive when selling isn’t based on the last traded price. It’s really based on the current bid price. Your order won’t fill at the price which the last order traded at. It will fill at what current traders are bidding. This will most often be less than the last trade price. Why? Typically buyers are trying to get a ‘deal’ and don’t bid the price up but rather down. This is especially true if the stock doesn’t have a lot of trading volume. The spread between bid and ask, and bid and last trade, can be quite large. That is why liquidating positions ‘at market’ will typically result in less than the ‘market’ value one expected. The price is perhaps exaggerated in paper trading but will be directionally true for live trading.

This is why market orders aren’t (generally) your friend. You never really know what you are going to get. The better way to trade (IMHO) is to look at the current bid price, and if that is an ok price for you, put in a limit at that price. You will then be guaranteed that price or better with no surprises and the order should typically fill. In manual trading this is cumbersome. In algo trading this is a few lines of code.

3 Likes

Thanks! I appreciate your thorough response. :slight_smile:

Same. I’ve never known it to be this bad IRL. Not sure why paper behaves this way

I don’t recall seeing big-ask included when I pull “positions” from alpaca. I’m not in front of a pc rn, but is that easy to pull from alpaca?