WindPy接口手册

1. 接口安装

Python是一种广泛使用的脚本语言,用于金融工程等领域。要安装Python接口,遵循以下步骤:

  • 访问Python官方下载地址:http://www.python.org/
  • 选择适当的Python版本并按照要求下载和安装。
  • Windows系统,支持32位和64位系统。
  • Python版本可以是2.6、2.7、3.3或更高版本。
  • 安装时需要系统管理员权限。
  1. 确保达到上述安装要求,并关闭Python环境,以及用到控件的MATLAB/R /C++环境等;
  2. 打开Wind金融终端,点击**“我的/插件修复”选项,出现下方的界面,点击“修复Python接口”**,会弹出接口的相关说明;

修复接口.png

修复完成.png

注: 修复完成后,可通过“配置详情”按钮查看具体修复了哪些Python。若列表并没有需要使用的Python,可通过“添加路径”按钮修复指定的Python (添加路径格式可参考具体的提示)。

2. 调用WindPy

使用WindPy API接口获取金融数据,按以下步骤操作:

1
2
3
4
5
6
from WindPy import w

# 注: w.start不重复启动,若需要改变参数,如超时时间,用户可以使用w.stop命令先停止后再启动。
w.start() # 默认命令超时时间为120秒,可以设置超时时间,如waitTime=60
w.isconnected() # 判断WindPy是否已登录成功
w.stop() # 停止WindPy

需要注意,程序退出时会自动执行w.stop(),一般用户不需要手动执行。

3. 获取日时间序列函数WSD

wsd可以支持取 多品种单指标 或者 单品种多指标 的时间序列数据。函数签名:

函数签名

1
w.wsd(codes, fields, beginTime, endTime, options)

参数说明

参数类型可选默认值说明
codesstr 或 list证券代码,支持单个或多个代码,例如:"600030.SH"或[“600010.SH”, “000001.SZ”]
fieldsstr 或 list指标列表,支持单个或多个指标,例如:“CLOSE,HIGH,LOW,OPEN” 或 [“CLOSE”, “HIGH”, “LOW”, “OPEN”]
beginTimestr 或 datetimeendTime起始日期,可以使用日期字符串或datetime/date类型,例如:“2016-01-01”、“20160101”、“2016/01/01”、“-5D”(当前日期前推5个交易日)
endTimestr 或 datetime系统当前日期结束日期,可以使用日期字符串或datetime/date类型,例如:“2016-01-05”、“20160105”、“2016/01/05”、“-2D”(当前日期前推2个交易日)
optionsstr“”选项参数以字符串形式集成多个参数,具体见下文。

options参数说明

options以字符串的形式集成了多个参数,以下列举了一些常用的参数:

参数类型可选默认值说明
Daysstr‘Trading’日期选项,参数值含义如下:
- Weekdays: 工作日
- Alldays: 日历日
- Trading: 交易日
Fillstr‘Blank’空值填充方式。参数值含义如下:
- Previous:沿用前值
- Blank:返回空值
- 如需选择自设数值填充,在options添加“ShowBlank=X",其中X为自设数
Orderstr‘A’日期排序,“A”:升序,“D”:降序
Periodstr‘D’取值周期。参数值含义如下:
- D:天
- W:周
- M:月
- Q:季度
- S:半年
- Y:年
TradingCalendarstr‘SSE’交易日对应的交易所。参数值含义如下:
- SSE :上海证券交易所
- SZSE:深圳证券交易所
- CFFE:中金所
- TWSE:台湾证券交易所
- DCE:大商所
- NYSE:纽约证券交易所
- CZCE:郑商所
- COMEX:纽约金属交易所
- SHFE:上期所
- NYBOT:纽约期货交易所
- HKEX:香港交易所
- CME:芝加哥商业交易所
- Nasdaq:纳斯达克证券交易所
- NYMEX:纽约商品交易所
- CBOT:芝加哥商品交易所
- LME:伦敦金属交易所
- IPE:伦敦国际石油交易所
Currencystr‘Original’输入币种。参数值含义如下:
- Original:“原始货币”
- HKD:“港币”
- USD:“美元”
- CNY:“人民币”
PriceAdjstr不复权股票和基金(复权方式)。参数值含义如下:
- F:前复权
- B:后复权
- T:定点复权;债券(价格类型)
- CP:净价
- DP:全价
- MP:市价
- YTM:收益率

