股票数据格式说明

时间:2024-02-20 11:02:46

交易数据

交易类数据提供股票的交易行情数据,通过简单的接口调用可获取相应的DataFrame格式数据,主要包括以下类别:

  • 历史行情数据
  • 复权历史数据
  • 实时行情数据
  • 历史分笔数据
  • 实时报价数据
  • 当日历史分笔
  • 大盘指数列表
  • 大单交易数据

历史行情

在新版0.5.6中,已经新增了一个接口:get_k_data,建议使用全新接口。

含义是获取k线数据,所以起了这么一个简单的名称。虽然一贯的不标准,不规范,但主要看气质,主要看数据。
新接口融合了get_hist_data和get_h_data两个接口的功能,即能方便获取日周月的低频数据,也可以获取5、15、30和60分钟相对高频的数据。同时,上市以来的前后复权数据也能在一行代码中轻松获得,当然,您也可以选择不复权。

参数说明:

  • code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
  • start:开始日期,格式YYYY-MM-DD
  • end:结束日期,格式YYYY-MM-DD
  • autype: 复权类型,qfq-前复权 hfq-后复权 None-不复权,默认为qfq
  • ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
  • index: 是否为指数,默认为False设定为True时认为code为指数代码
  • retry_count:当网络异常后重试次数,默认为3
  • pause:重试时停顿秒数,默认为0

返回值说明:

  • date:日期
  • open:开盘价
  • high:最高价
  • close:收盘价
  • low:最低价
  • volume:成交量
  • price_change:价格变动
  • p_change:涨跌幅
  • ma5:5日均价
  • ma10:10日均价
  • ma20:20日均价
  • v_ma5:5日均量
  • v_ma10:10日均量
  • v_ma20:20日均量
  • turnover:换手率[注:指数无此项]

调用方法:

要点1、index=True时,接口会自动匹配指数代码例如,要获取上证综指行情,调用方法为:ts.get_k_data(\'000001\', index=True)
目前支持567个指数行情
2、index=True时,没有复权数据,即autype无效
3、本接口的复权数据由数据源直接提供,区别于get_h_data是通过复权因子实时计算
4、几种常见的调用方法1)获取浦发银行近一年半的前复权日线行情:ts.get_k_data(\'600000\')
2)获取浦发银行近6年后复权周线行情:ts.get_k_data(\'600000\', ktype=\'W\', autype=\'hfq\')
3)获取浦发银行近期5分钟行情:ts.get_k_data(\'600000\', ktype=\'5\')
4)获取沪深300指数10月份日线行情:ts.get_k_data(\'399300\', index=True,start=\'2016-10-01\', end=\'2016-10-31\')
5)获取鹏华银行分级B的60分钟行情:ts.get_k_data(\'150228\', ktype=\'60\')

设定历史数据的时间:
ts.get_hist_data(\'600848\',start=\'2015-01-05\',end=\'2015-01-09\')

            open    high   close     low    volume     p_change     ma5    ma10 \
date
2015-01-05  11.160  11.390  11.260  10.890  46383.57     1.26  11.156  11.212
2015-01-06  11.130  11.660  11.610  11.030  59199.93     3.11  11.182  11.155
2015-01-07  11.580  11.990  11.920  11.480  86681.38     2.67  11.366  11.251
2015-01-08  11.700  11.920  11.670  11.640  56845.71    -2.10  11.516  11.349
2015-01-09  11.680  11.710  11.230  11.190  44851.56    -3.77  11.538  11.363
            ma20     v_ma5    v_ma10     v_ma20      turnover
date
2015-01-05  11.198  58648.75  68429.87   97141.81     1.59
2015-01-06  11.382  54854.38  63401.05   98686.98     2.03
2015-01-07  11.543  55049.74  61628.07  103010.58     2.97
2015-01-08  11.647  57268.99  61376.00  105823.50     1.95
2015-01-09  11.682  58792.43  60665.93  107924.27     1.54

其他:

ts.get_hist_data(\'600848\', ktype=\'W\') #获取周k线数据
ts.get_hist_data(\'600848\', ktype=\'M\') #获取月k线数据
ts.get_hist_data(\'600848\', ktype=\'5\') #获取5分钟k线数据
ts.get_hist_data(\'600848\', ktype=\'15\') #获取15分钟k线数据
ts.get_hist_data(\'600848\', ktype=\'30\') #获取30分钟k线数据
ts.get_hist_data(\'600848\', ktype=\'60\') #获取60分钟k线数据
ts.get_hist_data(\'sh\')#获取上证指数k线数据,其它参数与个股一致,下同
ts.get_hist_data(\'sz\')#获取深圳成指k线数据
ts.get_hist_data(\'hs300\')#获取沪深300指数k线数据
ts.get_hist_data(\'sz50\')#获取上证50指数k线数据
ts.get_hist_data(\'zxb\')#获取中小板指数k线数据
ts.get_hist_data(\'cyb\')#获取创业板指数k线数据

复权数据

获取历史复权数据,分为前复权和后复权数据,接口提供股票上市以来所有历史数据,默认为前复权。如果不设定开始和结束日期,则返回近一年的复权数据,从性能上考虑,推荐设定开始日期和结束日期,而且最好不要超过三年以上,获取全部历史数据,请分年段分步获取,取到数据后,请及时在本地存储。获取个股首个上市日期,请参考以下方法:

df = ts.get_stock_basics()
date = df.ix[\'600848\'][\'timeToMarket\'] #上市日期YYYYMMDD

本接口还提供大盘指数的全部历史数据,调用时,请务必设定index参数为True,由于大盘指数不存在复权的问题,故可以忽略autype参数。

ts.get_h_data(\'002337\') #前复权
ts.get_h_data(\'002337\', autype=\'hfq\') #后复权
ts.get_h_data(\'002337\', autype=None) #不复权
ts.get_h_data(\'002337\', start=\'2015-01-01\', end=\'2015-03-16\') #两个日期之间的前复权数据

ts.get_h_data(\'399106\', index=True) #深圳综合指数

参数说明:

  • code:string,股票代码 e.g. 600848
  • start:string,开始日期 format:YYYY-MM-DD 为空时取当前日期
  • end:string,结束日期 format:YYYY-MM-DD 为空时取去年今日
  • autype:string,复权类型,qfq-前复权 hfq-后复权 None-不复权,默认为qfq
  • index:Boolean,是否是大盘指数,默认为False
  • retry_count : int, 默认3,如遇网络等问题重复执行的次数
  • pause : int, 默认 0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题

返回值说明:

  • date : 交易日期 (index)
  • open : 开盘价
  • high : 最高价
  • close : 收盘价
  • low : 最低价
  • volume : 成交量
  • amount : 成交金额

结果:

            open   high  close    low     volume      amount
date
2015-03-16  13.27  13.45  13.39  13.00   81212976  1073862784
2015-03-13  13.04  13.38  13.37  13.00   40548836   532739744
2015-03-12  13.29  13.95  13.28  12.96   71505720   962979904
2015-03-11  13.35  13.48  13.15  13.00   59110248   780300736
2015-03-10  13.16  13.67  13.59  12.72  105753088  1393819776
2015-03-09  13.77  14.73  14.13  13.70  139091552  1994454656
2015-03-06  12.17  13.39  13.39  12.17   89486704  1167752960
2015-03-05  12.79  12.80  12.17  12.08   26040832   966927360
2015-03-04  13.96  13.96  13.30  12.58   26636174  1060270720
2015-03-03  12.17  13.10  13.10  12.05   19290366   733336768

 

ts.get_hist_data(\'cyb\')#获取创业板指数k线数据

复权数据

获取历史复权数据,分为前复权和后复权数据,接口提供股票上市以来所有历史数据,默认为前复权。如果不设定开始和结束日期,则返回近一年的复权数据,从性能上考虑,推荐设定开始日期和结束日期,而且最好不要超过三年以上,获取全部历史数据,请分年段分步获取,取到数据后,请及时在本地存储。获取个股首个上市日期,请参考以下方法:

df = ts.get_stock_basics()
date = df.ix[\'600848\'][\'timeToMarket\'] #上市日期YYYYMMDD

本接口还提供大盘指数的全部历史数据,调用时,请务必设定index参数为True,由于大盘指数不存在复权的问题,故可以忽略autype参数。

ts.get_h_data(\'002337\') #前复权
ts.get_h_data(\'002337\', autype=\'hfq\') #后复权
ts.get_h_data(\'002337\', autype=None) #不复权
ts.get_h_data(\'002337\', start=\'2015-01-01\', end=\'2015-03-16\') #两个日期之间的前复权数据

ts.get_h_data(\'399106\', index=True) #深圳综合指数

参数说明:

  • code:string,股票代码 e.g. 600848
  • start:string,开始日期 format:YYYY-MM-DD 为空时取当前日期
  • end:string,结束日期 format:YYYY-MM-DD 为空时取去年今日
  • autype:string,复权类型,qfq-前复权 hfq-后复权 None-不复权,默认为qfq
  • index:Boolean,是否是大盘指数,默认为False
  • retry_count : int, 默认3,如遇网络等问题重复执行的次数
  • pause : int, 默认 0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题

返回值说明:

  • date : 交易日期 (index)
  • open : 开盘价
  • high : 最高价
  • close : 收盘价
  • low : 最低价
  • volume : 成交量
  • amount : 成交金额

结果:

            open   high  close    low     volume      amount
date
2015-03-16  13.27  13.45  13.39  13.00   81212976  1073862784
2015-03-13  13.04  13.38  13.37  13.00   40548836   532739744
2015-03-12  13.29  13.95  13.28  12.96   71505720   962979904
2015-03-11  13.35  13.48  13.15  13.00   59110248   780300736
2015-03-10  13.16  13.67  13.59  12.72  105753088  1393819776
2015-03-09  13.77  14.73  14.13  13.70  139091552  1994454656
2015-03-06  12.17  13.39  13.39  12.17   89486704  1167752960
2015-03-05  12.79  12.80  12.17  12.08   26040832   966927360
2015-03-04  13.96  13.96  13.30  12.58   26636174  1060270720
2015-03-03  12.17  13.10  13.10  12.05   19290366   733336768

实时行情

一次性获取当前交易所有股票的行情数据(如果是节假日,即为上一交易日,结果显示速度取决于网速)

import tushare as ts

ts.get_today_all()

返回值说明:

  • code:代码
  • name:名称
  • changepercent:涨跌幅
  • trade:现价
  • open:开盘价
  • high:最高价
  • low:最低价
  • settlement:昨日收盘价
  • volume:成交量
  • turnoverratio:换手率
  • amount:成交量
  • per:市盈率
  • pb:市净率
  • mktcap:总市值
  • nmc:流通市值

结果显示:

      code    name     changepercent  trade   open   high    low  settlement \
0     002738  中矿资源         10.023  19.32  19.32  19.32  19.32       17.56
1     300410  正业科技         10.022  25.03  25.03  25.03  25.03       22.75
2     002736  国信证券         10.013  16.37  16.37  16.37  16.37       14.88
3     300412  迦南科技         10.010  31.54  31.54  31.54  31.54       28.67
4     300411  金盾股份         10.007  29.68  29.68  29.68  29.68       26.98
5     603636  南威软件         10.006  38.15  38.15  38.15  38.15       34.68
6     002664  信质电机         10.004  30.68  29.00  30.68  28.30       27.89
7     300367  东方网力         10.004  86.76  78.00  86.76  77.87       78.87
8     601299  中国北车         10.000  11.44  11.44  11.44  11.29       10.40
9     601880   大连港         10.000   5.72   5.34   5.72   5.22        5.20

        volume       turnoverratio
0        375100        1.25033
1         85800        0.57200
2       1058925        0.08824
3         69400        0.51791
4        252220        1.26110
5       1374630        5.49852
6       6448748        9.32700
7       2025030        6.88669
8     433453523        4.28056
9     323469835        9.61735

历史分笔

获取个股以往交易历史的分笔数据明细,通过分析分笔数据,可以大致判断资金的进出情况。在使用过程中,对于获取股票某一阶段的历史分笔数据,需要通过参入交易日参数并append到一个DataFrame或者直接append到本地同一个文件里。历史分笔接口只能获取当前交易日之前的数据,当日分笔历史数据请调用get_today_ticks()接口或者在当日18点后通过本接口获取。

参数说明:

  • code:股票代码,即6位数字代码
  • date:日期,格式YYYY-MM-DD
  • retry_count : int, 默认3,如遇网络等问题重复执行的次数
  • pause : int, 默认 0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题

调用方法:

import tushare as ts

df = ts.get_tick_data(\'600848\',date=\'2014-01-09\')
df.head(10)

返回值说明:

  • time:时间
  • price:成交价格
  • change:价格变动
  • volume:成交手
  • amount:成交金额(元)
  • type:买卖类型【买盘、卖盘、中性盘】

结果显示:

     time       price change  volume  amount  type
0    15:00:00   6.05     --       8    4840   卖盘
1    14:59:55   6.05     --      50   30250   卖盘
2    14:59:35   6.05     --      20   12100   卖盘
3    14:59:30   6.05  -0.01     165   99825   卖盘
4    14:59:20   6.06   0.01       4    2424   买盘
5    14:59:05   6.05  -0.01       2    1210   卖盘
6    14:58:55   6.06     --       4    2424   买盘
7    14:58:45   6.06     --       2    1212   买盘
8    14:58:35   6.06   0.01       2    1212   买盘
9    14:58:25   6.05  -0.01      20   12100   卖盘

 

实时分笔

获取实时分笔数据,可以实时取得股票当前报价和成交信息,其中一种场景是,写一个python定时程序来调用本接口(可两三秒执行一次,性能与行情软件基本一致),然后通过DataFrame的矩阵计算实现交易监控,可实时监测交易量和价格的变化。

参数说明:

  • symbols:6位数字股票代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板) 可输入的类型:str、list、set或者pandas的Series对象

调用方法:

import tushare as ts

df = ts.get_realtime_quotes(\'000581\') #Single stock symbol
df[[\'code\',\'name\',\'price\',\'bid\',\'ask\',\'volume\',\'amount\',\'time\']]

结果显示:

   code    name     price  bid    ask    volume   amount        time
0  000581  威孚高科  31.15  31.14  31.15  8183020  253494991.16  11:30:36

返回值说明:

0:name,股票名字
1:open,今日开盘价
2:pre_close,昨日收盘价
3:price,当前价格
4:high,今日最高价
5:low,今日最低价
6:bid,竞买价,即“买一”报价
7:ask,竞卖价,即“卖一”报价
8:volume,成交量 maybe you need do volume/100
9:amount,成交金额(元 CNY)
10:b1_v,委买一(笔数 bid volume)
11:b1_p,委买一(价格 bid price)
12:b2_v,“买二”
13:b2_p,“买二”
14:b3_v,“买三”
15:b3_p,“买三”
16:b4_v,“买四”
17:b4_p,“买四”
18:b5_v,“买五”
19:b5_p,“买五”
20:a1_v,委卖一(笔数 ask volume)
21:a1_p,委卖一(价格 ask price)
...
30:date,日期;
31:time,时间;

请求多个股票方法(一次最好不要超过30个):

#symbols from a list
ts.get_realtime_quotes([\'600848\',\'000980\',\'000981\'])
#from a Series
ts.get_realtime_quotes(df[\'code\'].tail(10))  #一次获取10个股票的实时分笔数据

获取实时指数:

#上证指数
ts.get_realtime_quotes(\'sh\')
#上证指数 深圳成指 沪深300指数 上证50 中小板 创业板
ts.get_realtime_quotes([\'sh\',\'sz\',\'hs300\',\'sz50\',\'zxb\',\'cyb\'])
#或者混搭
ts.get_realtime_quotes([\'sh\',\'600848\'])

当日历史分笔

获取当前交易日(交易进行中使用)已经产生的分笔明细数据。

参数说明:

  • code:股票代码,即6位数字代码
  • retry_count : int, 默认3,如遇网络等问题重复执行的次数
  • pause : int, 默认 0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题

调用方法:

import tushare as ts

df = ts.get_today_ticks(\'601333\')
df.head(10)

返回值说明:

  • time:时间
  • price:当前价格
  • pchange:涨跌幅
  • change:价格变动
  • volume:成交手
  • amount:成交金额(元)
  • type:买卖类型【买盘、卖盘、中性盘】

结果显示:

        time     price pchange  change  volume   amount type
0     11:30:07   5.77   -0.52    0.00     634   366372   买盘
1     11:29:57   5.77   -0.52    0.00     216   124632   买盘
2     11:29:52   5.77   -0.52    0.00     306   176562   买盘
3     11:29:42   5.77   -0.52    0.01     159    91766   买盘
4     11:29:37   5.76   -0.69    0.00     546   314496   卖盘
5     11:29:32   5.76   -0.69   -0.01     954   549504   卖盘
6     11:29:22   5.77   -0.52    0.00     374   215798   买盘
7     11:29:17   5.77   -0.52    0.00     762   439674   买盘
8     11:29:12   5.77   -0.52    0.00     164    95182   买盘
9     11:29:07   5.77   -0.52    0.00     303   174854   买盘

大盘指数行情列表

获取大盘指数实时行情列表,以表格的形式展示大盘指数实时行情。

调用方法:

import tushare as ts

df = ts.get_index()

返回值说明:

  • code:指数代码
  • name:指数名称
  • change:涨跌幅
  • open:开盘点位
  • preclose:昨日收盘点位
  • close:收盘点位
  • high:最高点位
  • low:最低点位
  • volume:成交量(手)
  • amount:成交金额(亿元)

结果显示:

    code        name    change   preclose      close       high        low  \
0   000001    上证指数  -1.13   4527.396   4476.215   4572.391   4432.904
1   000002    A股指数  -1.13   4744.093   4690.628   4791.534   4645.190
2   000003    B股指数  -2.15    403.694    395.018    405.795    392.173
3   000008    综合指数   0.79   3724.496   3753.906   3848.575   3695.817
4   000009   上证380  -2.79   7689.128   7474.305   7695.329   7398.911
5   000010   上证180  -1.13  10741.180  10619.610  10863.080  10529.900
6   000011    基金指数  -1.02   7033.291   6961.659   7058.856   6918.273
7   000012    国债指数   0.01    148.626    148.641    148.656    148.510
8   000016    上证50  -0.79   3308.454   3282.330   3370.025   3255.769
9   000017     新综指  -1.13   3826.013   3782.936   3864.307   3746.284
10  000300   沪深300  -1.37   4807.592   4741.861   4839.078   4703.567
11  399001    深证成指  -0.69  14809.424  14707.245  14979.810  14580.422
12  399002    深成指R  -0.69  17193.832  17075.202  17391.652  16927.959
13  399003    成份B指  -1.93   9027.079   8853.081   9013.194   8826.048
14  399004  深证100R  -1.79   5994.881   5887.414   6036.322   5832.431
15  399005    中小板指  -3.34   8935.338   8637.195   8953.813   8551.202
16  399006    创业板指  -2.17   2747.497   2687.974   2779.200   2650.425
17  399100   新 指 数  -2.77  10091.194   9811.256  10111.664   9718.085
18  399101    中小板综  -3.31  12792.057  12368.868  12800.453  12253.744
19  399106    深证综指  -2.76   2271.275   2208.561   2275.344   2187.897
20  399107    深证A指  -2.77   2375.176   2309.466   2379.507   2287.784
21  399108    深证B指  -1.77   1398.244   1373.512   1397.996   1367.343
22  399333    中小板R  -3.34   9640.766   9319.085   9660.699   9226.304
23  399606    创业板R  -2.16   2828.251   2767.127   2861.040   2728.472


        volume    amount
0     767676416  10611.72
1     766188823  10599.65
2       1487592     12.07
3     263748855   3440.01
4     182628996   2531.04
5     464275133   6437.40
6      66280981    428.46
7        263420      2.74
8     266042859   3735.74
9     766077611  10596.65
10    608638545   8603.50
11  51106975785   6405.28
12   6357969430   1017.68
13     51206484      4.32
14  10418315890   1779.58
15   3071396395    830.54
16   1441659735    551.73
17  32943457787   6091.34
18  10450911278   2291.43
19  33395285515   6137.71
20  33274363870   6128.94
21    120921645      8.77
22   3071396395    830.54
23   1441659735    551.73

大单交易数据

获取大单交易数据,默认为大于等于400手,数据来源于新浪财经。

参数说明:

  • code:股票代码,即6位数字代码
  • date:日期,格式YYYY-MM-DD
  • vol:手数,默认为400手,输入数值型参数
  • retry_count : int, 默认3,如遇网络等问题重复执行的次数
  • pause : int, 默认 0,重复请求数据过程中暂停的秒数,防止请求间隔时间太短出现的问题

返回值说明:

  • code:代码
  • name:名称
  • time:时间
  • price:当前价格
  • volume:成交手
  • preprice :上一笔价格
  • type:买卖类型【买盘、卖盘、中性盘】

调用方法:

import tushare as ts

df = ts.get_sina_dd(\'600848\', date=\'2015-12-24\') #默认400手
#df = ts.get_sina_dd(\'600848\', date=\'2015-12-24\', vol=500)  #指定大于等于500手的数据

结果显示:

    code    name      time      price  volume  preprice  type
0   600848  上海临港  14:58:10  23.05  104309     23.05   卖盘
1   600848  上海临港  14:57:03  23.05   56500     23.07   卖盘
2   600848  上海临港  14:52:47  23.00   76750     23.04   卖盘
3   600848  上海临港  14:47:32  23.10   47000     23.09   买盘
4   600848  上海临港  14:16:03  23.00   60859     23.01   卖盘
5   600848  上海临港  14:15:38  23.01   68659     23.03   卖盘
6   600848  上海临港  14:00:34  23.10   66200     23.10   买盘
7   600848  上海临港  13:25:24  23.28   42000     23.09   买盘
8   600848  上海临港  13:23:54  23.28   79600     23.07   买盘
9   600848  上海临港  13:16:16  23.03   40000     23.08   卖盘

 

 

 

 

除权除息计算方法

计算除息除权价
除息价=股息登记日的收盘价-每股所分红利现金额
例如:某股票股息登记日的收盘价是4.17元,每股送红利现金0.03元,则其次日股价为
⒋17-0.03=4.14(元)
计算除权价
送红股后的除权价=股权登记日的收盘价÷(1+每股送红股数)
例如: 某股票股权登记日的收盘价是24.75元,每10股送3股,,即每股送红股数为0.3,则次日股价为
24.75÷(1+0.3)=19.04(元)
配股后的除权价=(股权登记日的收盘价+配股价×每股配股数)÷
(1+每股配股数)
例如: 某股票股权登记日的收盘价为18.00元,10股配3股,即每股配股数为0.3,配股价为每股6.00元,则次日股价为
(18.00+6.00×0.3)÷(1+0.3)=15.23(元)
计算除权除息价
除权除息价=(股权登记日的收盘价-每股所分红利现金额+配股价×每股配股数)
÷(1+每股送红股数+每股配股数)
例如: 某股票股权登记日的收盘价为20.35元,每10股派发现金红利4.00元,送1股,配2股,配股价为5.50元/股,即每股分红0.4元,送0.1股,配0.2股,则次日除权除息价为
(20.35-0.4+5.50×0.2)÷(1+0.1+0.2)=16.19(元)。
 
文档来源:http://tushare.waditu.com/