太原制作微信网站阜宁县住房和城乡建设局网站
内置python使用方法
qmt更加详细的教程方法,会持续慢慢梳理。
也可找寻博主的历史文章,搜索关键词查看解决方案 !
感谢关注,需免费开通量化回测与咨询实盘权限,可以和博主联系!
获取历史行情与实时行情
提示
-  
在gmd系列函数中,历史行情需要从本地读取,所以若想取历史行情,需要先将历史行情下载到本地,而实时行情是从服务器返回的
 -  
所以,若需要历史行情,请先使用
界面端或者download_history函数进行下载;若需要最新行情,请向服务器进行订阅 -  
特别的,对于xtdata.get_market_data_ex来说,由于没有subscribe参数,需要在参数外先进行订阅(
subscribe_quote)才能获取最新行情 -  
对于同时获取历史和实时行情的情况,gmd系列函数会自动进行拼接
 
#内置Python
调用方法
内置python
ContextInfo.get_market_data_ex(fields=[], stock_code=[], period='follow', start_time='', end_time='', count=-1, dividend_type='follow', fill_data=True, subscribe=True)
 
释义
获取实时行情与历史行情数据
参数
| 名称 | 类型 | 描述 | 
|---|---|---|
field | list | 数据字段,详情见下方field字段表 | 
stock_list | list | 合约代码列表 | 
period | str | 数据周期,可选字段为:"tick""1m"的整数倍周期"5m"的整数倍周期"1d"的整数倍周期 | 
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 | 除权方式,可选值为'none':不复权'front':前复权'back':后复权'front_ratio': 等比前复权'back_ratio': 等比后复权 | 
fill_data | bool | 是否填充数据 | 
subscribe | bool | 订阅数据开关,默认为True,设置为False时不做数据订阅,只读取本地已有数据。 | 
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] | 多档委买量 | 
返回值
- 返回dict { stock_code1 : value1, stock_code2 : value2, ... }
 - value1, value2, ... :pd.DataFrame 数据集,index为time_list,columns为fields,可参考Bar字段
 - 各标的对应的DataFrame维度相同、索引相同
 
示例
获取行情示例
# coding:gbkdef init(C):start_date = '20231001'# 格式"YYYYMMDD",开始下载的日期,date = ""时全量下载end_date = "" period = "1d" need_download = 1  # 取数据是空值时,将need_download赋值为1,确保正确下载了历史数据code_list = ["000001.SZ", "600519.SH"] # 股票列表if need_download: # 判断要不要下载数据, gmd系列函数都是从本地读取历史数据,从服务器订阅获取最新数据my_download(code_list, period, start_date, end_date)############ 仅获取历史行情 #####################subscribe = False # 设置订阅参数,使gmd_ex仅返回本地数据count = -1 # 设置count参数,使gmd_ex返回全部数据data1 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe)############ 仅获取最新行情 #####################subscribe = True # 设置订阅参数,使gmd_ex仅返回最新行情count = 1 # 设置count参数,使gmd_ex仅返回最新行情数据data2 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe, count = 1) # count 设置为1,使返回值只包含最新行情############ 获取历史行情+最新行情 #####################subscribe = True # 设置订阅参数,使gmd_ex仅返回最新行情count = -1 # 设置count参数,使gmd_ex返回全部数据data3 = C.get_market_data_ex([],code_list,period = period, start_time = start_date, end_time = end_date,subscribe = subscribe, count = -1) # count 设置为1,使返回值只包含最新行情print(data1[code_list[0]].tail())# 行情数据查看print(data2[code_list[0]].tail())print(data3[code_list[0]].tail())def handlebar(C):returndef my_download(stock_list,period,start_date = '', end_date = ''):'''用于显示下载进度'''if "d" in period:period = "1d"elif "m" in period:if int(period[0]) < 5:period = "1m"else:period = "5m"elif "tick" == period:passelse:raise KeyboardInterrupt("周期传入错误")n = 1num = len(stock_list)for i in stock_list:print(f"当前正在下载{n}/{num}")download_history_data(i,period,start_date, end_date)n += 1print("下载任务结束")
 
仅获取历史行情
当前正在下载1/2
当前正在下载2/2
下载任务结束
start simulation modeamount  close   high    low   open  openInterest  preClose  \
stime                                                                        
20231124  6.914234e+08  10.10  10.13  10.08  10.11            15     10.15   
20231127  8.362684e+08  10.01  10.09   9.97  10.09            15     10.10   
20231128  7.844058e+08   9.95  10.02   9.95   9.99            15     10.01   
20231129  1.438320e+09   9.72   9.97   9.70   9.95            15      9.95   
20231130  8.714817e+08   9.68   9.73   9.62   9.69            15      9.72   settelementPrice     stime  suspendFlag           time   volume  
stime                                                                      
20231124               0.0  20231124            0  1700755200000   684695  
20231127               0.0  20231127            0  1701014400000   836188  
20231128               0.0  20231128            0  1701100800000   786175  
20231129               0.0  20231129            0  1701187200000  1467597  
20231130               0.0  20231130            0  1701273600000   901765   
仅获取最新行情
start simulation modeamount  close  high   low  open  openInterest  preClose  \
stime                                                                     
20231130  8.714817e+08   9.68  9.73  9.62  9.69            15      9.72   settelementPrice     stime  suspendFlag           time  volume  
stime                                                                     
20231130               0.0  20231130            0  1701273600000  901765  
 
获取历史行情+最新行情
start simulation modeamount  close   high    low   open  openInterest  preClose  \
stime                                                                        
20231124  6.914234e+08  10.10  10.13  10.08  10.11            15     10.15   
20231127  8.362684e+08  10.01  10.09   9.97  10.09            15     10.10   
20231128  7.844058e+08   9.95  10.02   9.95   9.99            15     10.01   
20231129  1.438320e+09   9.72   9.97   9.70   9.95            15      9.95   
20231130  8.714817e+08   9.68   9.73   9.62   9.69            15      9.72   settelementPrice     stime  suspendFlag           time   volume  
stime                                                                      
20231124               0.0  20231124            0  1700755200000   684695  
20231127               0.0  20231127            0  1701014400000   836188  
20231128               0.0  20231128            0  1701100800000   786175  
20231129               0.0  20231129            0  1701187200000  1467597  
20231130               0.0  20231130            0  1701273600000   901765  
 