返回说明

如果不指定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],[5.3,5.12,5.17,4.98,4.94,4.93,5.1,5.4,5.4]]
  • Codes:证券代码列表,返回获取数据的证券代码列表,例如,Codes=[000592.SZ]
  • Field:指标列表,返回获取数据的指标列表,例如,Fields=[CLOSE]
  • Times:时间列表,返回获取数据的日期序列,例如,Times=[20170508,20170509,20170510,20170511,20170512,20170515,20170516,20170517,20170518]

示例

示例 1:获取单个证券的历史数据并将结果返回为DataFrame

1
2
# 获取证券代码为'600030.SH'的指标数据,从'2020-01-01'到'2020-12-31'的每日数据
w.wsd("600030.SH", "CLOSE,HIGH,LOW,OPEN", "2020-01-01", "2020-12-31")

示例 2:获取多个证券的单个指标数据

1
2
# 获取多个证券的收盘价数据,从'2020-01-01'到'2020-12-31'的每日数据
w.wsd(["600030.SH", "000001.SZ"], "CLOSE", "2020-01-01", "2020-12-31")

示例 3:指定选项参数

1
2
# 获取证券代码为'600030.SH'的最高价和最低价数据,从'2020-01-01'到'2020-12-31'的每日数据
w.wsd("600030.SH", "HIGH,LOW", "2020-01-01", "2020-12-31", "PriceAdj=B;Period=W;TradingCalendar=SSE")

示例 4:输出DataFrame格式数据

1
2
# 获取证券代码为'600030.SH'的收盘价数据,从'2020-01-01'到'2020-12-31'的每日数据,并输出为DataFrame格式
w.wsd("600030.SH", "CLOSE", "2020-01-01", "2020-12-31", usedf=True)

4.获取日截面数据函数WSS

函数 w.wss 用于获取日截面数据,可以获取多种证券类型的基本资料、市场行情、财务数据等多种数据,支持多个品种和多个指标的获取。以下是详细的参数说明和示例用法。

参数说明

参数类型可选默认值说明
windCodesstr 或 list证券代码,支持获取单品种或多品种,如 ‘600030.SH’ 或 [‘600010.SH’, ‘000001.SZ’]。
Fieldsstr 或 list指标列表,支持获取多指标,如 ‘CLOSE,HIGH,LOW,OPEN’。
optionsstr“”以字符串形式集成多个参数,具体参数见代码生成器。如果无相关参数设置,可以不给 option 赋值或使用 options=“”。

注意事项

  • wss 函数一次只能提取一个交易日或报告期数据,但可以提取多个品种和多个指标。
  • 可选参数众多,如 rptDatecurrencyTyperptType 等,可以借助代码生成器获取。
  • wss 函数支持输出 DataFrame 数据格式,需要添加参数 usedf=True,还可以使用 usedfdt=True 来填充 DataFrame 输出的 NaT 日期。

返回说明

如果不指定 usedf=True,该函数将返回一个 WindData 对象,包含以下成员:

  • ErrorCode:错误ID,返回代码运行错误码,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]

示例用法

以下是一个示例,用于获取被动指数型基金的最新业绩排名:

1
2
3
4
5
6
# 取被动指数型基金最新业绩排名
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)

这个示例中,首先使用 w.wset 函数获取被动指数型基金的最新业绩排名,然后使用 w.wss 函数获取所选基金的相关数据,包括基金名称、一周、一月、三月、六月、一年、今年以来的回报率等信息。

5. 获取分钟序列数据函数WSI

函数 w.wsi 用于获取国内六大交易所(上海交易所、深圳交易所、郑州商品交易所、上海国际能源交易中心、上海期货交易所、大连商品交易所)证券品种的分钟线数据,包括基本行情和部分技术指标的分钟数据。该函数支持分钟周期为1-60分钟,并且可以自定义设置技术指标参数。

