加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
获取数据.py 2.01 KB
一键复制 编辑 原始数据 按行查看 历史
小果量化 提交于 2024-06-13 11:39 . 运用
from xtquant import xtdata
import pandas as pd
'''
get_market_data(field_list=[], stock_list=[], period='1d', start_time='', end_time='', count=-1, dividend_type='none', fill_data=True)
释义
从缓存获取行情数据,是主动获取行情的主要接口
参数
field_list - list 数据字段列表,传空则为全部字段
stock_list - list 合约代码列表
period - string 周期
start_time - string 起始时间
end_time - string 结束时间
count - int 数据个数
默认参数,大于等于0时,若指定了start_time,end_time,此时以end_time为基准向前取count条;若start_time,end_time缺省,默认取本地数据最新的count条数据;若start_time,end_time,count都缺省时,默认取本地全部数据
dividend_type - string 除权方式
fill_data - bool 是否向后填充空缺数据
返回
period为1m 5m 1d等K线周期时
返回dict { field1 : value1, field2 : value2, ... }
field1, field2, ... :数据字段
value1, value2, ... :pd.DataFrame 数据集,index为stock_list,columns为time_list
各字段对应的DataFrame维度相同、索引相同
period为tick分笔周期时
返回dict { stock1 : value1, stock2 : value2, ... }
stock1, stock2, ... :合约代码
value1, value2, ... :np.ndarray 数据集,按数据时间戳time增序排列
备注
获取lv2数据时需要数据终端有lv2数据权限
时间范围为闭区间
获取本地行情数据
'''
stock_list=['600031.SH','600111.SH']
for stock in stock_list:
xtdata.subscribe_quote(stock_code=stock,period='1d')
df=xtdata.get_market_data(field_list=[], stock_list=['600031.SH','600111.SH'],
period='1d', start_time='20210101', end_time='20240419',
count=-100, dividend_type='none', fill_data=True)
print(df)
data=pd.DataFrame()
keys_list=list(df.keys())
for stock in stock_list:
for keys in keys_list:
df1=pd.DataFrame(df[keys])
df1=df1.T
data['{}_{}'.format(stock,keys)]=df1[stock]
print(data)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化