文档库 最新最全的文档下载
当前位置:文档库 › Wind量化平台-用户手册-Python

Wind量化平台-用户手册-Python

Wind量化平台-用户手册-Python
Wind量化平台-用户手册-Python

——中国金融数据及工具首席服务商

9311509

Wind Python数据及交易接口

Version 1.1

修订时间:2016.08.26

上海万得信息技术股份有限公司

Shanghai Wind Information Co., Ltd.

地址上海浦东新区福山路33号建工大厦9楼

邮编Zip 200120

电话Tel (8621)6888 2280

传真Fax (8621)6888 2281

主页 https://www.wendangku.net/doc/547901254.html,

版本历史

目录

1WINDPY接口说明 (1)

1.1W IND P Y接口概述 (1)

1.2W IND P Y接口安装 (2)

1.2.1WindPy对系统环境要求 (2)

1.2.2Python环境安装 (2)

1.2.3正常WindPy接口安装 (3)

1.2.4特殊安装WindPy方式 (6)

1.3接口向导界面 (7)

1.4W IND P Y获取帮助途径 (6)

1.4.1本用户手册 (7)

1.4.2量化交易群和R语言交流群 (7)

1.5W IND P Y接口相关规范 (1)

1.5.1以下所有命令都有如下假设 (1)

1.5.2命令区分大小写,且“w.”不能省略 (1)

1.5.3中文以及单字节码和双字节码的问题 (1)

1.5.4品种、指标、参数等引号内的部分不区分大小写 (2)

1.5.5参数支持list输入 (2)

1.5.6时间、日期支持Python语言的时间、日期格式 (2)

1.5.7参数中有缺省值的可以不用输入 (2)

1.5.8可以带参数名输入 (3)

1.5.9Showblank参数 (3)

1.5.10交易接口中Showfields参数 (3)

1.5.11ErrorCode定义 (4)

2WIND PY插件命令说明 (1)

2.1FROM W IND P Y IMPORT *:装载W IND P Y包 (1)

2.2W.START:启动W IND P Y (1)

2.3W.STOP:停止W IND P Y (2)

2.4W.ISCONNECTED:判断是否已经登录 (2)

2.5W.CANCEL R EQUEST:取消订阅 (2)

2.6W.WSD:获取历史序列数据 (3)

2.7W.WSI:获取分钟数据 (3)

2.8W.WST:获取日内TICK级别数据 (4)

2.9W.WSS:获历史截面数据 (5)

2.10W.WSQ:获取和订阅实时行情数据 (5)

2.11W.WSET:获取板块、指数等成分数据 (6)

2.12W.WEQS:获取条件选股结果 (7)

2.13W.WPF:获取资产管理、组合管理数据 (7)

2.14交易相关函数 (8)

2.14.1w.tlogon交易登录 (8)

2.14.2w.tlogout交易登出 (9)

2.14.3w.torder委托下单 (10)

2.14.4w.tcancel撤销委托 (11)

2.15W.TDAYS, W.TDAYSOFFSET,W.TDAYSCOUNT:日期函数 (14)

2.15.1w.tdays:返回区间内的日期序列 (14)

2.15.2w.tdaysoffset:返回某个偏移值对应的日期 (14)

2.15.3w.tdayscount:返回某个区间内日期数量 (15)

3WINPY插件函数体说明 (1)

3.1日期序列(WSD) (1)

3.2历史截面数据(WSS) (3)

3.3分钟序列(WSI) (3)

3.4日内跳价(WST) (4)

3.5实时数据(WSQ) (5)

3.6数据集(WSET) (6)

3.7条件选股(WEQS) (6)

3.8资管函数(WPF) (6)

3.8.1组合上传函数(wupf) (7)

3.9交易函数 (10)

3.9.1登录(tlogon) (10)

3.9.2登出(tlogout) (11)

3.9.3下单(torder) (11)

3.9.4撤单(tcancel) (13)

3.9.5查询(tquery) (13)

3.10日期函数 (15)

3.10.2日期偏移函数(TDAYSOFFSET) (16)

3.10.3交易日统计(TDAYSCOUNT) (16)

3.11日期宏 (17)

3.11.1通用日期宏 (17)

3.11.2特殊日期宏 (18)

4WINDPYTHON应用案例 (20)

5常见问题 (21)

5.1交易接口查询返回的数据字段 (21)

5.1.1资金查询返回消息 (21)

5.1.2持仓查询返回消息 (22)

5.1.3当日委托查询返回消息 (23)

5.1.4当日成交查询返回消息 (25)

5.1.5营业部查询返回消息 (27)

5.1.6股东查询返回消息 (27)

5.1.7券商(期货商)信息返回 (27)

5.1.8已登录账户信息返回 (28)

1.1WindPy接口概述

