调取pro版数据

下面介绍两种常用的数据调取方式:

  • 通过tushare python包
  • 使用http协议直接获取

注:pro版数据接口采用语言无关的http协议实现,SDK当前以Python为主,有兴趣的同学可以开发其他语言版本。

前提条件

1、已经注册了tushare社区用户 【注册用户
2、已经获取到tushare token凭证 【获取token

Python SDK

下载SDK

下载并安装最新版tushare SDK 【安装和升级方法

导入tushare

import tushare as ts

这里注意, tushare版本需大于1.2.10

设置token

ts.set_token('your token here')

以上方法只需要在第一次或者token失效后调用,完成调取tushare数据凭证的设置,正常情况下不需要重复设置。也可以忽略此步骤,直接用pro_api('your token')完成初始化

初始化pro接口

pro = ts.pro_api()

如果上一步骤ts.set_token('your token')无效或不想保存token到本地,也可以在初始化接口里直接设置token:

pro = ts.pro_api('your token')

数据调取

以获取交易日历信息为例:

df = pro.trade_cal(exchange_id='', start_date='20180901', end_date='20181001', fields='exchange_id,cal_date,is_open,pretrade_date', is_open='0')

或者

df = pro.trade_cal(exchange_id='', start_date='20180901', end_date='20181001', fields='exchange_id,cal_date,is_open,pretrade_date', is_open='0')

调取结果:

    exchange_id  cal_date    is_open pretrade_date
0          SSE       20180901        0      20180831
1          SSE       20180902        0      20180831
2          SSE       20180908        0      20180907
3          SSE       20180909        0      20180907
4          SSE       20180915        0      20180914
5          SSE       20180916        0      20180914
6          SSE       20180922        0      20180921
7          SSE       20180923        0      20180921
8          SSE       20180924        0      20180921
9          SSE       20180929        0      20180928
10         SSE       20180930        0      20180928
11         SSE       20181001        0      20180928

HTTP协议方式

http restful 采用post方式,通过json body传入接口参数,请求地址为http://api.tushare.pro

输入参数

  • api_name,接口名称;
  • token,用于识别唯一用户的标识;
  • params,接口参数,如daily接口中start_date和end_date;
  • fields,字段列表,用于接口获取指定的字段,以逗号分隔,如"open,high,low,close";

输出参数

  • code: 接口返回码;
  • msg: 错误信息;
  • data: 具体数据,成功的请求包含fields和items字段,fields与items数据一一对齐;

示例

采用命令行工具curl的请求示例如下:

curl -X POST -d '{"api_name": "trade_cal", "token": "xxxxxxxx", "params": {"exchange_id":"", "start_date":"20180901", "end_date":"20181001", "is_open":"0"}, "fields": "exchange_id,cal_date,is_open,pretrade_date"}' http://api.tushare.pro

返回结果:

{
    "code":0,
    "msg":null,
    "data":{
        "fields":[
            "exchange_id",
            "cal_date",
            "is_open",
            "pretrade_date"
        ],
        "items":[
            [
                "SSE",
                "20180901",
                0,
                "20180831"
            ],
            [
                "SSE",
                "20180902",
                0,
                "20180831"
            ],
            [
                "SSE",
                "20180908",
                0,
                "20180907"
            ],

            ...

            [
                "SSE",
                "20180929",
                0,
                "20180928"
            ],
            [
                "SSE",
                "20180930",
                0,
                "20180928"
            ],
            [
                "SSE",
                "20181001",
                0,
                "20180928"
            ]
        ]
    }
}
置顶