Retrieve Thinkorswim Quotes with RTD DB

Retrieve Thinkorswim Quotes with RTD DB

Overview

The RTD database includes predefined tables for retrieving real-time data from thinkorswim desktop.

Quote tables are designed to fetch data for stocks, futures, and currency pairs. Use the option tables for options data.

You can utilize either DDE or RTD formulas, with RTD being the preferred method. Note that thinkorswim desktop may crash if more than 200,000 topics are requested.

DDE formulas can be converted to RTD using the patches from the database template folders.

Data is retrieved from the thinkorswim desktop DDE server, which requires administrative privileges to run RTD DB.

To reduce server overhead, disable any unusable columns.

The DDE server does not provide an actual data time field.
The datetime, date, and time fields are updated using local system time adjusted to the table's configured time zone (Eastern Standard Time).

Real-Time Data Tables

Table Configurations

table_schematable_nameload_codeis_history
rtdtos_stock_list
rtdtos_last_stock_quotesSELECT symbol FROM rtd.tos_stock_list
rtdtos_historical_pricesSELECT symbol FROM rtd.tos_stock_list
rtdtos_stock_quotes_ticksSELECT symbol FROM rtd.tos_stock_list1

Task Table Examples

tos_stock_list:

code
AAPL
GOOGL

Primary Key Columns

table_schematable_namecolumn_namertd_formulacomment
rtdtos_last_stock_quotessymbolPK
rtdtos_historical_pricessymbolPK
rtdtos_historical_pricesdate=Date()PK
rtdtos_stock_quotes_ticksidPK, IDENTITY

Real-Time Formulas

tos_last_stock_quotes

This table contains the latest data values for stocks, futures, and currency pairs from thinkorswim desktop.

column_namertd_formulacomment
symbolPK
datetime=DateTime()
date=Date()
time=Time()
description=TOS|DESCRIPTION![symbol]
last=TOS|LAST![symbol]
change=TOS|NET_CHANGE![symbol]
percent_change=TOS|PERCENT_CHANGE![symbol]
last_size=TOS|LAST_SIZE![symbol]
last_x=TOS|LX![symbol]
mark=TOS|MARK![symbol]
mark_change=TOS|MARK_CHANGE![symbol]
mark_percent_change=TOS|MARK_PERCENT_CHANGE![symbol]
bid=TOS|BID![symbol]
ask=TOS|ASK![symbol]
bid_size=TOS|BID_SIZE![symbol]
ask_size=TOS|ASK_SIZE![symbol]
bid_ask_size=TOS|BA_SIZE![symbol]
bid_x=TOS|BX![symbol]
ask_x=TOS|AX![symbol]
strength_meter=TOS|STRENGTH_METER![symbol]
open=TOS|OPEN![symbol]
high=TOS|HIGH![symbol]
low=TOS|LOW![symbol]
close=TOS|CLOSE![symbol]
volume=TOS|VOLUME![symbol]
open_int=TOS|OPEN_INT![symbol]
implied_vol=TOS|IMPL_VOL![symbol]
vol_index=TOS|VOL_INDEX![symbol]
front_vol=TOS|FRONT_VOL![symbol]
back_vol=TOS|BACK_VOL![symbol]
weighted_back_vol=TOS|WEIGHTED_BACK_VOL![symbol]
vol_diff=TOS|VOL_DIFF![symbol]
put_call_ratio=TOS|PUT_CALL_RATIO![symbol]
call_volume_index=TOS|CALL_VOLUME_INDEX![symbol]
put_volume_index=TOS|PUT_VOLUME_INDEX![symbol]
option_volume_index=TOS|OPTION_VOLUME_INDEX![symbol]
front_expected_move=TOS|FRONT_EX_MOVE![symbol]
back_expected_move=TOS|BACK_EX_MOVE![symbol]
expected_move_diff=TOS|EX_MOVE_DIFF![symbol]
beta=TOS|BETA![symbol]
high52=TOS|'52HIGH'![symbol]
low52=TOS|'52LOW'![symbol]
pe=TOS|PE![symbol]
eps=TOS|EPS![symbol]
market_cap=TOS|MARKET_CAP![symbol]
shares=TOS|SHARES![symbol]
dividend_yield=TOS|YIELD![symbol]
dividend_share=TOS|DIV![symbol]
last_update_timestamp

tos_historical_prices

This table stores daily historical records for stocks, futures, and currency pairs from thinkorswim desktop.