2013年7月,我们推出Python数据接口 Beta版本,在支持多种量化研究工具方面又有所提升,用户可以借助强大的Python软件包,实现各种金融建模需求。

2013年9月,我们推出Python交易接口,支持向量化下单。

1.2.1W indPy对系统环境要求

●Windows 系统,支持32位和64位系统;

●Python 2.6,2.7,3.3以上的环境;由于各版本对中文支持力度不同,

用户需自行注意。

●Wind终端最新版2013年9月27日后版本;

●安装时由于需要写注册表,因此需要系统管理员权限。

1.2.2P ython环境安装

Python是一个古老、成熟的脚本语言,拥有大量的工具包,是在GNU协议下免费发行的软件。与Matlab、R相比,Python具有更好的开放性,更适合作为一个集成平台,在金融工程领域具有很强的应用前景。

Python官方下载地址为https://www.wendangku.net/doc/547901254.html,/。进入到该界面后,点击相应版本,按照要求即可下载。具体请看以下界面。一般使用用户较多的是2.6和2.7两个版本。

下载后,直接运行即可。运行时需要写注册表,因此最好拥有系统管理员权限,否则可能需要手工安装WindPy插件。

1.2.3正常WindPy接口安装

1)确保达到1.2.1中的安装要求,并确保关闭Python环境,以及用到控

件的Matlab/R/c++环境等;

2)打开Wind资讯终端,点击“量化”选项,出现下方的界面,点击“Python

接口”,会弹出接口的相关说明;

3)用户可以在终端“我的”或“量化”菜单下选择“修复插件”>“修复

Python”,或者输入“Repair Py”命令,会出现下面的界面:

注册成功对话框:

(对于64位操作系统,可能有两次注册)

Python插件安装对话框:

4)按任意键结束WindPy安装过程。

1.2.4特殊安装WindPy方式

1)确保达到1.2.1中的安装要求,并确保关闭Python环境。

2)假设Wind终端安装在C:\Wind\https://www.wendangku.net/doc/547901254.html,.Client\WindNET目录

(目录下有bin等等子目录),Python安装在C:\python28目录。

首先通过Windows进入cmd命令,然后输入如下命令即可:

"C:\Python28\python.exe"

"C:\Wind\https://www.wendangku.net/doc/547901254.html,.Client\WindNET\bin\installWindPy.

py" "c:\wind\https://www.wendangku.net/doc/547901254.html,.client\windnet"

3)按任意键WindPy安装过程结束。

1.2.5代码生成器

代码生成器是Wind数据及交易接口的最好帮助手册,可以自动为用户产生各种命令,是熟悉WindPy的必要手段。代码生成器(WindNavigator.exe)

一般在终端安装目录的bin目录下,如:

C:\Wind\https://www.wendangku.net/doc/547901254.html,.Client\WindNET\bin\WindNavigator.exe 具体位置跟您安装Wind资讯金融终端的位置有关,或在终端输入“CG”命令。代

码生成器的截面如下图:

1.2.6 WindPy获取帮助途径

用户可以通过如下方式获取帮助。

(1)本用户手册

本用户手册会介绍产品的功能和用户经常反馈的信息。查看本手册是一个不错的学习途径。对于第一次使用者来说,请从本手册开始浏览,这样不会错过一些重要的信息。

(2)iWind交流群

用户可以通过iwind申请加入中国量化交易群(群号59289),R交流群(群号60747)和Python交流(群号61862),在这三个群中学习Python接口使用和量化交易知识。

1.3WindPy接口相关规范

1.3.1以下所有命令都有如下假设

from WindPy import w

from datetime import *

1.3.2命令区分大小写,且“w.”不能省略

如:w.tdaysoffset(-1)不能写成tdaysoffset(-1),或者w.TDaysOffset(-1);

1.3.3中文以及单字节码和双字节码的问题

中文常使用双字节编码,这在Python中使用时就会错误。比如引号、逗号、括号等;

输入的字符串中若存在中文,有的平台可以直接输入中文,而有的需要使用unicode编码,即如:u”上证50”

1.3.4Python

2.x系统默认编码问题

Python 2.x在安装时,默认的编码是ASCII,Python自然调用ASCII编码解码程序去处理字符流,当字符流不属于ASCII范围时就会抛出异常。由于wind接口采用GBK编码,在设置默认编码时一般设置为utf-8编码格式。可在python的Lib\site-packages文件夹下新建sitecustomize.py文件,在python启动时,系统自行调用该文件来设置默认编码,文件内容如下#encoding=utf-8

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

精于数据,一直进步

1.3.5品种、指标、参数等引号内的部分不区分大小写

比如w=w.wsd("090007.IB", "close", "2016-07-11", "2016-08-09", "TradingCalendar=SZSE;PriceAdj=F")

和w.wsd("090007.IB", "CLOSE", "2016-07-11", "2016-08-09", "TradingCalendar=szse;PriceAdj=f")一样;

