import pymysql import pandas as pd from ib_insync import * from config import configs # util.startLoop() # uncomment this line when in a notebook ib = IB() ib.connect('127.0.0.1', 7496, clientId=1) code = "PDD" contract = Stock(code, exchange="SMART") bars = ib.reqHistoricalData(contract, endDateTime='20190314 18:30:00', durationStr='1 D', barSizeSetting='30 secs', whatToShow='MIDPOINT', useRTH=True) # convert to pandas dataframe: df = util.df(bars) print(df[['date', 'open', 'high', 'low', 'close']])
https://github.com/erdewit/ib_insync
http://www.waitingfy.com/archives/5334
date open high low close 0 2019-03-13 21:30:00 27.280 27.840 27.185 27.775 1 2019-03-13 21:30:30 27.775 27.830 27.535 27.745 2 2019-03-13 21:31:00 27.745 27.890 27.725 27.880 3 2019-03-13 21:31:30 27.880 27.895 27.755 27.755 4 2019-03-13 21:32:00 27.755 27.845 27.725 27.845 5 2019-03-13 21:32:30 27.845 27.895 27.805 27.850 6 2019-03-13 21:33:00 27.850 27.855 27.725 27.725 7 2019-03-13 21:33:30 27.725 27.725 27.210 27.2255334