column_namertd_formulacomment
symbolPK
date=Date()PK
time=Time()
description=TOS|DESCRIPTION![symbol]
last=TOS|LAST![symbol]
change=TOS|NET_CHANGE![symbol]
percent_change=TOS|PERCENT_CHANGE![symbol]
last_size=TOS|LAST_SIZE![symbol]
last_x=TOS|LX![symbol]
mark=TOS|MARK![symbol]
mark_change=TOS|MARK_CHANGE![symbol]
mark_percent_change=TOS|MARK_PERCENT_CHANGE![symbol]
bid=TOS|BID![symbol]
ask=TOS|ASK![symbol]
bid_size=TOS|BID_SIZE![symbol]
ask_size=TOS|ASK_SIZE![symbol]
bid_ask_size=TOS|BA_SIZE![symbol]
bid_x=TOS|BX![symbol]
ask_x=TOS|AX![symbol]
strength_meter=TOS|STRENGTH_METER![symbol]
open=TOS|OPEN![symbol]
high=TOS|HIGH![symbol]
low=TOS|LOW![symbol]
close=TOS|CLOSE![symbol]
volume=TOS|VOLUME![symbol]
open_int=TOS|OPEN_INT![symbol]
implied_vol=TOS|IMPL_VOL![symbol]
vol_index=TOS|VOL_INDEX![symbol]
front_vol=TOS|FRONT_VOL![symbol]
back_vol=TOS|BACK_VOL![symbol]
weighted_back_vol=TOS|WEIGHTED_BACK_VOL![symbol]
vol_diff=TOS|VOL_DIFF![symbol]
put_call_ratio=TOS|PUT_CALL_RATIO![symbol]
call_volume_index=TOS|CALL_VOLUME_INDEX![symbol]
put_volume_index=TOS|PUT_VOLUME_INDEX![symbol]
option_volume_index=TOS|OPTION_VOLUME_INDEX![symbol]
front_expected_move=TOS|FRONT_EX_MOVE![symbol]
back_expected_move=TOS|BACK_EX_MOVE![symbol]
expected_move_diff=TOS|EX_MOVE_DIFF![symbol]
beta=TOS|BETA![symbol]
high52=TOS|'52HIGH'![symbol]
low52=TOS|'52LOW'![symbol]
pe=TOS|PE![symbol]
eps=TOS|EPS![symbol]
market_cap=TOS|MARKET_CAP![symbol]
shares=TOS|SHARES![symbol]
dividend_yield=TOS|YIELD![symbol]
dividend_share=TOS|DIV![symbol]
last_update_timestamp

tos_stock_quotes_ticks

This table stores tick-level historical data for stocks, futures, and currency pairs from thinkorswim desktop.

column_namertd_formulacomment
idPK, IDENTITY
symbol
datetime=DateTime()
date=Date()
time=Time()
description=TOS|DESCRIPTION![symbol]
last=TOS|LAST![symbol]
change=TOS|NET_CHANGE![symbol]
percent_change=TOS|PERCENT_CHANGE![symbol]
last_size=TOS|LAST_SIZE![symbol]
last_x=TOS|LX![symbol]
mark=TOS|MARK![symbol]
mark_change=TOS|MARK_CHANGE![symbol]
mark_percent_change=TOS|MARK_PERCENT_CHANGE![symbol]
bid=TOS|BID![symbol]
ask=TOS|ASK![symbol]
bid_size=TOS|BID_SIZE![symbol]
ask_size=TOS|ASK_SIZE![symbol]
bid_ask_size=TOS|BA_SIZE![symbol]
bid_x=TOS|BX![symbol]
ask_x=TOS|AX![symbol]
strength_meter=TOS|STRENGTH_METER![symbol]
open=TOS|OPEN![symbol]
high=TOS|HIGH![symbol]
low=TOS|LOW![symbol]
close=TOS|CLOSE![symbol]
volume=TOS|VOLUME![symbol]
open_int=TOS|OPEN_INT![symbol]
implied_vol=TOS|IMPL_VOL![symbol]
vol_index=TOS|VOL_INDEX![symbol]
front_vol=TOS|FRONT_VOL![symbol]
back_vol=TOS|BACK_VOL![symbol]
weighted_back_vol=TOS|WEIGHTED_BACK_VOL![symbol]
vol_diff=TOS|VOL_DIFF![symbol]
put_call_ratio=TOS|PUT_CALL_RATIO![symbol]
call_volume_index=TOS|CALL_VOLUME_INDEX![symbol]
put_volume_index=TOS|PUT_VOLUME_INDEX![symbol]
option_volume_index=TOS|OPTION_VOLUME_INDEX![symbol]
front_expected_move=TOS|FRONT_EX_MOVE![symbol]
back_expected_move=TOS|BACK_EX_MOVE![symbol]
expected_move_diff=TOS|EX_MOVE_DIFF![symbol]
beta=TOS|BETA![symbol]
high52=TOS|'52HIGH'![symbol]
low52=TOS|'52LOW'![symbol]
pe=TOS|PE![symbol]
eps=TOS|EPS![symbol]
market_cap=TOS|MARKET_CAP![symbol]
shares=TOS|SHARES![symbol]
dividend_yield=TOS|YIELD![symbol]
dividend_share=TOS|DIV![symbol]

This website is using cookies. By continuing to browse, you give us your consent to our use of cookies as explained in our Cookie Policy.