--- title: "IBKR in Excel: market data vs account, positions & orders — StreamXLS" description: "Interactive Brokers' free Excel RTD sample streams market data only — its account, positions, and order callbacks are empty. What the free IBKR Excel tools cover, what they don't, and how trading desks fill the gap." canonical: https://streamxls.com/ibkr-excel-account-positions-orders updated: 2026-08-15 source: markdown mirror of the HTML page at the canonical URL, generated at build time by gen-md.py — do not edit order_staging: "StreamXLS cannot send or trigger live orders. Staged orders do not transmit to the market unless a user clicks in TWS to submit." --- # Guide — IBKR in Excel: market data is easy, account state is the cliff Interactive Brokers gives you a free way to stream quotes into Excel. It does not give you a free way to stream your account values, positions, or live orders — and that gap is the whole problem. If you run Interactive Brokers and keep a spreadsheet open next to Trader Workstation, you have almost certainly hit this wall. Getting a live quote into a cell is a five-minute job. Getting your *net liquidation value*, your *positions with running P&L*, or the *state of your open orders* into the same sheet — live, without freezing Excel — is a different piece of engineering entirely. This page explains exactly where the free tools stop, why, and what desks do about it. ## What IBKR’s free Excel tools actually give you IBKR ships three ways to talk to Excel with the TWS API download — an RTD server, a DDE bridge, and an ActiveX control — each with a sample spreadsheet. The one most people reach for first is RTD, because it is the modern, non-blocking option. And RTD, in IBKR’s own sample, is scoped to one thing: market data. IBKR’s TWS API documentation states it plainly: *“only top-level market data is supported via TWS RTD Server API. No trading capability or other data types are supported.”* The sample registers under ProgID `Tws.TwsRtdServerCtrl` and streams live or delayed quotes — nothing about your account. That scoping is deliberate, and IBKR is candid about it. The samples, [IBKR writes](https://www.interactivebrokers.com/campus/ibkr-api-page/excel-rtd/), *“are intended as simple demonstrations of API functionality for third party programmers. They do not have robust error handling functionality and are not intended to be used as production level trading tools.”* They are a starting point, not a finished product. ## Three technologies, three levels of coverage The account/positions/orders gap is specific to RTD. IBKR’s own comparison of the three Excel technologies shows where each one lands on full API coverage: | Excel technology | Full API functionality (account, positions, orders) | Notes | |---|---|---| | **RTD server** | No | Top-level market data only, per IBKR’s docs. | | **DDE** | Yes (as of API v975) | The old bridge — full breadth, but the setup and behavior are heavier. [Compared here](https://streamxls.com/ibkr-excel-rtd-vs-dde-vs-activex). | | **ActiveX** | Yes | Full breadth, but *“more difficult to program… and not as robust,”* in IBKR’s words. | So the free tool that behaves best inside modern Excel — RTD — is also the one that stops at market data. The two that carry account and order data — DDE and ActiveX — are the two IBKR flags as harder or older. That trade-off is the gap. ## Why the gap bites A working trading dashboard is not a quote board. It shows quotes *and* current positions, target positions, account values, and open orders — all at once, all current to the second, with the order ticket a click away from the data that drives it. Take away the account and order half and you have a watchlist, not a dashboard. The reason the free RTD sample stops where it does is visible in its source: the callbacks for everything past market data are present but empty. The `EWrapper` methods for account values, portfolio positions, and P&L are there as stubs that do nothing. (Our engineering notes walk through this in [*Beyond Market Data*](https://streamxls.com/beyond-market-data).) Filling those stubs in — correctly, under load, without freezing Excel — is the cliff the sample leaves you standing at the top of. ## How desks fill it There is no free push-button answer, so people reach for one of four things: - **IBKR’s DDE bridge.** It carries the full breadth — market data, accounts, positions, orders. But DDE is a decades-old Windows protocol: it blocks Excel’s interface, other DDE-enabled software on the same machine can interfere with it, and it struggles to keep up with modern data rates. It can work up to a point with sufficient isolation. - **IBKR’s ActiveX control.** Also full-breadth, but IBKR itself calls it harder to program and less robust than the socket-based APIs. You are writing and maintaining COM-bound VBA. - **Roll-your-own over the socket API.** Drop Excel’s built-in bridges and interface with the TWS API directly from Python (`ib_async` and friends) or C#, then push values into the sheet. Full control, but also the full development and maintenance burden of a middleware layer. - **Manual export.** IBKR’s Activity Statements and Flex Queries download your positions and activity as files on a schedule. Fine for reconciliation; it is a periodic snapshot, not a live feed. Every one of these is a real answer. They differ in how much you build and maintain, and in whether the result stays correct when the feed speeds up and Excel gets busy — which is exactly when a trading screen has to be trusted. > **One commercial answer** > > **StreamXLS** is an RTD server that fills the gap the free sample leaves: account values, positions, and live order state all stream through the same native `=RTD("Tws.Rtd", …)` grammar as quotes. > > See [how it works](https://streamxls.com/how-it-works) or read the [docs](https://streamxls.com/docs). [IBKR RTD not working / #N/A →](https://streamxls.com/ibkr-rtd-troubleshooting) · [RTD vs DDE vs ActiveX →](https://streamxls.com/ibkr-excel-rtd-vs-dde-vs-activex) · [Python in Excel vs RTD →](https://streamxls.com/python-in-excel-vs-rtd) · [All writing](https://streamxls.com/writing) --- *StreamXLS is not affiliated with, endorsed by, or sponsored by Interactive Brokers. Trader Workstation, the TWS API, and Excel are products of their respective owners; their use is governed by their respective licenses. StreamXLS does not provide investment advice or recommendations.* *Markdown mirror of , generated at build time. Every public page on this site is also served as markdown at the same path plus `.md`. Index: .*