开云体育

ctrl + shift + ? for shortcuts
© 2025 开云体育
Date

reqMarketData live data lagging

 

Hi there, relatively new to tws api.
I am retrieving live ticks using IBAPI's reqMktData function and saving it in a csv. In the beginning, the data is retrieved as expected but gradually there starts to appear a gap between the price received and the price shown on tws and IQFeed terminals. After a certain period, this gap grows to even a 10 or more minutes lag between the price received by API and the price shown on terminal! Has anyone experienced it?? ?


Re: bunch of reqMktData requests for options

 

开云体育

Just an update on this.

?

I still have a 973 Windows installer (now more than three years old), and I ran that earlier today and was surprised to find that it still works. It now gives a message after login that it will be disabled on 31 March 2022. So presumably IBKR were pressured into easing the timescale for mothballing these dodgy versions.

?

I absolutely agree with 闯ü谤驳别苍 that running old versions like this, even if they appear to work, is not a good idea. If by running it you convince yourself that something that worked with 973 no longer works with 981+, I'm not sure that really helps: especially if there is only a couple of weeks that you can use 973.

?

If this problem with delayed options data is really causing a problem, then gather evidence and submit it to IBKR: there's nothing anyone on this group can do about it.

?

Or put your hand in your pocket and subscribe to the options market data…

?

?

From: [email protected] <[email protected]> On Behalf Of 闯ü谤驳别苍 Reinold via groups.io
Sent: 08 March 2022 19:01
To: [email protected]
Subject: Re: [TWS API] bunch of reqMktData requests for options

?

You should try and get your client working on a "stable" 981.3 or a "latest" TWS version of at least 10.12.2, Andreas. The same applies to IBGW.

I am not aware of any links where you can download older versions. And even if you'd get you hands on a 973, IBKR will refuse login attempts. The security issue that was found in December 2021 in the log4j library utilized by TWS was fixed in 981.3 and 10.12.2. Vulnerable TWS versions (such as 973) will be refused.

闯ü谤驳别苍

On Tue, Mar 8, 2022 at 11:46 AM, <hansblafoo@...> wrote:

Did a downgrade to 9.73 (where did you get it from?) solved the issue?


Re: bunch of reqMktData requests for options

 

You should try and get your client working on a "stable" 981.3 or a "latest" TWS version of at least 10.12.2, Andreas. The same applies to IBGW.

I am not aware of any links where you can download older versions. And even if you'd get you hands on a 973, IBKR will refuse login attempts. The security issue that was found in December 2021 in the log4j library utilized by TWS was fixed in 981.3 and 10.12.2. Vulnerable TWS versions (such as 973) will be refused.

闯ü谤驳别苍

On Tue, Mar 8, 2022 at 11:46 AM, <hansblafoo@...> wrote:

Did a downgrade to 9.73 (where did you get it from?) solved the issue?



Re: TWS API returns "Error: 0 200 No security definition has been found for the request" in reqMktData() for INDEX

 

You might try searching by region and exchange:


Re: bunch of reqMktData requests for options

 

Hi there,

I also have the exact same problem. Interestingly, after I tried to fetch the data via API from TWS and didn't get the prices though (I always got the message that the "requested market data is not subscribed"), the TWS seems to "lock" this strike/expiry date combination of this symbol. If I load the option chain in TWS, the combinations for which I didn't receive the data have blank lines and a link to the market data manager. This can only be fixed with a restart of the TWS.

Did someone found a solution for solving this problem? Did a downgrade to 9.73 (where did you get it from?) solved the issue?

Thanks a lot!
Andreas


Re: Software version upgrade, recommendations?

 

Hi,

I'm currently facing the exact same issue with the latest TWS release. Do you have a download link for the IB website for getting the 9.73 release? When I want to use TWS 9.73, do I also have to step back to an older TWS API release or does it work with the latest or stable API release?

?

Thanks and regards


Re: TWS API returns "Error: 0 200 No security definition has been found for the request" in reqMktData() for INDEX

 

Is there a way via the API (or even elsewhere) to get a list of all indices available on IB? I was looking for the ICESEMI index but was unable to find it.


Re: TWS API returns "Error: 0 200 No security definition has been found for the request" in reqMktData() for INDEX

 

开云体育

You can't use SMART for indexes. The exchange for the ES index is GLOBEX.

?

From: [email protected] <[email protected]> On Behalf Of Tareq Naushad
Sent: 08 March 2022 10:57
To: [email protected]
Subject: [TWS API] TWS API returns "Error: 0 200 No security definition has been found for the request" in reqMktData() for INDEX

?

Hi,
I am trying to pull real-time data for some INDEX in a Python based project, I write the following code to pull the data:??
```
contract = Contract()
contract.symbol = "ES"
contract.secType = "IND"
contract.exchange = "SMART"
contract.currency = "USD"
reqMarketDataType(1)
reqMktData(2, contract, "", False, False, [])
```

But it always returns?"Error:? 0? ?200? ?No security definition has been found for the request".

Does anyone know what's wrong with my code?

- Thanks
Tareq


TWS API returns "Error: 0 200 No security definition has been found for the request" in reqMktData() for INDEX

 

Hi,
I am trying to pull real-time data for some INDEX in a Python based project, I write the following code to pull the data:??
```
contract = Contract()
contract.symbol = "ES"
contract.secType = "IND"
contract.exchange = "SMART"
contract.currency = "USD"
reqMarketDataType(1)
reqMktData(2, contract, "", False, False, [])
```

But it always returns?"Error:? 0? ?200? ?No security definition has been found for the request".