1.3.6参数支持list输入

比如w.wss("600000.SH,600005.SH,600004.SH,600007.SH","roe_avg,roa","rptDate=20121231")

可以写成:

code=['600000.SH','600005.SH','600004.SH']

field=['roe_avg','roa']

w.wss(code,field,"rptDate=20121231")

1.3.7时间、日期支持Python语言的时间、日期格式

比如w.wsd('600000.SH','open','20130505')

也可以写成w.wsd('600000.SH','close','20130303',datetime.today())

1.3.8参数中有缺省值的可以不用输入

比如w.wsd定义为w.wsd(codes, fields, beginTime, endTime = None, options = None),可选参数和结束时间都有缺

省值,因此用户可以不输入可选参数,也可以不输入结束时间。不输入时使用缺省值。

如:w.wsd('600000.SH','open','20130505')等同于w.wsd('600000.SH','open','20130505',datetime.today());

精于数据,一直进步

1.3.9可以带参数名输入

比如w.wsd定义为w.wsd(codes, fields, beginTime, endTime = None, options = None)。

w.wsd("600000.SH","high","2013-05-09",datetime.today(),"Period=W") 等同于

w.wsd("600000.SH","high","2013-05-09",datetime.today(),options="Period=W")等同于

w.wsd("600000.SH","high","2013-05-09",options="Period=W",endTime=datetime.today())

带参数名输入后,参数顺序就可以变化;

1.3.10showblank参数

showblank参数可以指定对返回的NaN单元进行特别处理,如:

把NaN用-1替换:

w.wsd('600001.sh','open,close','20130707','20130909','showblank=-1');

或w.wsd('600001.sh','open,close','20130707','20130909',showblank=-1);

把NaN用0替换:

w.wsd('600001.sh','open,close','20130707','20130909','showblank=0');

或w.wsd('600001.sh','open,close','20130707','20130909',showblank=0);

1.3.11交易接口中Showfields参数

交易接口返回的内容的指标根据具体情况会有变化,而有的情况下,客户需要指定确切的返回字段和顺序,此时可以使用精于数据,一直进步

showfields参数。如:

w.tquery(1,logonid=1,'showfields=securitycode,Profit,securityBalance')

或:w.tquery(1,logonid=1,showfields='securitycode,Profit,securityBalance')

1.3.12ErrorCode定义

可在“代码生成器》工具》错误查找”中查询

ErrorCode=0表示操作成功。

其他:

-40520001 未知错误-40520002 内部错误

-40520003 系统错误-40520004 登录失败

-40520005 无权限-40520006 用户取消

-40520007 无数据-40520008 超时错误 -40521010 超时错误-40520009 本地WBOX错误-40520010 需要内容不存在

-40520011 需要服务器不存在-40520012 引用不存在

-40520013 其他地方登录错误-40520014 未登录使用WIM工具,故无法登录-40520015 连续登录失败次数过多

精于数据,一直进步

-40521001 IO操作错误-40521002 后台服务器不可用

-40521003 网络连接失败-40521004 请求发送失败

-40521005 数据接收失败-40521006 网络错误

-40521007 服务器拒绝请求-40521008 错误的应答

-40521009 数据解码失败-40521010 网络超时

-40521011 频繁访问

-40522001 无合法会话-40522002 非法数据服务

-40522003 非法请求-40522004 万得代码语法错误

-40522005 不支持的万得代码-40522006 指标语法错误

-40522007 不支持的指标-40522008 指标参数语法错误

-40522009 不支持的指标参数-40522010 日期与时间语法错误-40522011 不支持的日期与时间-40522012 不支持的请求参数

精于数据,一直进步

-40522013 数组下标越界-40522014 重复的WQID

-40522015 请求无相应权限-40522016 不支持的数据类型-40522017 数据提取量超限

精于数据,一直进步

2Wind Py插件命令说明

在手册中,有些带有中文内容的命令不能运行,此时请尝试把非unicode改成unicode,或者unicode改成非unicode,也即在字符串前增加或删除“u”。

如:w.wset("SectorConstituent", u"date=20130608;sector=风险警示股票;field=wind_code,sec_name")

改成w.wset("SectorConstituent","date=20130608;sector=风险警示股票;field=wind_code,sec_name")

2.1from WindPy import *:装载WindPy包

在具体运行各种命令前,用户首先应装载WindPy包。

实例:from WindPy import *

2.2w.start:启动WindPy

在真正开始操作之前,可以使用该命令登录并启动windPy插件。

实例:from WindPy import *

w.start();#命令超时时间为120秒

w.start(waitTime=60);#命令超时时间设置成60秒

注:

w.start不重复启动,若需要改变参数,如超时时间,用户可以使用w.stop命令先停止后再启动。

精于数据,一直进步

相关文档