WINDAPI读取期货交易数据
本文参考 进行一些改动和细化 主要为了能够读取期货品种的昨结今结
另外安装WIND财经windows终端的情况下,查询相应文档的路径是
“量化-数据接口-API接口(API)”,“量化-数据接口-代码生成器”,WIND本身提供VBA, C#,C++,Python,R和MATLAB这几个接口,视方便可选用WindAPI文档_小黄人的黄的博客-CSDN博客_wind的apipython - WindAPI文档https://blog.csdn.net/Minion_Yellow/article/details/105679716
测试环境:
Windows+Python 3.7
from WindPy import w
import pandas as pd
import numpy as npw.start() # 必须 需要登陆WIND账户
w.isconnected() # 判断WindPy是否已经登录成功
1.简单测试读取
codes = ["PP2203"]
fields = ["CLOSE"]
beginTime='2021-08-01'
endTime='2022-03-02'
w.wsd(codes, fields, beginTime, endTime)
返回数据应该为
.ErrorCode=0
.Codes=[PP2203]
.Fields=[CLOSE]
.Times=[20210802,20210803,20210804,20210805,20210806,20210809,20210810,20210811,20210812,20210813,...]
.Data=[[None,None,None,None,None,None,None,None,None,None,...]]
其中ErrorCode=0代表读取成功,如果读取数据超限,ErrorCode=40XXXXX之类的数字
注意到Data数据全部为None,为什么呢?
2.读取期货多列数据
# 不加交易所的话 无法提取对应的数据
# Y2203.DCE会成功,Y2203会失败
w.wsd("Y2203.DCE", "close,pre_settle,settle,trade_code,windcode,open,high,low", "2022-02-05", "2022-03-03", "")
这样就可以成功返回多列数据了
.ErrorCode=0
.Codes=[Y2203.DCE]
.Fields=[CLOSE,PRE_SETTLE,SETTLE,TRADE_CODE,WINDCODE,OPEN,HIGH,LOW,LASTRADEDAY_S,FIRSTRADEDAY_S,...]
.Times=[20220207,20220208,20220209,20220210,20220211,20220214,20220215,20220216,20220217,20220218,...]
.Data=[[10320.0,10162.0,10088.0,10124.0,10102.0,10256.0,10260.0,10288.0,10354.0,10510.0,...],[9970.0,10432.0,10286.0,10040.0,10148.0,10110.0,10206.0,10200.0,10178.0,10320.0,...],[10432.0,10286.0,10040.0,10148.0,10110.0,10206.0,10200.0,10178.0,10320.0,10426.0,...],[Y2203,Y2203,Y2203,Y2203,Y2203,Y2203,Y2203,Y2203,Y2203,Y2203,...],[Y2203.DCE,Y2203.DCE,Y2203.DCE,Y2203.DCE,Y2203.DCE,Y2203.DCE,Y2203.DCE,Y2203.DCE,Y2203.DCE,Y2203.DCE,...],[10256.0,10320.0,10116.0,10156.0,10148.0,10182.0,10206.0,10192.0,10294.0,10410.0,...],[10648.0,10418.0,10116.0,10202.0,10182.0,10372.0,10260.0,10296.0,10412.0,10518.0,...],[10256.0,10134.0,9920.0,10046.0,10010.0,10150.0,10148.0,10016.0,10244.0,10384.0,...],[2022-02-07 00:00:00,2022-02-08 00:00:00,2022-02-09 00:00:00,2022-02-10 00:00:00,2022-02-11 00:00:00,2022-02-14 00:00:00,2022-02-15 00:00:00,2022-02-16 00:00:00,2022-02-17 00:00:00,2022-02-18 00:00:00,...],[None,None,None,None,None,None,None,None,None,None,...],...]
需要注意的是,使用wsd命令时,多个字段情况下,只能每次查询一个代码,也就是说,Y2203和Y2204要分两次查询,请特别注意
3.将得到的数据转换为 dataframe(供参考)
以股票数据为例
w_data = w.wsd("000002.SZ", "trade_code,sec_name,compindex2,indexweight", "2022-02-02", "2022-05-06", "index=3;unit=1;windCode3=000300.SH")
df = pd.DataFrame(w_data.Data,index=w_data.Fields, columns=w_data.Times).T
print(df)
这样就可以得到对应的dataframe了 ,然后操作起来就方便很多
4.不同品种对应的交易所,也稍微发一下
"exchange": {"SHF": ["CU","AL","ZN","PB","AU","AG","RB","WR","FU","RU","BU","HC","NI","SN","SP","SS"], "INE": ["SC","NR","LU","BC"],"DCE": ["C","A","B","M","Y","P","L","V","J","JM","FB","BB","I","JD","PP","CS","EG","RR","EB","PG","LH"],"CZC": ["WH","PM","CF","SR","TA","OI","RI","MA","FG","RS","RM","JR","LR","SF","SM","ZC","CY","AP","CJ","UR","SA","PF","PK"],"CFE": ["IF","IC","IH","T","TS","TF","IO"],"SH": ["510050"]},
以上,完结撒花。
WINDAPI读取期货交易数据相关推荐
- TensorFlow csv读取文件数据(代码实现)
TensorFlow csv读取文件数据(代码实现) 大多数人了解 Pandas 及其在处理大数据文件方面的实用性.TensorFlow 提供了读取这种文件的方法. 前面章节中,介绍了如何在 Tens ...
- SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题...
转:http://blog.csdn.net/miragesky2049/article/details/7204882 SharePoint2010沙盒解决方案基础开发--关于TreeView树形控 ...
- Kinect V1读取图像数据(For Windows)
Kinect V1读取图像数据(For Windows) 这篇博客 Kinect V1介绍 数据读取的基本流程 运行代码和注释 结尾 这篇博客 刚好有一台现成的Kinect V1相机,所以就拿过来学 ...
- C++ 简单读写文本文件、统计文件的行数、读取文件数据到数组
转自:http://hi.baidu.com/ctralt/blog/item/cde79fec87f841302697911c.html fstream提供了三个类,用来实现c++对文件的操作.(文 ...
- 图像数据读取及数据扩增方法
Datawhale干货 作者:王程伟,Datawhale成员 本文为干货知识+竞赛实践系列分享,旨在理论与实践结合,从学习到项目实践.(零基础入门系列:数据挖掘/cv/nlp/金融风控/推荐系统等,持 ...
- 操作系统学习:Linux0.12初始化详细流程-进程1调度与读取硬盘数据
本文参考书籍 1.操作系统真相还原 2.Linux内核完全剖析:基于0.12内核 3.x86汇编语言 从实模式到保护模式 4.Linux内核设计的艺术 ps:基于x86硬件的pc系统 Linux0.1 ...
- android读取excel数据库,Android 读取Excel数据并保存在本地数据库
在工作中遇到需要将Excel的数据读取出来并保存在本地数据库中的操作,数据如下: 图片.png 需要做以下准备: 读取Excel的jar包[文章末尾会分享该jar包] 保存数据的数据库框架,在这里我们 ...
- pandas使用read_csv读取文件数据、设置converters参数将百分比字符串转换为数字
pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为数字 目录 pandas使用read_csv读取文件数据.设置converters参数将百分比字符串转换为 ...
- 读取串口数据_自定义串口通信的相关问题整理
串口通信是常见的通信方式,串口接口是大部分工控器件标配的通信接口.在项目开发的过程中,也经常遇到进行串口通信的处理.这里就串口通信的部分问题分享给大家. 1.TTL.RS232.RS422.RS458 ...
最新文章
- java 类中构造函数的讲解
- Yii::app()-request-getParam($name, $defaultValue)
- html5游戏引擎-Pharse.js学习笔记(一)
- 【拯救赵明】全面防护网络***服务器负载及安全解决方案
- leetcode 872. 叶子相似的树(dfs)
- Java Singleton类中的线程安全性的示例代码
- 自媒体玩到最后玩的是一种意识
- 精通开关电源设计第三版pdf_看漫画,学电源(一)丨线性电源与开关电源的构造...
- 循环队列 - 顺序存储结构
- 深度学习之激活函数详解
- 思科认证CCNA专业英文词汇全集(4)
- php读取西门子plc_第三方设备如何读取PLC数据
- idea合并svn不同分支_如何在Intellij IDEA中使用svn合并分支到主干?
- hashcat破解密码规则示例
- java导出出行客人到Excel
- python怎么打开h5文件_python中利用h5py模块读取h5文件中的主键方法
- 使用Lumberjack进行日志切割归档
- 2020年我国知识产权服务业市场现状分析,区域发展不平衡、地域性强「图」
- Java内部类与异常类(上机实践二)
- 网鼎杯 Comment 解题记录