WindPy API接口可用于获取各类高质量的金融数据,在使用时可借助万矿或Wind终端的API代码生成器生成获取数据的函数代码,而无需记住各类繁杂的参数说明及函数手册。具体使用流程如下:
首先,用户必须加载WindPy,然后执行w.start()启动API接口
from WindPy import w
w.start() # 默认命令超时时间为120秒,如需设置超时时间可以加入waitTime参数,例如waitTime=60,即设置命令超时时间为60秒
w.isconnected() # 判断WindPy是否已经登录成功
Welcome to use Wind Quant API for Python (WindPy)!
COPYRIGHT (C) 2017 WIND INFORMATION CO., LTD. ALL RIGHTS RESERVED.
IN NO CIRCUMSTANCE SHALL WIND BE RESPONSIBLE FOR ANY DAMAGES OR LOSSES CAUSED BY USING WIND QUANT API FOR Python.
True
可以使用如下命令停止WindPy:
w.stop() # 当需要停止WindPy时,可以使用该命令
# 注: w.start不重复启动,若需要改变参数,如超时时间,用户可以使用w.stop命令先停止后再启动。
# 退出时,会自动执行w.stop(),一般用户并不需要执行w.stop
需要注意的是,程序退出时会自动执行w.stop(),因此一般用户并不需要执行w.stop()
w.wsd(codes, fields, beginTime, endTime, options)
支持股票、债券、基金、期货、指数等多种证券的基本资料、股东信息、市场行情、证券分析、预测评级、财务数据等各种数据。wsd可以支持取 多品种单指标 或者 单品种多指标 的时间序列数据
参数 | 类型 | 可选 | 默认值 | 说明 |
---|---|---|---|---|
codes | str或list | 否 | 无 | 证券代码,支持获取单品种或多品种, 如“600030.SH”或[“600010.SH”,“000001.SZ”] |
fields | str或list | 否 | 无 | 指标列表,支持获取单指标或多指标, 如“CLOSE,HIGH,LOW,OPEN” |
beginTime | str或datetime | 是 | endTime | 起始日期,为空默认为截止日期, 如: “2016-01-01”、“20160101”、“2016/01/01”、 "-5D"(当前日期前推5个交易日)、datetime |
endTime | str或datetime | 是 | 系统当前日期 | 如: “2016-01-05”、“20160105”、“2016/01/05”、 "-2D"(当前日期前推2个交易日) 、datetim |
options | str | 是 | “” | options以字符串的形式集成多个参数,具体见代码生成器。 如无相关参数设置,可以不给option赋值或者使用options="" |
参数 | 类型 | 可选 | 默认值 | 说明 |
---|---|---|---|---|
Days | str | 是 | ‘Trading’ | 日期选项,参数值含义如下: Weekdays: 工作日, Alldays: 日历日, Trading: 交易日 |
Fill | str | 是 | ‘Blank’ | 空值填充方式。参数值含义如下: Previous:沿用前值, Blank:返回空值, 如需选择自设数值填充, 在options添加“ShowBlank=X", 其中X为自设数。 |
Order | str | 是 | ‘A’ | 日期排序, “A”:升序, “D”:降序 |
Period | str | 是 | ‘D’ | 取值周期。参数值含义如下: D:天, W:周, M:月, Q:季度, S:半年, Y:年 |
TradingCalendar | str | 是 | ‘SSE’ | 交易日对应的交易所。参数值含义如下: SSE :上海证券交易所, SZSE:深圳证券交易所, CFFE:中金所, TWSE:台湾证券交易所, DCE:大商所, NYSE:纽约证券交易所, CZCE:郑商所, COMEX:纽约金属交易所, SHFE:上期所, NYBOT:纽约期货交易所, HKEX:香港交易所, CME:芝加哥商业交易所, Nasdaq:纳斯达克证券交易所, NYMEX:纽约商品交易所, CBOT:芝加哥商品交易所, LME:伦敦金属交易所, IPE:伦敦国际石油交易所 |
Currency | str | 是 | ‘Original’ | 输入币种。参数值含义如下: Original:“原始货币”, HKD:“港币”, USD:“美元”, CNY:“人民币” |
PriceAdj | str | 是 | 不复权 | 股票和基金(复权方式)。参数值含义如下: F:前复权, B:后复权, T:定点复权;债券(价格类型) CP:净价, DP:全价, MP:市价, YTM:收益率 |
注:
1.Fields和Parameter也可以传入list,比如可以用[“CLOSE”,“HIGH”,“LOW”,“OPEN”]替代“CLOSE,HIGH,LOW,OPEN”;
2.获取多个证券数据时,Fields只能选择一个。
3.日期支持相对日期宏表达方式,日期宏具体使用方式参考’日期宏’部分内容
4.options为可选参数,可选参数多个,在参数说明详细罗列。
如果不指定usedf=True,该函数将返回一个WindData对象,包含以下成员:
返回码 | 解释 | 说明 |
---|---|---|
ErrorCode | 错误ID | 返回代码运行错误码,.ErrorCode =0表示代码运行正常。若为其他则需查找错误原因. |
Data | 数据列表 | 返回函数获取的数据,比如读取000592.SZ的close指标从’2017-05-08’到’2017-05-18’区间的数据,返回值为.Data=[[5.12,5.16,5.02,4.9,4.91,5.13,5.35,5.42,5.32]] |
Codes | 证券代码列表 | 返回获取数据的证券代码列表.Codes=[000592.SZ] |
Field | 指标列表 | 返回获取数据的指标列表.Fields=[CLOSE] |
Times | 时间列表 | 返回获取数据的日期序列.Times=[20170508,20170509,20170510,20170511,20170512,20170515,20170516, 20170517,20170518] |
w.start()
# 任取一只国债010107.SH六月份以来的净值历史行情数据
history_data=w.wsd("010107.SH", "sec_name,ytm_b,volume,duration,convexity,open,high,low,close,vwap", "2018-06-01", "2018-06-11", "returnType=1;PriceAdj=CP", usedf=True)
# returnType表示到期收益率计算方法,PriceAdj表示债券价格类型‘
history_data[1].head()
Welcome to use Wind Quant API for Python (WindPy)!
COPYRIGHT (C) 2017 WIND INFORMATION CO., LTD. ALL RIGHTS RESERVED.
IN NO CIRCUMSTANCE SHALL WIND BE RESPONSIBLE FOR ANY DAMAGES OR LOSSES CAUSED BY USING WIND QUANT API FOR Python.
SEC_NAME | YTM_B | VOLUME | DURATION | CONVEXITY | OPEN | HIGH | LOW | CLOSE | VWAP | |
---|---|---|---|---|---|---|---|---|---|---|
2018-06-01 | 21国债(7) | 3.591328 | 38318000.0 | 2.958463 | 11.297840 | 102.10 | 102.15 | 101.92 | 101.98 | 101.977496 |
2018-06-04 | 21国债(7) | 3.613196 | 30240000.0 | 2.950157 | 11.239785 | 101.91 | 101.98 | 101.90 | 101.91 | 101.941359 |
2018-06-05 | 21国债(7) | 3.596003 | 31485000.0 | 2.947486 | 11.226217 | 101.85 | 101.97 | 101.85 | 101.96 | 101.933362 |
2018-06-06 | 21国债(7) | 3.605539 | 177095000.0 | 2.944708 | 11.206388 | 102.06 | 102.06 | 101.76 | 101.93 | 101.867666 |
2018-06-07 | 21国债(7) | 3.591661 | 52440000.0 | 2.942024 | 11.192059 | 101.92 | 102.00 | 101.79 | 101.97 | 101.935645 |
w.wss(codes, fields, option)
同样支持股票、债券、基金、期货、指数等多种证券的基本资料、股东信息、市场行情、证券分析、预测评级、财务数据等各种数据。但是WSS支持取多品种多指标某个时间点的截面数据。
参数 | 类型 | 可选 | 默认值 | 说明 |
---|---|---|---|---|
windCodes | str或list | 否 | 无 | 证券代码,支持获取单品种或多品种如’600030.SH’或[‘600010.SH’,‘000001.SZ’] |
Fields | str或list | 否 | 无 | 指标列表,支持获取多指标如’CLOSE,HIGH,LOW,OPEN’ |
options | str | 是 | “” | options以字符串的形式集成多个参数,具体见代码生成器。如无相关参数设置,可以不给option赋值或者使用options="" |
注:
1.wss函数一次只能提取一个交易日或报告期数据,但可以提取多个品种和多个指标;
2.wss函数可选参数有很多,rptDate,currencyType,rptType等可借助代码生成器获取;
3.wss函数支持输出DataFrame数据格式,需要函数添加参数usedf=True。
返回码 | 解释 | 说明 |
---|---|---|
ErrorCode | 错误ID | 返回代码运行错误码,.ErrorCode =0表示代码运行正常。若为其他则需查找错误原因. |
Data | 数据列表 | 返回函数获取的数据,比如读取"600111.SH,600340.SH,600485.SH" 的"eps_basic,profittogr"指标20161231(即2016年的年报)的数据,返回值为.Data=[[0.025,2.22,0.52],[1.5701,11.4605,51.8106]] |
Codes | 证券代码列表 | 返回获取数据的证券代码列表.Codes=[600111.SH,600340.SH,600485.SH] |
Field | 指标列表 | 返回获取数据的指标列表.Fields=[EPS_BASIC,PROFITTOGR] |
Times | 时间列表 | 返回获取数据的日期序列.Times=[20180824] |
# 取被动指数型基金最新业绩排名
fund=w.wset("sectorconstituent","date=2018-06-11;sectorid=2001010102000000").Data[1]
error_code,returns=w.wss(fund, "sec_name,return_1w,return_1m,return_3m,return_6m,return_1y,return_ytd,fund_fundmanager", "annualized=0;tradeDate=20180611",usedf=True)
returns.head(10)
SEC_NAME | RETURN_1W | RETURN_1M | RETURN_3M | RETURN_6M | RETURN_1Y | RETURN_YTD | FUND_FUNDMANAGER | |
---|---|---|---|---|---|---|---|---|
000008.OF | 嘉实中证500ETF联接A | -0.838095 | -5.460048 | -8.500791 | -9.612825 | -4.733439 | -9.155421 | 何如,陈正宪 |
000051.OF | 华夏沪深300ETF联接A | -0.324412 | -1.837061 | -7.245283 | -6.397563 | 7.055749 | -5.534204 | 张弘弢,赵宗庭 |
000059.OF | 国联安中证医药100A | -0.595570 | -2.197400 | 5.730971 | 6.511118 | 10.465357 | 7.162921 | 黄欣 |
000248.OF | 汇添富中证主要消费ETF联接 | -2.027110 | 4.086663 | 3.756870 | 7.402945 | 36.666383 | 2.793081 | 吴振翔,过蓓蓓 |
000368.OF | 汇添富沪深300安中动态策略 | -0.912972 | -1.263172 | -6.199092 | -8.297368 | 5.092302 | -6.836287 | 吴振翔 |
000373.OF | 华安中证细分医药ETF联接A | -0.575816 | 0.974659 | 7.617729 | 10.604982 | 21.122369 | 10.920771 | 苏卿云 |
000376.OF | 华安中证细分医药ETF联接C | -0.584795 | 0.923483 | 7.519325 | 10.389610 | 20.662461 | 10.709117 | 苏卿云 |
000596.OF | 前海开源中证军工A | -1.858108 | -10.821182 | -9.992254 | -16.821761 | -16.642755 | -13.670134 | 黄玥,陶曙斌 |
000613.OF | 国寿安保沪深300ETF联接 | -0.466362 | -2.298627 | -8.014672 | -7.232036 | 5.015025 | -6.409778 | 李康 |
000656.OF | 前海开源沪深300 | -0.932994 | -2.990033 | -8.535630 | -7.080350 | 3.454384 | -5.654281 | 黄玥 |
w.wsi(codes, fields, beginTime, endTime, options)
用来获取国内六大交易所(上海交易所、深圳交易所、郑商所、上金所、上期所、大商所)证券品种的分钟线数据,包含基本行情和部分技术指标的分钟数据,分钟周期为1-60min,技术指标参数可以自定义设置。
参数 | 类型 | 可选 | 默认值 | 说明 |
---|---|---|---|---|
codes | str或list | 否 | 无 | 证券代码,支持获取单品种或多品种,如’600030.SH’或[‘600010.SH’,‘000001.SZ’] |
fields | str或list | 否 | 无 | 指标列表,支持获取单指标或多指标,,如’CLOSE,HIGH,LOW,OPEN’ |
beginTime | str或datetime | 是 | endTime | 分钟数据的起始时间,支持字符串、datetime/date如: “2016-01-01 09:00:00” |
endTime | str或datetime | 是 | 当前系统时间 | 分钟数据的截止时间,支持字符串、datetime/date如: “2016-01-01 15:00:00”,缺省默认当前时间 |
options | str | 是 | “” | options以字符串的形式集成多个参数,具体见代码生成器。如无相关参数设置,可以不给option赋值或者使用options="" |
options以字符串的形式集成了多个参数。以下列举了一些常用的参数:
参数 | 类型 | 可选 | 默认值 | 说明 |
---|---|---|---|---|
BarSize | str | 是 | “1” | BarSize在1-60间选择输入整数数字,代表分钟数 |
Fill | str | 是 | ‘Blank’ | 空值填充方式。参数值含义如下:Previous:沿用前值,Blank:返回空值 如需选择自设数值填充,在options添加“ShowBlank=X", 其中X为自设数。 |
PriceAdj | str | 是 | U | 股票和基金(复权方式)。参数值含义如下: U:不复权, F:前复权, B:后复权。 |
注
1.wsi一次支持提取单品种或多品种,并且品种名带有“.SH”等后缀;
2.wsi提取的指标fields和可选参数option可以用list实现;
3.wsi支持国内六大交易(上交所、深交所、大商所、中金所、上期所、郑商所)近三年的分钟数据;
4.wsi函数支持输出DataFrame数据格式,需要函数添加参数usedf=True,如例2.
5.wsi支持多品种多指标,单次提取一个品种支持近三年数据,若单次提多个品种,则品种数*天数≤100。
如果不指定usedf=True,该函数将返回一个WindData对象,包含以下成员:
返回码 | 类型 | 说明 |
---|---|---|
ErrorCode | 错误ID | 返回代码运行错误码,ErrorCode =0表示代码运行正常。若为其他则需查找错误原因. |
Data | 数据列表 | 读取中国平安"601318.SH"的"open,high"指标2017-06-01 09:30:00至2017-06-01 10:01:00的五分钟数据,返回值为.Data=[[45.4,45.15,45.42,45.34,45.47,45.48],[45.63,45.49,45.56,45.52,45.51,45.72]] |
Codes | 证券代码列表 | 返回获取数据的证券代码列表.Codes=[600111.SH,600340.SH,600485.SH] |
Field | 指标列表 | 返回获取数据的指标列表.Fields=[open,high] |
Times | 时间列表 | 返回获取数据的日期序列.Times=[20170601 09:35:00,20170601 09:40:00,20170601 09:45:00,20170601 09:50:00,20170601 09:55:00,20170601 10:00:00] |
# 取IF00.CFE的分钟数据
from datetime import *
codes="IF00.CFE"
fields="open,high,low,close"
error,data=w.wsi(codes, fields, "2017-06-01 09:30:00", datetime.today(), "",usedf=True)
#其中,datetime.today()是python内置的日期函数,表示当前时刻。
data.head()
open | high | low | close | |
---|---|---|---|---|
2017-06-01 09:30:00 | 3479.4 | 3479.6 | 3475.2 | 3479.6 |
2017-06-01 09:31:00 | 3479.8 | 3485.8 | 3479.8 | 3484.8 |
2017-06-01 09:32:00 | 3485.0 | 3485.0 | 3479.4 | 3481.6 |
2017-06-01 09:33:00 | 3481.8 | 3482.8 | 3476.6 | 3477.6 |
2017-06-01 09:34:00 | 3478.0 | 3480.4 | 3476.8 | 3478.4 |
w.wst(codes, fields, beginTime, endTime, options)
用获取国内六大交易所(上海交易所、深圳交易所、郑商所、上金所、上期所、大商所)证券品种的日内盘口买卖五档快照数