参数说明

参数类型可选默认值说明
codesstr 或 list证券代码,支持获取单品种或多品种,如 ‘600030.SH’ 或 [‘600010.SH’, ‘000001.SZ’]。
fieldsstr 或 list指标列表,支持获取单指标或多指标,如 ‘CLOSE,HIGH,LOW,OPEN’。
beginTimestr 或 datetimeendTime分钟数据的起始时间,支持字符串、datetime/date,如: “2016-01-01 09:00:00”。
endTimestr 或 datetime当前系统时间分钟数据的截止时间,支持字符串、datetime/date,如: “2016-01-01 15:00:00”,默认为当前系统时间。
optionsstr“”以字符串形式集成多个参数,具体参数见代码生成器。如果无相关参数设置,可以不给 option 赋值或使用 options=""

集成在 options 中的参数

options 以字符串形式集成了多个参数。以下是一些常用的参数:

参数类型可选默认值说明
BarSizestr“1”BarSize 在1-60间选择输入整数数字,代表分钟数。
Fillstr‘Blank’空值填充方式。参数值含义如下:Previous:沿用前值,Blank:返回空值。如果需要选择自设数值填充,在 options 添加 “ShowBlank=X",其中 X 为自设数。
PriceAdjstrU股票和基金的复权方式。参数值含义如下:U:不复权,F:前复权,B:后复权。

注意事项

  • wsi 一次支持提取单品种或多品种,品种名可以带有“.SH”等后缀。
  • 提取的指标 fields 和可选参数 options 可以用 list 实现。
  • wsi 支持国内六大交易所近三年的分钟数据。
  • wsi 函数支持输出 DataFrame 数据格式,需要函数添加参数 usedf=True,可以在示例2中看到示例用法。
  • 单次提取一个品种支持近三年数据,若单次提取多个品种,则品种数 * 天数 ≤ 100。

返回说明

如果不指定 usedf=True,该函数将返回一个 WindData 对象,包含以下成员:

  • ErrorCode:错误ID,返回代码运行错误码,0 表示代码运行正常,其他值需查找错误原因。
  • Data:数据列表,包含获取的数据。例如,读取 “600111.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 的分钟数据:

1
2
3
4
5
6
# 取 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 内置的日期函数,表示当前时刻。

在这个示例中,首先从 IF00.CFE 提取分钟数据,包括开盘价、最高价、最低价和收盘价。

6. 获取日内tick数据函数WST

函数 w.wst 用于获取国内六大交易所(上海交易所、深圳交易所、郑州商品交易所、上海国际能源交易中心、上海期货交易所、大连商品交易所)证券品种的日内盘口买卖五档快照数据和分时成交数据(tick数据)。

参数说明

参数类型可选默认值说明
codesstr 或 list证券代码,支持获取单品种,如 ‘600030.SH’。
fieldsstr 或 list指标列表,支持获取单指标或多指标,如 ‘CLOSE,HIGH,LOW,OPEN’。
beginTimestr 或 datetimeendTimetick数据的起始时间,支持字符串、datetime/date,如: “2016-01-01 09:00:00”。
endTimestr 或 datetime当前系统时间tick数据的截止时间,支持字符串、datetime/date,如: “2016-01-01 15:00:00”,默认为当前系统时间。
optionsstr“”以字符串形式集成多个参数,具体参数见代码生成器。如果无相关参数设置,可以不给 option 赋值或使用 options=""

注意事项

  • wst 只支持提取单品种,并且品种名可以带有“.SH”等后缀。
  • 提取的指标 fields 可以用 list 实现。
  • wst 支持国内六大交易所近七个交易日的tick数据。
  • wst 函数支持输出 DataFrame 数据格式,需要函数添加参数 usedf=True

返回说明

