qmt编程之获取期货行情数据
qmt更加详细的教程方法,会持续慢慢梳理。
也可找寻博主的历史文章,搜索关键词查看解决方案 !
获取行情数据
提示
使用该接口时,需要先订阅实时行情(subscribe_quote
)或下载过历史行情(download_history_data
)
python
from xtquant import xtdata
xtdata.get_market_data_ex(field_list=[], stock_list=[], period='1d', start_time='', end_time='', count=-1, dividend_type='none', fill_data=True)
参数
名称 | 类型 | 描述 |
---|---|---|
field | list | 数据字段,详情见下方field字段表 |
stock_list | list | 合约代码列表 |
period | str | 数据周期——1m、5m、1d、tick |
start_time | str | 数据起始时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S,填""为获取历史最早一天 |
end_time | str | 数据结束时间,格式为 %Y%m%d 或 %Y%m%d%H%M%S ,填""为截止到最新一天 |
count | int | 数据个数 |
dividend_type | str | 除权方式 |
fill_data | bool | 是否填充数据 |
-
field
字段可选:
field | 数据类型 | 含义 |
---|---|---|
time | int | 时间 |
open | float | 开盘价 |
high | float | 最高价 |
low | float | 最低价 |
close | float | 收盘价 |
volume | float | 成交量 |
amount | float | 成交额 |
settle | float | 今结算 |
openInterest | float | 持仓量 |
preClose | float | 前收盘价 |
suspendFlag | int | 停牌 1停牌,0 不停牌 |
-
period
周期为tick时,field
字段可选:
字段名 | 数据类型 | 含义 |
---|---|---|
time | int | 时间戳 |
stime | string | 时间戳字符串形式 |
lastPrice | float | 最新价 |
open | float | 开盘价 |
high | float | 最高价 |
low | float | 最低价 |
lastClose | float | 前收盘价 |
amount | float | 成交总额 |
volume | int | 成交总量(手) |
pvolume | int | 原始成交总量(未经过股手转换的成交总量)【不推荐使用】 |
stockStatus | int | 证券状态 |
openInterest | int | 若是股票,则openInt含义为股票状态,非股票则是持仓量openlnt字段说明 |
transactionNum | float | 成交笔数(期货没有,单独计算) |
lastSettlementPrice | float | 前结算(股票为0) |
settlementPrice | float | 今结算(股票为0) |
askPrice | list[float] | 多档委卖价 |
askVol | list[int] | 多档委卖量 |
bidPrice | list[float] | 多档委买价 |
bidVol | list[int] | 多档委买量 |
返回值
-
period为
1m
5m
1d
K线周期时- 返回dict { field1 : value1, field2 : value2, ... }
- 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
增序排列