From 24596022f9792da22c3e70e8ff76be6b4b4aca08 Mon Sep 17 00:00:00 2001 From: Tyler Goodlet Date: Wed, 27 Oct 2021 11:54:32 -0400 Subject: [PATCH] Wait for a last price tick before delivering quote --- piker/brokers/ib.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/piker/brokers/ib.py b/piker/brokers/ib.py index e2cea505..248039d4 100644 --- a/piker/brokers/ib.py +++ b/piker/brokers/ib.py @@ -26,6 +26,7 @@ from dataclasses import asdict from datetime import datetime from functools import partial import itertools +from math import isnan from typing import ( Any, Optional, AsyncIterator, Awaitable, @@ -502,7 +503,11 @@ class Client: contract, snapshot=True, ) - ticker = await ticker.updateEvent + + # ensure a last price gets filled in before we deliver quote + while isnan(ticker.last): + ticker = await ticker.updateEvent + details = (await details_fute)[0] return contract, ticker, details