如果不指定 usedf=True,该函数将返回一个 WindData 对象,包含以下成员:

  • ErrorCode:错误ID,返回代码运行错误码,0 表示代码运行正常,其他值需查找错误原因。
  • Data:数据列表,包含获取的tick数据。例如,读取 “601318.SH” 的 “last,bid1” 指标从 2017-06-13 09:30:00 至 2017-06-13 9:31:00 的tick数据,返回值为 Data=[[9.11,9.11,9.11,9.11,9.11,9.11,9.11,9.11,9.11,9.11,...],[9.11,9.11,9.12,9.11,9.11,9.11,9.11,9.11,9.11,9.12,...]]
  • Codes:证券代码列表,返回获取数据的证券代码列表,如 Codes=[601318.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]

示例用法

以下是一个示例用法,用于提取平安银行(000001.SZ)当天的买卖盘数据:

1
2
3
4
5
6
7
8
9
10
# 提取平安银行(000001.SZ)当天的买卖盘数据。
from datetime import *

# 设置起始时间和截止时间,通过 wst 接口提取序列数据
begintime = datetime.strftime(datetime.now(), '%Y-%m-%d 09:30:00')
endtime = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')
# last最新价,bid1 买1价,ask1 卖1价
codes = "000001.SZ"
fields = "last,bid1,ask1"
w.wst(codes, fields, begintime, endtime)

在这个示例中,首先设置起始时间和截止时间为当天的开盘时间和当前时间,然后通过 wst 接口提取平安银行的买卖盘数据,包括最新价、买一价和卖一价。

7.实时行情数据函数 WSQ

函数 w.wsq 用于获取股票、债券、基金、期货、指数等选定证券品种的当天指标实时数据。可以通过一次性请求实时快照数据,也可以通过订阅的方式获取实时数据。

参数说明

参数类型可选默认值说明
codesstr 或 list证券代码,支持获取单品种或多品种,如:“600030.SH,000001.SZ” 或 [“600030.SH”, “000001.SZ”]。
fieldsstr 或 list指标列表,支持获取多指标,如 ‘CLOSE,HIGH,LOW,OPEN’。
optionsstr“”以字符串形式集成多个参数,具体参数见代码生成器。如果无相关参数设置,可以不给 option 赋值或使用 options=""
funcstrNone默认为 None,此时以一次性快照方式获取数据。当 func=DemoWSQCallback 时,以订阅的方式实时返回行情数据。DemoWSQCallback 的函数定义可参考 API 帮助中心的案例。

注意事项

  • wsq 函数的参数中品种代码、指标和可选参数也可以用 list 实现。
  • 用户可以一次提取或者订阅多个品种数据多个指标。
  • 在订阅模式下,wsq 函数只返回订阅品种行情有变化的订阅指标,对没有变化的订阅指标不重复返回实时行情数据。
  • 在订阅模式下,API 发现用户订阅内容发生变化则调用回调函数,并且只把变动的内容传递给回调函数。用户自己定义的回调函数格式请参考 API 帮助中心的案例,回调函数中不应处理复杂的操作。
  • wsq 函数快照模式支持输出 DataFrame 数据格式,需要函数添加参数 usedf=True,可以使用 usedfdt=True 来填充 DataFrame 输出 NaT 的日期。

返回说明

快照模式下函数输出字段解释如下:

  • ErrorCode:错误ID,返回代码运行错误码,0 表示代码运行正常,其他值需查找错误原因。
  • Data:数据列表,返回函数获取的快照数据。例如,读取 "601318.SH " 的 “rt_last,rt_open” 指标快照数据,Data=[[54.16],[53.72]]
  • Codes:证券代码列表,返回获取数据的证券代码列表,如 Codes=[601318.SH]
  • Field:指标列表,返回获取数据的指标列表,如 Fields=[open,high]
  • Times:时间列表,返回获取数据的日期序列,如 Times=[20170626 17:50:53]

订阅模式下函数输出字段解释如下:

  • ErrorCode:错误ID,返回代码运行错误码,0 表示代码运行正常,其他值需查找错误原因。
  • StateCode:状态ID,返回订阅时的字段,无实质意义,通常为 1。
  • RequestID:请求ID,返回订阅的请求ID,通常为整数值。
  • Code:证券代码列表,返回获取实时数据的品种列表,只返回行情变动指标对应的品种,如 Code=[601318.SZ]
  • Fields:字段列表,返回获取的实时数据的指标列表,只返回行情变动的指标列表,如 Fields=[RT_OPEN,RT_LAST]
  • Times:时间列表,返回获取数据的本地时间戳,如 Times=[20170626 17:50:53]
  • Data:数据列表,返回函数获取的实时行情数据,获取中国平安 “601318.SH” 的 “rt_last,rt_open” 指标订阅数据,Data=[[54.16],[53.72]]

