#coding:utf-8 from datetime import datetime as dt # 用get_market_data订阅历史和实时行情 import time import pandas as pd from xtquant import xtdata def real_price(data): for i in data: list.append(i) xtdata.unsubscribe_quote(id) print(i) print(list) if __name__=='__main__': ''' from xtquant import xtdata s = '000001.SZ' # 实际使用时,该接口每天盘后执行一次即可 # 该接口会下载历史行情并落地到本地,随后即可通过xtdata.get_local_data接口调用本地行情 # 同时间、同股票、同周期的行情下载一次即可, xtdata.download_history_data(s, '1d','','') xtdata.download_history_data('000001.SH', '1d','','') data = xtdata.get_market_data([], [s], '1d', end_time='', count=-1, dividend_type='back') # data2 = xtdata.get_local_data([], [s], '1d', end_time='', count=2,dividend_type='back') print('data from get_local_data:\n') df = pd.DataFrame() for column in data: if column in ['time', 'open', 'high', 'low', 'close', 'volume', 'amount']: # print(f" {column}\n {data[column].head()}\n") print(column, data[column].T) df=pd.concat([df, data[column].T],axis=1) df.columns = ['time', 'open', 'high', 'low', 'close', 'volume', 'amount'] df['time']=df['time'].apply(lambda x: dt.fromtimestamp(x / 1000.0)) print('!!!!!!!', df) # print(df['time'].apply(lambda x: dt.fromtimestamp(x / 1000.0))) df2 = pd.concat([data[i].T for i in ['time', 'open', 'high', 'low', 'close', 'volume', 'amount']], axis=1) df2.columns = ['time', 'open', 'high', 'low', 'close', 'volume', 'amount'] df2['time']=df2['time'].apply(lambda x: dt.fromtimestamp(x / 1000.0)) print('>>>>>>>>>>>', df2) print(df.index) exit() # # for column in data2: # print(f" {column}\n {data2[column].head()}\n") ''' list=[] stocks = xtdata.get_stock_list_in_sector('沪深A股') id = xtdata.subscribe_whole_quote(stocks, callback=real_price) print(list) xtdata.run() print(list)