Excel RTD for Faster Real-Time Market Data Refresh
Summary
The document compares Excel DDE and ActiveX connections for streaming market quotes and explains why an RTD server may be a better option when faster spreadsheet updates are needed. RTD supports a configurable refresh interval, including millisecond intervals or immediate updates, and is described as the mechanism behind a commercial market-data spreadsheet plugin. Building a custom RTD server requires a data source, such as a broker API, to supply the quotes.
A second response identifies Excel’s RTD throttle setting as a way to control refresh timing for RTD functions. It cautions that setting the interval too low can consume substantial CPU resources and make Excel unresponsive. An in-memory process that collects updates and writes them to the spreadsheet is offered as another architecture. The discussion is practical rather than a measured performance comparison, and the achievable refresh rate will depend on the data feed, server, spreadsheet workload, and application environment.
Key ideas
- Excel RTD can support configurable refresh intervals for live quote updates.
- A custom RTD server needs a market-data source, such as a broker API.
- The RTD throttle setting controls how frequently Excel refreshes RTD functions.
- Very frequent updates can strain CPU resources and reduce spreadsheet responsiveness.
- An intermediate in-memory process can manage incoming updates before sending them to Excel.
Tags
Full text
# IP API Active X for Excel refresh rate # IP API Active X for Excel refresh rate I have been working on the EXCEL DDE sample worksheet and works fine and now I would to upgrade to ActiveX instead of DDE as I heard it is more robust but I found the refresh rate of ActiveX is even slower than the one in the DDE connection. Is there a way to change the smallest default value from "1 second to smaller value in order to speed up the refresh rate? the refresh rate of DDE can down to several milliseconds. Much appreciate if anyone could help me. Thanks ## Answer by chollida (score 2) https://quant.stackexchange.com/a/12898 Don't use either `DDE` or `ActiveX`, go with the excel RTD server api. It's the basis behind the `Bloomberg BDP` plugin and we use it at work to push real time data to many spreadsheets.. It's now the recommended way to push data into a spreadsheet and it has a built in refresh rate parameter which can be any millisecond interval, or immediate if you want data pushed as fast as possible. To answer the question about building an RTD server, follow this tutorial, its pretty trivial to do if you can write C#. However you'll need IB to give you an api to programatically get the quotes you want to populate the RTD server. Long story short you shouldn't be using either ActiveX or DDE to push quotes to excel as this is antiquated technology. ## Answer by hotsource (score 1) https://quant.stackexchange.com/a/12900 In VBA Application.RTD.ThrottleInterval controls the refresh rate of RTD functions in Excel. Note that a value that is too small may take away too much CPU resource and makes Excel slow to respond. A nicer solution is have some in memory object/process to handle data update and print it out to Excel.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.