场内基金
# 获取基金数据
我们目前包含 100 多种ETF、20 多种LOF、200 多种分级A/B基金完整的行情、净值数据. 详情见基金列表
更多API的可参考官方API文档 (opens new window)
# 基金概况:上市时间、代码、名称、涨跌停价等
# 获取单支基金数据
获取单支基金的信息. 调用方法
xtdata.get_instrument_detail(stock_code)
参数
- stock_code - string 合约代码
返回值
- 字典,{ field1 : value1, field2 : value2, ... },找不到指定合约时返回
None
ExchangeID - string 合约市场代码
InstrumentID - string 合约代码
InstrumentName - string 合约名称
ProductID - string 合约的品种ID(期货)
ProductName - string 合约的品种名称(期货)
CreateDate - str 上市日期(期货)
OpenDate - str IPO日期(股票)
ExpireDate - int 退市日或者到期日
PreClose - float 前收盘价格
SettlementPrice - float 前结算价格
UpStopPrice - float 当日涨停价
DownStopPrice - float 当日跌停价
FloatVolume - float 流通股本
TotalVolume - float 总股本
LongMarginRatio - float 多头保证金率
ShortMarginRatio - float 空头保证金率
PriceTick - float 最小价格变动单位
VolumeMultiple - int 合约乘数(对期货以外的品种,默认是1)
MainContract - int 主力合约标记,1、2、3分别表示第一主力合约,第二主力合约,第三主力合约
LastVolume - int 昨日持仓量
InstrumentStatus - int 合约已停牌日期(停牌第一天值为0,第二天为1,以此类推。注意,正常交易的股票该值也是0) 获取股票停牌状态参考get_full_tick openInt字段
IsTrading - bool 合约是否可交易
IsRecent - bool 是否是近月合约
示例
xtdata.get_instrument_detail('159733.SZ')
{'ExchangeID': 'SZ',
'InstrumentID': '159733',
'InstrumentName': '消费电子50ETF',
'ProductID': '',
'ProductName': '',
'CreateDate': '0',
'OpenDate': '20210929',
'ExpireDate': 99999999,
'PreClose': 0.6950000000000001,
'SettlementPrice': 0.6941,
'UpStopPrice': 0.765,
'DownStopPrice': 0.626,
'FloatVolume': 41156925.0,
'TotalVolume': 41156925.0,
'LongMarginRatio': 1.7976931348623157e+308,
'ShortMarginRatio': 1.7976931348623157e+308,
'PriceTick': 0.001,
'VolumeMultiple': 1,
'MainContract': 2147483647,
'LastVolume': 2147483647,
'InstrumentStatus': 0,
'IsTrading': False,
'IsRecent': False,
'ProductTradeQuota': 0,
'ContractTradeQuota': 0,
'ProductOpenInterestQuota': 0,
'ContractOpenInterestQuota': 0}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 基金份额参考净值
[内部python] get_etf_iopv(stockcode)
参数
- stock_code - string 合约代码
返回值
- IOPV,基金份额参考净值
示例
def handlebar(ContextInfo):
print(get_etf_iopv('159733.SZ'))
2
# 获取场内基金tick数据
调用方法
xtdata.subscribe_quote('513330.SH', period='tick', start_time='', end_time='20231009150000', count=0, callback=None)
time.sleep(1) # 等待订阅完成
xtdata.get_market_data_ex([], ['513330.SH'], 'tick', '20231009093000', '', dividend_type='front',
fill_data=True)
2
3
4
获取场内基金tick数据,支持 历史数据和最新数据查询。
参数
- xtdata.subscribe_quote
- stock_code: 股票代码
- param start_time: 开始时间,格式YYYYMMDD/YYYYMMDDhhmmss
- param end_time: 结束时间 同“开始时间”
- param count: 数量 -1全部/n: 从结束时间向前数n个
- param period: 周期 分笔"tick" 分钟线"1m"/"5m" 日线"1d"
返回值
- 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
增序排列
获取场内基金tick数据示例:
xtdata.subscribe_quote('513330.SZ', period='tick', start_time='', end_time='20231009150000', count=15, callback=None)
time.sleep(1) # 等待订阅完成
xtdata.get_market_data_ex(field_list = [], stock_list = [], period = '1d', start_time = '', end_time = '',
count = -1, dividend_type = 'none', fill_data = True)
2
3
4
{'513330.SH': time lastPrice ... settlementPrice transactionNum
stime ...
20231009093001 1696815001000 0.398 ... 0.0 925
20231009093004 1696815004000 0.398 ... 0.0 1086
20231009093007 1696815007000 0.398 ... 0.0 1216
20231009093010 1696815010000 0.398 ... 0.0 1483
20231009093013 1696815013000 0.399 ... 0.0 1604
... ... ... ... ... ...
20231009145946 1696834786000 0.399 ... 0.0 32462
20231009145949 1696834789000 0.400 ... 0.0 32464
20231009145952 1696834792000 0.400 ... 0.0 32470
20231009145955 1696834795000 0.400 ... 0.0 32562
20231009145958 1696834798000 0.399 ... 0.0 32567
[4801 rows x 18 columns]}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 基金列表
我们目前提供了所有上市交易的场内基金数据,包含ETF、LOF等 调用方法
get_stock_list_in_sector(sector_name) #获取所有场内基金
参数
- sector_name 板块名
返回值
- list:内含成份股代码,代码形式为 'stockcode.market',如 '159659.SZ'
获取基金列表示例:
ret_sector_data = get_stock_list_in_sector('沪深基金') [:10]
['588400.SH', '518890.SH', '501208.SH', '516330.SH', '515020.SH',
'513600.SH', '515860.SH', '510510.SH', '516900.SH', '510760.SH']
2