Does anyone know what's wrong with my code?

- Thanks
Tareq


Futures Ratio Bag

 

When amending my code to a non-standard combo (such as simultaneously Buying 2 futures contracts).....I receive an error message not authorized to trade?
Code that works:

vix1_contract = Contract()
vix1_contract.symbol = "VIX"
vix1_contract.secType = "FUT"
vix1_contract.exchange = "CFE"
vix1_contract.currency = "USD"
vix1_contract.lastTradeDateOrContractMonth = "20220315"
vix1_contract.primaryExchange = "CFE"
?
ib.qualifyContracts(vix1_contract)
?
vix2_contract = Contract()
vix2_contract.symbol = "VIX"
vix2_contract.secType = "FUT"
vix2_contract.exchange = "CFE"
vix2_contract.currency = "USD"
vix2_contract.lastTradeDateOrContractMonth = "20220420"
vix2_contract.primaryExchange = "CFE"
?
ib.qualifyContracts(vix2_contract)
?
contract = Contract()
contract.symbol = vix1_contract.symbol
contract.secType = "BAG"
contract.currency = 'USD'
contract.exchange = 'CFE'
?
leg1 = ComboLeg()
leg1.conId = vix1_contract.conId
leg1.ratio = 1
leg1.action = "SELL"
leg1.exchange = 'CFE'
print(vix1_contract)
print(vix2_contract)
leg2 = ComboLeg()
leg2.conId = vix2_contract.conId? ? ? ?#DBK MAR 15 2019 C
leg2.ratio = 1
leg2.action = "BUY"
leg2.exchange = 'CFE'
?
contract.comboLegs = []
contract.comboLegs.append(leg1)
contract.comboLegs.append(leg2)
?
limit_price = -1.7
Code (amended) that doesn't work:
........
leg1 = ComboLeg()
leg1.conId = vix1_contract.conId
leg1.ratio = 1
leg1.action = "BUY"? ? ?#changed from SELL
leg1.exchange = 'CFE'
print(vix1_contract)
print(vix2_contract)
leg2 = ComboLeg()
leg2.conId = vix2_contract.conId? ? ? ?#DBK MAR 15 2019 C
leg2.ratio = 1
leg2.action = "BUY"
leg2.exchange = 'CFE'
?
contract.comboLegs = []
contract.comboLegs.append(leg1)
contract.comboLegs.append(leg2)
?
limit_price = 65.05
------------------------------------------------
Error Message: " Rejected by the system.? No trading permissions for the product."


historical market data pacing violations are back?!

 

So far so good, no hist data pacing violations - 10 am New York Time.

Let's keep our fingers crossed.

@skee__bum - maybe you did shake their tree enough!

Be Well,
Lou Dudka


Undocumented updateAccountValue() keys

 

These keys I seem to be missing from the docs ():

NLVAndMarginInReview
Guarantee
Guarantee-C
Guarantee-S
PhysicalCertificateValue
PhysicalCertificateValue-C
PhysicalCertificateValue-S
TotalDebitCardPendingCharges
TotalDebitCardPendingCharges-C
TotalDebitCardPendingCharges-S

Could they be added?


Cheers,

.mm


Re: Reqpositions for 1 account

 

It worked! Thanks!!!


Re: historical market data pacing violations are back?!

 

I may have reported too soon. Suddenly, on Friday afternoon in the last hour of trading before the futures markets closed, I got multiple pacing violations messages on various futures contracts. Even though I was only requesting historical data sequentially, one contract at a time.


historical market data pacing violations are back?!

 

At about 5 pm New York Time my pacing violations seemed to stop.
Yes, markets are not yet closed, even Friday.


Re: next valid id on initial connection

 

thank you
I'll keep looking for an example?in i


Re: next valid id on initial connection

 

It depends on your definition of good.

The solution uses sleep for synchronization, so I would not call it a good solution. It does not address the mismatch between synchronous and asynchronous processing and only addresses one of the many API callback scenarios.

On the other hand, it will probably work reliably since the loop blocks your client until the nextValidId callback has taken place (as long as the sleep does not interfere with proper API background message processing).

闯ü谤驳别苍


Re: next valid id on initial connection

 

thank you for the fast reply.

honesty I got lost in i
I'm a?junior so my?knowledge is?quite?limited for now, so I'm not sure how to wait for a callback in python.
but i did find an example online?related to this?matter
is that a good solution?

? ? def nextValidId(self, orderId: int):
? ? ? ? super().nextValidId(orderId)
? ? ? ? self._next_order_id = orderId

def main():

? ? testApp = IBApi()
? ? #connect on separet thred
? ? testApp.connect("127.0.0.1", 7496,1)
? ? t = threading.Thread(target=testApp.run, daemon=True)
? ? t.start()
? ? #if connection is done continue
? ? while True:
? ? ? ? if isinstance(testApp._next_order_id, int):
? ? ? ? ? ? print("connected")
? ? ? ? ? ? break
? ? ? ? else:
? ? ? ? ? ? print("waiting for connection")
? ? ? ? ? ? time.sleep(1)

thank you so much,
Cohav


historical market data pacing violations are back?!

 

Yeah, I just checked mine and it's having the same issues.

Lou Dudka


Re: historical market data pacing violations are back?!

 

My software downloads once per day historical data for about 200 stock tickers. It does so sequentially: one at a time. I have not noticed any change in time it takes for all data to get downloaded: it takes about 6 minutes and 30 seconds to complete this task. So, if there is any pacing in place at IB's side, I'm not getting close to that limit.