fixed ib_async.wrapper ERROR for tickType 88 and 90#192
fixed ib_async.wrapper ERROR for tickType 88 and 90#192davidatBGU wants to merge 2 commits intoib-api-reloaded:mainfrom
Conversation
…value: '1763653969'
AssertionError: Received tick tickType=90 value=0 but we don't have an attribute mapping for it? Triggered from ticker.contract=Stock(conId=4817283, symbol='RCMT', exchange='NASDAQ', currency='USD', localSymbol='RCMT', tradingClass='NMS')
2025-11-20 17:00:16,731 ib_async.Decoder ERROR: Error for tickGeneric([796, 90, 0.0]):
Traceback (most recent call last):
File "/home/opc/.local/lib/python3.11/site-packages/ib_async/decoder.py", line 170, in handler
method(*args)
File "/home/opc/.local/lib/python3.11/site-packages/ib_async/wrapper.py", line 1208, in tickGeneric
assert tickType in GENERIC_TICK_MAP, (
|
this will help on #182, but is not enough. GENERIC_TICK_MAP needs to be updated for delayed data. so |
|
GENERIC_TICK_MAP[90] should be 'halted' there are many "delayed" tick types that are not mapped. so your fix should be an improvement, but not a definitive fix. i think this will help you https://docs.google.com/spreadsheets/d/e/2PACX-1vTJ8av3r1DnW0g9UeOI0ASFr6LDj4ct-Migz3sC4grOnBGuHp_dkq8Djg2h0-uQ_MaBlkgI3a5V_eNY/pubhtml#gid=0 Unfortunately TWS API documentation is not up to date, and official TWS client code is obscure. I have created an class TickType(Enum):
BID_SIZE = 0
BID = 1
ASK = 2
ASK_SIZE = 3
LAST = 4
LAST_SIZE = 5
HIGH = 6
LOW = 7
VOLUME = 8
CLOSE = 9
BID_OPTION_COMPUTATION = 10
ASK_OPTION_COMPUTATION = 11
LAST_OPTION_COMPUTATION = 12
MODEL_OPTION = 13
OPEN = 14
LOW_13_WEEK = 15
HIGH_13_WEEK = 16
LOW_26_WEEK = 17
HIGH_26_WEEK = 18
LOW_52_WEEK = 19
HIGH_52_WEEK = 20
AVG_VOLUME = 21
OPEN_INTEREST = 22
OPTION_HISTORICAL_VOL = 23
OPTION_IMPLIED_VOL = 24
OPTION_BID_EXCH = 25
OPTION_ASK_EXCH = 26
OPTION_CALL_OPEN_INTEREST = 27
OPTION_PUT_OPEN_INTEREST = 28
OPTION_CALL_VOLUME = 29
OPTION_PUT_VOLUME = 30
INDEX_FUTURE_PREMIUM = 31
BID_EXCH = 32
ASK_EXCH = 33
AUCTION_VOLUME = 34
AUCTION_PRICE = 35
AUCTION_IMBALANCE = 36
MARK_PRICE = 37
BID_EFP_COMPUTATION = 38
ASK_EFP_COMPUTATION = 39
LAST_EFP_COMPUTATION = 40
OPEN_EFP_COMPUTATION = 41
HIGH_EFP_COMPUTATION = 42
LOW_EFP_COMPUTATION = 43
CLOSE_EFP_COMPUTATION = 44
LAST_TIMESTAMP = 45
SHORTABLE = 46
FUNDAMENTAL_RATIOS = 47
RT_VOLUME = 48
HALTED = 49
BID_YIELD = 50
ASK_YIELD = 51
LAST_YIELD = 52
CUST_OPTION_COMPUTATION = 53
TRADE_COUNT = 54
TRADE_RATE = 55
VOLUME_RATE = 56
LAST_RTH_TRADE = 57
RT_HISTORICAL_VOL = 58
IB_DIVIDENDS = 59
BOND_FACTOR_MULTIPLIER = 60
REGULATORY_IMBALANCE = 61
NEWS_TICK = 62
SHORT_TERM_VOLUME_3_MIN = 63
SHORT_TERM_VOLUME_5_MIN = 64
SHORT_TERM_VOLUME_10_MIN = 65
DELAYED_BID = 66
DELAYED_ASK = 67
DELAYED_LAST = 68
DELAYED_BID_SIZE = 69
DELAYED_ASK_SIZE = 70
DELAYED_LAST_SIZE = 71
DELAYED_HIGH = 72
DELAYED_LOW = 73
DELAYED_VOLUME = 74
DELAYED_CLOSE = 75
DELAYED_OPEN = 76
RT_TRD_VOLUME = 77
CREDITMAN_MARK_PRICE = 78
CREDITMAN_SLOW_MARK_PRICE = 79
DELAYED_BID_OPTION = 80
DELAYED_ASK_OPTION = 81
DELAYED_LAST_OPTION = 82
DELAYED_MODEL_OPTION = 83
LAST_EXCH = 84
LAST_REG_TIME = 85
FUTURES_OPEN_INTEREST = 86
AVG_OPT_VOLUME = 87
DELAYED_LAST_TIMESTAMP = 88
SHORTABLE_SHARES = 89
DELAYED_HALTED = 90
REUTERS_2_MUTUAL_FUNDS = 91
ETF_NAV_CLOSE = 92
ETF_NAV_PRIOR_CLOSE = 93
ETF_NAV_BID = 94
ETF_NAV_ASK = 95
ETF_NAV_LAST = 96
ETF_FROZEN_NAV_LAST = 97
ETF_NAV_HIGH = 98
ETF_NAV_LOW = 99
SOCIAL_MARKET_ANALYTICS = 100
ESTIMATED_IPO_MIDPOINT = 101
FINAL_IPO_LAST = 102
DELAYED_YIELD_BID = 103
DELAYED_YIELD_ASK = 104
NOT_SET = 105 |
|
We can revisit these missing parts after #189 goes live because it does add some of these to the tick discovery and ticker population system. |
During the execution found numerous errors:
ib_async.wrapper ERROR: tickString with tickType 88: unhandled value: '1763653969'
Due to unhandled tickType 88
as well tickType 90 was unhandled :
AssertionError: Received tick tickType=90 value=0 but we don't have an attribute mapping for it? Triggered from ticker.contract=Stock(conId=4817283, symbol='RCMT', exchange='NASDAQ', currency='USD', localSymbol='RCMT', tradingClass='NMS')
2025-11-20 17:00:16,731 ib_async.Decoder ERROR: Error for tickGeneric([796, 90, 0.0]):
Traceback (most recent call last):
File "/home/opc/.local/lib/python3.11/site-packages/ib_async/decoder.py", line 170, in handler
method(*args)
File "/home/opc/.local/lib/python3.11/site-packages/ib_async/wrapper.py", line 1208, in tickGeneric
assert tickType in GENERIC_TICK_MAP, (