取消实时行情订阅函数 CancelRequest

函数 w.cancelRequest(RequestID) 用来根据 w.wsq 的订阅请求ID来取消订阅。

参数说明

参数类型可选默认值说明
RequestIDint输入取消订阅的订阅ID,支持取消单次订阅和全部订阅。支持格式:1 或 0。

注意事项

  • 可以像 w.cancelRequest(3) 一样,输入一个 ID 的数字,来取消某订阅。
  • 请求ID为0代表取消全部订阅,即输入 w.cancelRequest(0)

示例用法

以下是一个示例用法,用于订阅平安银行(000001.SZ)的买卖盘数据:

1
2
3
4
5
6
data = w.wsq("000001.SZ", "rt_last,rt_open", func=DemoWSQCallback)
# 订阅
# 等待回调,用户可以根据实际情况写回调函数
# ...
# 根据刚才 wsq 返回的请求ID,取消订阅
w.cancelRequest(data.RequestID)

在这个示例中,首先使用 w.wsq 订阅平安银行的买卖盘数据,包括最新价 (rt_last) 和开盘价 (rt_open)。然后等待回调函数获取实时数据,并最后根据 wsq 返回的请求ID来取消订阅。

8. 获取板块日序列数据函数WSES

函数 w.wses 用于获取沪深股票、香港股票、全球股票的板块的历史日序列数据,包括依据板块个股数据计算的板块日行情数据、基本面数据以及盈利预测数据等。

参数说明

参数类型可选默认值说明
codesstr 或 list支持获取单板块或多板块,如:“a001010100”、[“a001010200”, “a001010200”]。
fieldsstr仅支持单指标,如 “sec_close_avg”。
beginTimestr截止日期为空默认为截止日期,如 “2016-01-01”、“20160101”、“2016/01/01”、“-5D”(当前日期前推5个交易日)、datetime/date 格式。
endTimestr当前系统日期如 “2016-01-05”、“20160105”、“2016/01/05”、“-2D”(当前日期前推2个交易日)、datetime/date 格式。
optionsstr“”options 以字符串的形式集成多个参数,具体参数见代码生成器。如果无相关参数设置,可以不给 option 赋值或使用 options=""
Fillstr“Blank”空值填充方式。参数值含义如下:“Previous”:沿用前值,“Blank”:返回空值。如果需要选择自设数值填充,在 options 添加 “ShowBlank=X”,其中 X 为自设数。
Periodstr“D”取值周期。参数值含义如下:“D”:天,“W”:周,“M”:月,“Q”:季度,“S”:半年,“Y”:年。
Daysstr“Trading”日期选项。参数值含义如下:“Weekdays”:工作日,“Alldays”:日历日,“Trading”:交易日。
TradingCalendarstr“SSE”交易日对应的交易所。参数含义如下:“SSE”:上海证券交易所,“SZSE”:深圳证券交易所,“CFFE”:中金所,“TWSE”:台湾证券交易所,“DCE”:大商所,“NYSE”:纽约证券交易所,“CZCE”:郑商所,“COMEX”:纽约金属交易所,“SHFE”:上期所,“NYBOT”:纽约期货交易所,“HKEX”:香港交易所,“CME”:芝加哥商业交易所,“Nasdaq”:纳斯达克证券交易所,“NYMEX”:纽约商品交易所,“CBOT”:芝加哥商品交易所,“LME”:伦敦金属交易所,“IPE”:伦敦国际石油交易所。
DynamicTimestr“1”“0”:使用板块历史成分,“1”:使用板块最新成分。

