class: center, middle, inverse, title-slide # Python与Wind金融终端 ### 吴燕丰 ### 江西财大,金融学院 ### 2020/12/17 --- ### Wind金融终端 .center[ <img width=650 src='./images/wind_quant.png'> ] --- ### 示例 ```python from WindPy import w w.start() # 默认命令超时时间为120秒,如需设置超时时间可以加入waitTime参数,例如waitTime=60,即设置命令超时时间为60秒 w.isconnected() # 判断WindPy是否已经登录成功 w.stop() # 当需要停止WindPy时,可以使用该命令 ``` 注意: WindPy安装与一般情况不一样。 假设: - Anaconda版本Python安装在`C:\Users\xmlon\Anaconda3`目录 - Wind终端安装在`C:\Wind\WInd.NET.Client\WindNET`目录(目录下有bin等等子目录) ```bash C:\Users\xmlon\Anaconda3\python.exe C:\Wind\Wind.NET.Client\WindNET\bin\installWindPy.py C:\wind\wind.net.client\windnet ``` --- ### 获取日时间序列函数WSD `w.wsd(codes, fields, beginTime, endTime, options)` ```python # 任取一只国债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() ``` <br><br><br> 支持股票、债券、基金、期货、指数等多种证券的基本资料、股东信息、市场行情、证券分析、预测评级、财务数据等各种数据。wsd可以支持取 多品种单指标 或者 单品种多指标 的时间序列数据。 --- ### 获取日截面数据函数WSS `w.wss(codes, fields, option)` ```python # 取被动指数型基金最新业绩排名 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) ``` <br><br><br> 同样支持股票、债券、基金、期货、指数等多种证券的基本资料、股东信息、市场行情、证券分析、预测评级、财务数据等各种数据。但是WSS支持取多品种多指标某个时间点的截面数据。 --- ### 获取分钟序列数据函数WSI `w.wsi(codes, fields, beginTime, endTime, options)` ```python # 取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内置的日期函数,表示当前时刻。 ``` --- ### 获取日内tick数据函数WST `w.wst(codes, fields, beginTime, endTime, options)` ```python # 提取平安银行(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最新价,amt成交额,volume成交量 # bid1 买1价,bsize1 买1量 # ask1 卖1价, asize1 卖1量 codes="000001.SZ" fields="last,bid1,ask1" w.wst(codes,fields,begintime,endtime) ``` <br><br><br> 用获取国内七个交易所(上海交易所、深圳交易所、郑商所、上金所、上期所、大商所、上金所)证券品种的日内盘口买卖五档快照数据和分时成交数据(tick数据). --- ### 其他的方法 |方法名称|使用语法| |--------|--------| |实时行情数据函数 WSQ|w.wsq(codes, fields, options, func)| |获取板块日序列数据函数WSES|w.wses(codes, fields, beginTime, endTime, options)| |获取板块日截面数据函数WSEE|w.wsee(codes, fields, options)| |获取报表数据函数WSET|w.wset(tableName, options)| |获取全球宏观经济数据函数EDB|获取全球宏观经济数据函数EDB| |获取历史新闻数据函数WND|w.wnd(codes, beginTime, endTime, options)| |获取实时新闻数据函数WNQ|w.wnq(codes, options, func)| |获取新闻内容数据函数WNC|w.wnc(newsID, options)| --- ### 其他的方法 |方法名称|使用语法| |--------|--------| |交易登录函数tlogon|w.tlogon(BrokerID, DepartmentID, LogonAccount, Password, AccountType, options, func)| |交易登出函数tlogout|w.tlogout(LogonID, options)| |交易委托下单函数torder|w.torder(SecurityCode, TradeSide, OrderPrice, OrderVolume, options)| |交易撤销委托函数tcancel|w.tcancel(OrderNumber, options)| |交易情况查询函数tquery|w.tquery(qrycode, options)| --- ### 其他的方法 |方法名称|使用语法| |--------|--------| |获取组合报表数据函数WPF|w.wpf(productname, tablename, options)| |获取组合多维数据函数WPS|w.wps(PortfolioName, fields, options)| |获取组合序列数据函数WPD|w.wpd(PortfolioName, fields, beginTime, endTime, options)| |组合上传函数WUPF|wupf(PortfolioName, TradeDate, WindCode, Quantity, CostPrice, options)| | --- ### 其他的方法 |方法名称|使用语法| |--------|--------| |获取区间内日期序列tdays|w.tdays(beginTime , endTime, options)| |获取某一偏移值对应的日期tdaysoffset|w.tdaysOffset(offset, beginTime, options)| |获取某个区间内日期数量tdayscount|w.tdayscount(beginTime, endTime, options)| --- ### 日期宏说明 #### 通用日期宏 支持相对日期表达方式,相对日期周期包括: |中文|简写| |中文|简写| |中文|简写| |中文|简写| |----|----|---|----|----|---|----|----|---|----|----| |交易日|TD| |日历日|D| |日历周|W| |日历月|M| |日历季|Q| |日历半年|S| |日历年|Y| || | --- ### 日期宏说明(续) #### 相关说明 - 以 '-' 代表前推,数字代表N个周期,只支持整数;后推没有负号,比如’-5D’表示从当前最新日期前推5个日历日; - 截止日期若为’’空值,取系统当前日期; - 可对日期宏进行加减运算,比如’ED-10d’。 #### 举例: - 起始日期为1个月前,截至日期为最新 StartDate='-1M', EndDate='' - 起始日期为前推10个交易日,截至日期为前推5个交易日 StartDate='-10TD',EndDate='-5TD' --- ### 日期宏说明(续) #### 特殊日期宏 |宏名称|助记符|宏名称|助记符|宏名称|助记符| |------|------|------|------|------|------| |截止日期|ED|今年一季|RQ1|本月初|RMF| |开始日期|SD|今年二季|RQ2|本周一|RWF| |去年一季|LQ1|今年三季|RQ3|上周末|LWE| |去年二季|LQ2|最新一期|MRQ|上月末|LME| |去年三季|LQ3|本年初|RYF|上半年末|LHYE| |去年年报|LYR|下半年初|RHYF|上年末|LYE| |上市首日|IPO| --- ### 示例 ```python # 用日期宏IPO的示例,获取股票600039.SH上市首日至20180611的收盘价 error_code,data=w.wsd("600039.SH", "close", 'IPO', "2018-06-11", usedf=True) data.head() # 用日期宏本月初的示例,获取000001.SZ本月初至20180611的收盘价 from datetime import datetime td = datetime.today().strftime("%Y%m%d") error_code,data=w.wsd("600039.SH", "close", 'RMF', td, usedf=True) data ``` --- ### 参考资料及Wind Quant(万矿) - [WindPy数据API使用说明](https://www.windquant.com/qntcloud/help/id-395c28d5-d7d5-4f2d-b926-157e2696cf3c) - [WindQuant(万矿)简介](https://www.windquant.com/qntcloud/help/id-368ee499-b10b-4a6a-930b-91fed2f473a4) --- ### Wind金融终端--股票 .center[ <img width=650 src='./images/wind_stock.png'> ] --- ### Wind金融终端--债券 .center[ <img width=650 src='./images/wind_bond.png'> ] --- ### Wind金融终端--企业 .center[ <img width=650 src='./images/wind_enterprise.png'> ] --- ### Wind金融终端--商品 .center[ <img width=650 src='./images/wind_commodity.png'> ] --- ### Wind金融终端--外汇 .center[ <img width=650 src='./images/wind_fx.png'> ] --- ### Wind金融终端--基金 .center[ <img width=650 src='./images/wind_fund.png'> ] --- ### Wind金融终端--指数 .center[ <img width=650 src='./images/wind_index.png'> ] --- ### Wind金融终端--新闻 .center[ <img width=650 src='./images/wind_news.png'> ] --- ### Wind金融终端--宏观 .center[ <img width=650 src='./images/wind_macro.png'> ] --- ### Wind金融终端--资管 .center[ <img width=650 src='./images/wind_portfolio.png'> ] --- ### Wind金融终端--市场 .center[ <img width=650 src='./images/wind_market.png'> ]