This website uses cookies to collect usage information in order to offer a better browsing experience. By browsing this site or by clicking on the "ACCEPT COOKIES" button you accept our Cookie Policy.

Data Science with Python and IBKR API

Our Traders’ Academy Python TWS API course features a chapter on retrieving data, which will be of great interest to data scientists focusing on finance and econometrics. Follow these quick steps to get started.

First, sign up for our free course via this link: www.ibkr.com/academy. This online class in Python programming features IBKR flagship Trader Workstation and demonstrates how to trade via the Application Programming Interface (TWS API).

Be sure to watch the short videos and get up-to-speed with the application and Python code.

Data scientists will find practical information and ready-to-use Python syntax in Lesson #5: Receiving Market Data and Historical Candlesticks.

Next, focus on the Lesson 5 video and read the Study Notes. In this chapter, the instructor demonstrates important functions to retrieve the market data:

reqMktData: retrieves data several times per second.
reqRealTimeBars: retrieves OHLC bars for each 5 second period
reqHistoricalData: helps with retrieving bars
reqTickByTickData: delivers streaming tick-by-tick data for every trade or quote change

Here is an example of requesting streaming market data. For additional functions, see the Study Notes.

def main():
app = TestApp()
app.connect(“127.0.0.1”, 7497, 0)
contract = Contract()
contract.symbol = “AAPL”
contract.secType = “STK”
contract.exchange = “SMART”
contract.currency = “USD”
contract.primaryExchange = “NASDAQ”
app.reqMarketDataType(4) # switch to delayed-frozen data if live is not available
app.reqMktData(1, contract, “”, False, False, [])
app.run()

The instructor wraps up the lesson with a helpful tip on storing the returned data in Pandas dataframes. For ready-to-use Python syntax, see https://pandas.pydata.org/

Finally, for those interested in how to process and analyse the data via Pandas frames, the article Visualizing Time Series Data of Stock Prices with Python will showcase which libraries and functions are practical and easy to use.

Disclosure: Interactive Brokers

The analysis in this material is provided for information only and is not and should not be construed as an offer to sell or the solicitation of an offer to buy any security. To the extent that this material discusses general market activity, industry or sector trends or other broad-based economic or political conditions, it should not be construed as research or investment advice. To the extent that it includes references to specific securities, commodities, currencies, or other instruments, those references do not constitute a recommendation by IBKR to buy, sell or hold such investments. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.

trading top