注意事项

  • wses 函数一次性可选取多个板块一个指标来提取日期序列数据。
  • wses 函数支持 Python 中的 date 或 datetime 时间格式。
  • wses 函数支持输出 DataFrame 数据格式,需要函数添加参数 usedf=True。可以使用 usedfdt=True 来填充 DataFrame 输出 NaT 的日期。
  • 板块名称或板块ID可通过板块查询工具查找。

返回说明

如果不指定 usedf=True,该函数将返回一个 WindData 对象,包含以下成员:

  • ErrorCode:错误ID,返回代码运行错误码,ErrorCode=0 表示代码运行正常。若为其他值则需查找错误原因。
  • Data:数据列表,比如读取上证A股和深证A股近两日的平均收盘价 “sec_close_avg” 指标

数据,返回值为 Data=[[13.00764,13.31552],[12.88665,13.19833]]。

  • Codes:证券代码列表,返回获取数据的板块ID,如 Codes=[a001010200000000, a001010300000000]。
  • Field:指标列表,返回获取数据的指标列表,如 Fields=[sec_close_avg]。
  • Times:时间列表,返回获取数据的日期序列,如 Times=[20180828]。

示例用法

以下是一个示例用法,用于提取上证A股和深证A股的当日平均收盘价信息:

1
errorCode, data = w.wses("a001010200000000,a001010100000000", "sec_close_avg", "2018-08-21", "2018-08-27", "", usedf=True)

在这个示例中,首先使用 w.wses 函数提取了上证A股和深证A股的板块数据,包括 “sec_close_avg” 指标,日期范围为 “2018-08-21” 到 “2018-08-27”。最后,将结果存储在 DataFrame 中。

9. 获取板块日截面数据函数WSEE

函数 w.wsee 用于获取沪深股票、香港股票、全球股票的板块的历史日序列数据,包括依据板块个股数据计算的板块日行情数据、基本面数据以及盈利预测数据等。

参数说明

参数类型可选默认值说明
codesstr 或 list支持获取单板块或多板块,如:“a001010100”、[“a001010200”, “a001010200”]。
fieldsstr仅支持单指标,如 “sec_close_avg”。
optionsstr“”options 以字符串的形式集成多个参数,具体参数见代码生成器。如果无相关参数设置,可以不给 option 赋值或使用 options=""
DynamicTimestr“1”“0”:使用板块历史成分,“1”:使用板块最新成分。

注意事项

  • wsee 函数一次只能提取一个交易日数据,但可以提取多个板块和多个指标。
  • wsee 函数可选参数有很多,例如 unitcurrencyType 等可借助代码生成器获取。
  • wsee 函数支持输出 DataFrame 数据格式,需要函数添加参数 usedf=True。可以使用 usedfdt=True 来填充 DataFrame 输出 NaT 的日期。
  • 板块名称或板块ID可通过板块查询工具查找。

返回说明

如果不指定 usedf=True,该函数将返回一个 WindData 对象,包含以下成员:

  • ErrorCode:错误ID,返回代码运行错误码,ErrorCode=0 表示代码运行正常。若为其他值则需查找错误原因。
  • Data:数据列表,比如读取上证A股和深证A股近两日的平均收盘价 “sec_close_avg” 指标数据,返回值为 Data=[[13.00764,13.31552],[12.88665,13.19833]]。
  • Codes:证券代码列表,返回获取数据的板块ID,如 Codes=[a001010200000000, a001010300000000]。
  • Field:指标列表,返回获取数据的指标列表,如 Fields=[sec_close_avg]。
  • Times:时间列表,返回获取数据的日期序列,如 Times=[20180828]。

示例用法

以下是一个示例用法,用于提取上证A股和深证A股的当日平均收盘价信息:

1
errorCode, data = w.wsee("a001010200000000,a001010300000000", "sec_close_avg", "tradeDate=20180827", usedf=True)

在这个示例中,首先使用 w.wsee 函数提取了上证A股和深证A股的板块数据,包括 “sec_close_avg” 指标,日期为 “20180827”。最后,将结果存储在 DataFrame 中。

10.获取报表数据函数WSET

函数 w.wset 用于获取数据集信息,包括板块成分、指数成分、ETF申赎成分信息、分级基金明细、融资标的、融券标的、融资融券担保品、回购担保品、停牌股票、复牌股票、分红送转等报表数据。

参数说明

参数类型可选默认值说明
tableNamestr输入获取数据的报表名称,可借助代码生成器生成,如:“SectorConstituent”。
optionsstr“”options 以字符串的形式集成多个参数,具体参数见代码生成器。如果无相关参数设置,可以不给 option 赋值或使用 options=""

注意事项

  • 数据集涉及内容较多,每个报表名称均不同,建议使用代码生成器生成代码以更方便地获取数据。
  • wset 函数支持输出 DataFrame 数据格式,需要函数添加参数 usedf=True。可以使用 usedfdt=True 来填充 DataFrame 输出 NaT 的日期。

返回说明

如果不指定 usedf=True,该函数将返回一个 WindData 对象,包含以下成员:

  • ErrorCode:错误ID,返回代码运行错误码,ErrorCode=0 表示代码运行正常。若为其他值则需查找错误原因。
  • Data:数据列表,比如读取全部A股2018-08-27的板块成分,返回值为 Data=[[2018-08-27, 2018-08-27,…], [000001.SZ, 000002.SZ,…], [平安银行, 万科A,…]]。
  • Codes:证券代码列表,返回获取数据的板块ID,如 Codes=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10,…]。
  • Field:指标列表,返回获取数据的指标列表,如 Fields=[date, wind_code, sec_name]。
  • Times:时间列表,返回获取数据的日期序列,如 Times=[20180828]。

示例用法

以下是一个示例用法,用于获取申万一级行业的成分股:

1
2
sw_index = w.wset("sectorconstituent", "date=2018-06-12;sectorid=a39901011g000000", usedf=True)
sw_index[1].head(5)

在这个示例中,首先使用 w.wset 函数提取了申万一级行业的成分股信息,日期为 “2018-06-12”,板块ID为 “a39901011g000000”。然后,将结果存储在 DataFrame 中并显示前5行。

11.推荐的使用场景

以下是对这些函数的异同点以及推荐的使用场景的概述:

异同点:

  1. 数据类型

    • WSD、WSS、WSI、WST、WSES、WSEE、WSET 这些函数都用于获取不同类型的金融数据,包括历史数据、实时数据、板块数据、报表数据等。
  2. 数据频率

    • WSD、WSS、WSI、WST 用于获取不同频率的历史数据,包括日线、分钟线、tick 数据等。
    • WSQ 用于获取实时数据。
    • WSES 和 WSEE 用于获取板块数据。
    • WSET 用于获取报表数据。
  3. 数据源

    • 这些函数都可以用于获取 Wind 数据源的数据。

具体的使用场景总结如下:

  1. WSD - 获取日时间序列数据

    • 适用于获取单个或多个证券的历史时间序列数据,如股价、成交量等。常用于分析历史趋势和生成图表。
  2. WSS - 获取日截面数据

    • 用于获取单个或多个证券在某个交易日的截面数据,如市值、市盈率等。常用于研究单日市场快照情况。
  3. WSI - 获取分钟序列数据

    • 用于获取单个或多个证券的分钟级别数据,可用于高频交易分析、图表生成等。
  4. WST - 获取日内 tick 数据

    • 用于获取单个或多个证券的日内交易 tick 数据,适用于日内交易策略和市场微观结构研究。
  5. WSQ - 实时行情数据

    • 用于获取股票、债券、基金等证券品种的实时行情数据,适用于需要实时监控市场的场景,如实时报价、风险管理等。
  6. WSES - 获取板块日序列数据

    • 用于获取板块(如申万一级行业板块)的历史时间序列数据,可用于板块分析、行业研究等。
  7. WSEE - 获取板块日截面数据

    • 用于获取板块在某个交易日的截面数据,如板块成分股等。适用于研究板块的单日情况。
  8. WSET - 获取报表数据

    • 用于获取各种报表数据,如板块成分、指数成分、分级基金明细、分红送转等。适用于查询金融报表数据。

WindPy接口手册
https://fulequn.github.io/2023/09/Article202309114/
作者
Fulequn
发布于
2023年9月11日
许可协议