获取股票交易数据的Tushare的使用方法

       以前不知道怎么从网上直接获取数据,都是从交易软件上下载数据,也只有个别的软件才能下载,例如通达信可以导出数据,现在学到了一种新的方法,利用tushare可以获取金融数据,这里就简单的分享一下股票数据的获取方法。

      Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。考虑到Python pandas包在金融量化分析中体现出的优势,Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。当然,如果您习惯了用Excel或者关系型数据库做分析,您也可以通过Tushare的数据存储功能,将数据全部保存到本地后进行分析。应一些用户的请求,从0.2.5版本开始,Tushare同时兼容Python 2.x和Python 3.x,对部分代码进行了重构,并优化了一些算法,确保数据获取的高效和稳定。

      不管你是量化投资分析师,还是正在学习Python进行数据分析的学习者,这种方法获取的数据都可以适用。

一、获取前的准备

        1、安装Python,这个不再赘述,Python官网下载安装适合自己计算机的版本。

        2、安装pandas,我是直接安装的Anaconda,包含有pandas,很实用,建议安装Anaconda,下载地址:https://www.anaconda.com/download/  ,选择适合的版本安装。

        3、Tushare的下载安装,下载地址:https://pypi.python.org/pypi/tushare   ,下载完之后解压即可,无需安装。

二、获取数据

       1、获取历史行情数据 get_hist_data()

       获取个股历史交易数据(包括均线数据),可以通过参数设置获取日k线、周k线、月k线,以及5分钟、15分钟、30分钟和60分钟k线数据。本接口只能获取近3年的日线数据,适合搭配均线数据进行选股和分析。

参数说明:

  • code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
  • start:开始日期,格式YYYY-MM-DD
  • end:结束日期,格式YYYY-MM-DD
  • ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
  • 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:换手率[注:指数无此项]

        使用方法:

import tushare as ts
data=ts.get_hist_data('300274')
print(data)

        需要注意的是路径要在tushare文件下,否则会报错。

        执行结果:

             open   high  close    low     volume  price_change  p_change  \
date                                                                        
2018-03-27  18.20  18.68  18.46  18.10  277129.66          0.56      3.13   
2018-03-26  15.75  17.90  17.90  15.75  258241.19          1.63     10.02   
2018-03-23  17.18  17.39  16.27  16.22  226082.23         -1.67     -9.31   
2018-03-22  17.66  18.23  17.94  17.66  184943.48          0.28      1.59   
2018-03-21  17.98  18.56  17.66  17.53  186563.44         -0.14     -0.79   
2018-03-20  17.80  17.99  17.80  17.53  112230.70         -0.16     -0.89   
2018-03-19  17.12  18.07  17.96  16.96  190445.88          0.70      4.06   
2018-03-16  17.78  18.06  17.26  17.26  140307.84         -0.58     -3.25   
2018-03-15  17.73  17.90  17.84  17.33  131920.06         -0.05     -0.28   
2018-03-14  18.03  18.28  17.89  17.89  148305.08         -0.26     -1.43   
2018-03-13  18.42  18.45  18.15  18.08  162198.25         -0.22     -1.20   
2018-03-12  17.80  18.76  18.37  17.80  271619.81          0.65      3.67   
2018-03-09  17.07  17.85  17.72  17.05  214350.95          0.64      3.75   
2018-03-08  17.16  17.45  17.08  17.02  106105.26         -0.15     -0.87   
2018-03-07  17.10  17.48  17.23  16.73  184347.34          0.15      0.88   
2018-03-06  17.03  17.44  17.08  16.91  177234.72          0.14      0.83   
2018-03-05  16.90  17.04  16.94  16.67  135102.59          0.13      0.77   
2018-03-02  17.15  17.38  16.81  16.77  170519.41         -0.47     -2.72   
2018-03-01  16.49  17.40  17.28  16.31  256343.52          0.80      4.85   
2018-02-28  16.18  16.94  16.48  16.18  158566.17         -0.02     -0.12   
2018-02-27  16.27  16.96  16.50  16.24  217543.52          0.04      0.24   
2018-02-26  15.16  16.46  16.46  14.98  265338.56          1.50     10.03   
2018-02-23  15.36  15.38  14.96  14.82  107540.48         -0.43     -2.79   
2018-02-22  15.16  15.46  15.39  14.87   99218.58          0.43      2.87   
2018-02-14  15.07  15.12  14.96  14.73   77453.26         -0.14     -0.93   
2018-02-13  15.27  15.47  15.10  14.83  136822.31          0.00      0.00   
2018-02-12  14.08  15.14  15.10  14.05  178386.92          1.28      9.26   
2018-02-09  14.01  14.33  13.82  13.49  213276.20         -0.72     -4.95   
2018-02-08  14.86  15.00  14.54  14.41  206646.16         -0.26     -1.76   
2018-02-07  14.90  15.15  14.80  14.01  214887.50          0.32      2.21   
          ...    ...    ...    ...        ...           ...       ...   
2015-05-27  45.03  45.90  43.40  42.30  242467.75         -0.39     -0.89   
2015-05-26  40.59  43.88  43.79  40.59  251887.11          3.85      9.64   
2015-05-25  40.00  40.00  39.94  38.82  184868.94         -0.61     -1.50   
2015-05-22  43.49  43.84  40.55  40.18  288278.75         -2.44     -5.68   
2015-05-21  41.29  43.52  42.99  40.00  172734.12          1.63      3.94   
2015-05-20  41.00  42.88  41.36  40.88  185768.69          0.39      0.95   
2015-05-19  40.00  41.50  40.97  38.88  166258.44          1.08      2.71   
2015-05-18  40.48  42.80  39.89  39.43  181854.31         -0.64     -1.58   
2015-05-15  40.40  41.47  40.53  38.82  121910.12          0.43      1.07   
2015-05-14  42.50  42.50  40.10  39.34  205329.09         -2.48     -5.82   
2015-05-13  42.98  45.50  42.58  41.00  164987.98         -1.95     -4.38   
2015-05-12  45.61  47.95  44.53  43.28  173687.81         -1.08     -2.37   
2015-05-11  41.70  45.61  45.61  40.00  166825.77          4.15     10.01   
2015-05-08  40.10  41.49  41.46  38.27   96350.21          2.56      6.58   
2015-05-07  41.30  42.37  38.90  38.84   91419.29         -2.27     -5.51   
2015-05-06  40.20  43.86  41.17  40.20  164651.27          0.56      1.38   
2015-05-05  39.01  44.49  40.61  39.01  226261.52         -0.11     -0.27   
2015-05-04  40.00  42.68  40.72  39.45  274265.94          1.92      4.95   
2015-04-30  36.00  38.95  38.80  36.00  260247.66          3.39      9.57   
2015-04-29  35.20  35.56  35.41  34.18  121039.36          0.21      0.60   
2015-04-28  37.20  37.70  35.20  34.81  104307.37         -1.72     -4.66   
2015-04-27  36.35  38.50  36.92  36.31  152201.34          1.04      2.90   
2015-04-24  35.80  37.20  35.88  35.03  128170.82         -0.51     -1.40   
2015-04-23  36.82  37.93  36.39  35.49  155415.94         -0.42     -1.14   
2015-04-22  36.79  38.15  36.81  36.10  167909.52          0.75      2.08   
2015-04-21  34.00  36.66  36.06  34.00  189406.58          1.41      4.07   
2015-04-20  37.30  37.30  34.65  34.65  148110.20         -3.85    -10.00   
2015-04-17  41.78  41.78  38.50  36.66  358071.38         -0.70     -1.79   
2015-04-16  38.30  39.20  39.20  35.00  197112.16          3.56      9.99   
2015-04-15  35.64  35.64  35.64  35.64   10352.51          3.24     10.00   

               ma5    ma10    ma20      v_ma5     v_ma10     v_ma20  turnover  
date                                                                           
2018-03-27  17.646  17.698  17.506  226592.00  185616.96  184627.88      2.62  
2018-03-26  17.514  17.667  17.408  193612.21  174123.82  181648.57      2.44  
2018-03-23  17.526  17.714  17.336  180053.15  175461.68  182003.44      2.14  
2018-03-22  17.724  17.859  17.271  162898.27  174288.55  176076.35      1.75  
2018-03-21  17.704  17.773  17.143  152293.58  166404.73  171790.11      1.76  
2018-03-20  17.750  17.730  17.008  144641.91  166183.12  166334.60      1.06  
2018-03-19  17.820  17.658  16.873  154635.42  172683.52  167564.18      1.80  
2018-03-16  17.902  17.556  16.730  170870.21  167149.19  166961.23      1.33  
2018-03-15  17.994  17.511  16.558  185678.83  170170.35  170609.65      1.25  
2018-03-14  17.842  17.455  16.393  180515.87  182612.69  174345.95      1.40  
2018-03-13  17.710  17.314  16.239  187724.32  183638.80  177675.08      1.53  
2018-03-12  17.496  17.149  16.055  190731.62  189173.33  177446.72      2.57  
2018-03-09  17.210  16.958  15.887  163428.17  188545.20  177285.45      2.03  
2018-03-08  17.028  16.682  15.797  154661.86  177864.16  176812.80      1.00  
2018-03-07  17.068  16.513  15.780  184709.52  177175.49  179406.62      1.74  
2018-03-06  16.918  16.286  15.762  179553.28  166486.08  178764.36      1.68  
2018-03-05  16.802  16.088  15.782  187615.04  162444.84  175594.28      1.28  
2018-03-02  16.706  15.904  15.790  213662.24  166773.27  174316.54      1.61  
2018-03-01  16.336  15.605  15.818  201066.45  171048.95  171074.57      2.42  
2018-02-28  15.958  15.331  15.822  169641.46  166079.22  166097.24      1.50  
2018-02-27  15.654  15.163  15.879  153418.88  171711.35  167697.72      2.06  
2018-02-26  15.374  14.961  15.920  137274.64  165720.12  163422.03      2.51  
2018-02-23  15.102  14.815  15.954  119884.31  166025.69  158119.46      1.02  
2018-02-22  14.874  14.911  16.056  141031.45  175761.43  160114.95      0.94  
2018-02-14  14.704  15.047  16.136  162516.97  181637.75  166975.67      0.73  
2018-02-13  14.672  15.238  16.216  190003.82  191042.63  173824.37      1.29  
2018-02-12  14.548  15.475  16.258  194165.60  188743.71  175257.85      1.69  
2018-02-09  14.528  15.675  16.316  212167.07  181859.81  176014.00      2.02  
2018-02-08  14.948  16.031  16.471  210491.41  171100.19  171630.84      1.95  
2018-02-07  15.390  16.312  16.600  200758.52  166115.26  168705.83      2.03  
           ...     ...     ...        ...        ...        ...       ...  
2015-05-27  42.134  41.352  41.166  228047.33  200135.73  187054.71      5.35  
2015-05-26  41.726  41.270  40.756  216707.52  192387.76  180146.69      5.55  
2015-05-25  41.162  41.344  40.412  199581.79  184567.83  175162.40      4.08  
2015-05-22  41.152  41.911  40.209  198978.86  182763.51  172327.49      6.36  
2015-05-21  41.148  42.002  40.001  165705.14  163570.65  165684.35      3.81  
2015-05-20  40.570  41.593  39.692  172224.13  155439.17  165443.12      4.10  
2015-05-19  40.814  41.574  39.427  168067.99  153327.43  165625.02      3.67  
2015-05-18  41.526  41.538  39.111  169553.86  159327.74  164717.61      4.01  
2015-05-15  42.670  41.621  39.042  166548.15  168568.90  173528.46      2.69  
2015-05-14  42.856  41.448  38.975  161436.17  182402.65  177288.56      4.53  
2015-05-13  42.616  40.979  38.752  138654.21  173973.68  167539.73      3.64  
2015-05-12  42.334  40.241  38.551  138586.87  167905.62  167674.03      3.83  
2015-05-11  41.550  39.480  38.218  149101.61  165756.97  167339.94      3.68  
2015-05-08  40.572  38.507  37.784  170589.65  161891.48  167370.18      2.12  
2015-05-07  40.040  38.000  37.554  203369.14  167798.05  171808.93      2.02  
2015-05-06  39.342  37.791  37.464  209293.15  175447.07  177168.24      3.63  
2015-05-05  38.148  37.280  37.199  197224.37  177922.61  178062.31      4.99  
2015-05-04  37.410  36.684  36.937  182412.33  170107.47  174354.68      6.05  
2015-04-30  36.442  36.462  36.622  153193.31  178488.02  166028.74      5.74  
2015-04-29  35.960  36.502  36.424  132226.97  172174.47  157463.38      2.67  
2015-04-28  36.240  36.525  36.525  141601.00  161105.78  161105.78      2.30  
2015-04-27  36.412  36.672  36.672  158620.84  167416.72  167416.72      3.36  
2015-04-24  35.958  36.641  36.641  157802.61  169318.64  169318.64      2.83  
2015-04-23  36.482  36.750  36.750  203782.72  175196.90  175196.90      3.43  
2015-04-22  37.044  36.810  36.810  212121.97  178493.72  178493.72      3.70  
2015-04-21  36.810  36.810  36.810  180610.57  180610.57  180610.57      4.18  
2015-04-20  36.998  36.998  36.998  178411.56  178411.56  178411.56      3.27  
2015-04-17  37.780  37.780  37.780  188512.02  188512.02  188512.02      7.90  
2015-04-16  37.420  37.420  37.420  103732.34  103732.34  103732.34      4.35  
2015-04-15  35.640  35.640  35.640   10352.51   10352.51   10352.51      0.23  

[712 rows x 14 columns]
View Code

        获取某一时间段的历史数据

import tushare as ts
data=ts.get_hist_data('300274',start='2017-01-01',end='2018-03-27')
print(data)

         执行结果:

             open   high  close    low     volume  price_change  p_change  \
date                                                                        
2018-03-27  18.20  18.68  18.46  18.10  277129.66          0.56      3.13   
2018-03-26  15.75  17.90  17.90  15.75  258241.19          1.63     10.02   
2018-03-23  17.18  17.39  16.27  16.22  226082.23         -1.67     -9.31   
2018-03-22  17.66  18.23  17.94  17.66  184943.48          0.28      1.59   
2018-03-21  17.98  18.56  17.66  17.53  186563.44         -0.14     -0.79   
2018-03-20  17.80  17.99  17.80  17.53  112230.70         -0.16     -0.89   
2018-03-19  17.12  18.07  17.96  16.96  190445.88          0.70      4.06   
2018-03-16  17.78  18.06  17.26  17.26  140307.84         -0.58     -3.25   
2018-03-15  17.73  17.90  17.84  17.33  131920.06         -0.05     -0.28   
2018-03-14  18.03  18.28  17.89  17.89  148305.08         -0.26     -1.43   
2018-03-13  18.42  18.45  18.15  18.08  162198.25         -0.22     -1.20   
2018-03-12  17.80  18.76  18.37  17.80  271619.81          0.65      3.67   
2018-03-09  17.07  17.85  17.72  17.05  214350.95          0.64      3.75   
2018-03-08  17.16  17.45  17.08  17.02  106105.26         -0.15     -0.87   
2018-03-07  17.10  17.48  17.23  16.73  184347.34          0.15      0.88   
2018-03-06  17.03  17.44  17.08  16.91  177234.72          0.14      0.83   
2018-03-05  16.90  17.04  16.94  16.67  135102.59          0.13      0.77   
2018-03-02  17.15  17.38  16.81  16.77  170519.41         -0.47     -2.72   
2018-03-01  16.49  17.40  17.28  16.31  256343.52          0.80      4.85   
2018-02-28  16.18  16.94  16.48  16.18  158566.17         -0.02     -0.12   
2018-02-27  16.27  16.96  16.50  16.24  217543.52          0.04      0.24   
2018-02-26  15.16  16.46  16.46  14.98  265338.56          1.50     10.03   
2018-02-23  15.36  15.38  14.96  14.82  107540.48         -0.43     -2.79   
2018-02-22  15.16  15.46  15.39  14.87   99218.58          0.43      2.87   
2018-02-14  15.07  15.12  14.96  14.73   77453.26         -0.14     -0.93   
2018-02-13  15.27  15.47  15.10  14.83  136822.31          0.00      0.00   
2018-02-12  14.08  15.14  15.10  14.05  178386.92          1.28      9.26   
2018-02-09  14.01  14.33  13.82  13.49  213276.20         -0.72     -4.95   
2018-02-08  14.86  15.00  14.54  14.41  206646.16         -0.26     -1.76   
2018-02-07  14.90  15.15  14.80  14.01  214887.50          0.32      2.21   
          ...    ...    ...    ...        ...           ...       ...   
2017-02-17  10.20  10.25  10.11  10.11   54869.20         -0.08     -0.79   
2017-02-16  10.20  10.25  10.19  10.14   44818.72          0.01      0.10   
2017-02-15  10.28  10.37  10.18  10.18   54908.40         -0.13     -1.26   
2017-02-14  10.40  10.43  10.31  10.28   45765.41         -0.09     -0.86   
2017-02-13  10.34  10.46  10.40  10.31   57232.39          0.01      0.10   
2017-02-10  10.45  10.58  10.39  10.33   91075.83          0.02      0.19   
2017-02-09  10.34  10.38  10.37  10.26   69391.06          0.06      0.58   
2017-02-08  10.23  10.32  10.31  10.17   46605.71          0.08      0.78   
2017-02-07  10.37  10.39  10.23  10.16   53509.66         -0.11     -1.06   
2017-02-06  10.17  10.44  10.34  10.16   65927.82          0.18      1.77   
2017-02-03  10.16  10.21  10.16  10.06   32568.84          0.02      0.20   
2017-02-02  10.14  11.00  10.63  10.14       7.00          0.49      4.83   
2017-01-26  10.13  10.23  10.14  10.10   38363.47          0.01      0.10   
2017-01-25  10.12  10.18  10.13  10.03   39051.61         -0.02     -0.20   
2017-01-24   9.98  10.29  10.15   9.96  119132.26          0.31      3.15   
2017-01-23   9.75   9.85   9.84   9.73   40751.73          0.09      0.92   
2017-01-20   9.59   9.82   9.75   9.58   49843.50          0.17      1.77   
2017-01-19   9.69   9.71   9.58   9.55   40645.66         -0.13     -1.34   
2017-01-18   9.72   9.73   9.71   9.63   42580.21         -0.02     -0.21   
2017-01-17   9.53   9.82   9.73   9.45   62172.81          0.14      1.46   
2017-01-16  10.08  10.10   9.59   9.23  105089.19         -0.45     -4.48   
2017-01-13  10.12  10.21  10.04  10.03   42361.00         -0.09     -0.89   
2017-01-12  10.15  10.24  10.13  10.11   33378.80         -0.02     -0.20   
2017-01-11  10.24  10.30  10.15  10.10   44799.72         -0.10     -0.98   
2017-01-10  10.35  10.35  10.25  10.24   39387.44         -0.06     -0.58   
2017-01-09  10.30  10.37  10.31  10.26   46994.46          0.01      0.10   
2017-01-06  10.47  10.47  10.30  10.30   62243.80         -0.17     -1.62   
2017-01-05  10.56  10.58  10.47  10.44   55892.37         -0.09     -0.85   
2017-01-04  10.53  10.59  10.56  10.41   83009.86          0.09      0.86   
2017-01-03  10.54  10.57  10.47  10.43   66125.27         -0.07     -0.66   

               ma5    ma10    ma20      v_ma5     v_ma10     v_ma20  turnover  
date                                                                           
2018-03-27  17.646  17.698  17.506  226592.00  185616.96  184627.88      2.62  
2018-03-26  17.514  17.667  17.408  193612.21  174123.82  181648.57      2.44  
2018-03-23  17.526  17.714  17.336  180053.15  175461.68  182003.44      2.14  
2018-03-22  17.724  17.859  17.271  162898.27  174288.55  176076.35      1.75  
2018-03-21  17.704  17.773  17.143  152293.58  166404.73  171790.11      1.76  
2018-03-20  17.750  17.730  17.008  144641.91  166183.12  166334.60      1.06  
2018-03-19  17.820  17.658  16.873  154635.42  172683.52  167564.18      1.80  
2018-03-16  17.902  17.556  16.730  170870.21  167149.19  166961.23      1.33  
2018-03-15  17.994  17.511  16.558  185678.83  170170.35  170609.65      1.25  
2018-03-14  17.842  17.455  16.393  180515.87  182612.69  174345.95      1.40  
2018-03-13  17.710  17.314  16.239  187724.32  183638.80  177675.08      1.53  
2018-03-12  17.496  17.149  16.055  190731.62  189173.33  177446.72      2.57  
2018-03-09  17.210  16.958  15.887  163428.17  188545.20  177285.45      2.03  
2018-03-08  17.028  16.682  15.797  154661.86  177864.16  176812.80      1.00  
2018-03-07  17.068  16.513  15.780  184709.52  177175.49  179406.62      1.74  
2018-03-06  16.918  16.286  15.762  179553.28  166486.08  178764.36      1.68  
2018-03-05  16.802  16.088  15.782  187615.04  162444.84  175594.28      1.28  
2018-03-02  16.706  15.904  15.790  213662.24  166773.27  174316.54      1.61  
2018-03-01  16.336  15.605  15.818  201066.45  171048.95  171074.57      2.42  
2018-02-28  15.958  15.331  15.822  169641.46  166079.22  166097.24      1.50  
2018-02-27  15.654  15.163  15.879  153418.88  171711.35  167697.72      2.06  
2018-02-26  15.374  14.961  15.920  137274.64  165720.12  163422.03      2.51  
2018-02-23  15.102  14.815  15.954  119884.31  166025.69  158119.46      1.02  
2018-02-22  14.874  14.911  16.056  141031.45  175761.43  160114.95      0.94  
2018-02-14  14.704  15.047  16.136  162516.97  181637.75  166975.67      0.73  
2018-02-13  14.672  15.238  16.216  190003.82  191042.63  173824.37      1.29  
2018-02-12  14.548  15.475  16.258  194165.60  188743.71  175257.85      1.69  
2018-02-09  14.528  15.675  16.316  212167.07  181859.81  176014.00      2.02  
2018-02-08  14.948  16.031  16.471  210491.41  171100.19  171630.84      1.95  
2018-02-07  15.390  16.312  16.600  200758.52  166115.26  168705.83      2.03  
           ...     ...     ...        ...        ...        ...       ...  
2017-02-17  10.238  10.283  10.133   51518.82   58410.42   52461.06      0.65  
2017-02-16  10.294  10.288  10.107   58760.15   56180.38   54972.06      0.53  
2017-02-15  10.330  10.332  10.099   63674.62   51699.21   54849.18      0.65  
2017-02-14  10.356  10.328  10.097   62014.08   50044.72   53772.70      0.54  
2017-02-13  10.340  10.310  10.089   63562.93   49373.34   53724.41      0.68  
2017-02-10  10.328  10.285  10.081   65302.02   55563.33   52832.17      1.08  
2017-02-09  10.282  10.230  10.077   53600.62   50530.92   50628.10      0.82  
2017-02-08  10.334  10.168  10.074   39723.81   48576.16   50270.73      0.55  
2017-02-07  10.300  10.095  10.082   38075.36   47980.16   50735.07      0.64  
2017-02-06  10.280  10.043  10.098   35183.75   46887.21   52210.08      0.78  
2017-02-03  10.242   9.982  10.105   45824.64   46511.71   52219.95      0.39  
2017-02-02  10.178   9.925  10.124   47461.21   53763.74   57818.90      0.00  
2017-01-26  10.002   9.866  10.104   57428.51   57999.14   60320.91      0.46  
2017-01-25   9.890   9.865  10.107   57884.95   57500.68   59986.58      0.46  
2017-01-24   9.806   9.867  10.110   58590.67   58075.49   59567.11      1.42  
2017-01-23   9.722   9.877  10.114   47198.78   50101.01   56268.25      0.48  
2017-01-20   9.672   9.924  10.133   60066.27   50725.28   57089.17      0.59  
2017-01-19   9.730   9.979  10.156   58569.77   51965.31   57002.42      0.48  
2017-01-18   9.840  10.068  10.188   57116.40   53489.98   57408.57      0.51  
2017-01-17   9.928  10.153  10.213   57560.30   57532.95   56994.80      0.74  
2017-01-16  10.032  10.227  10.238   53003.23   57928.19   57098.35      1.25  
2017-01-13  10.176  10.322  10.271   41384.28   61874.05   54572.23      0.50  
2017-01-12  10.228  10.341  10.277   45360.84   62642.67   55888.38      0.40  
2017-01-11  10.296  10.348  10.274   49863.56   62472.48   57851.77      0.53  
2017-01-10  10.378  10.352  10.282   57505.59   61058.73   58984.87      0.47  
2017-01-09  10.422  10.351  10.285   62853.15   62435.50   64681.06      0.56  
2017-01-06  10.468  10.341  10.325   82363.81   63453.05   67087.28      0.74  
2017-01-05  10.454  10.332  10.375   79924.49   62039.53   67225.62      0.66  
2017-01-04  10.400  10.308  10.422   75081.41   61327.16   67082.61      0.99  
2017-01-03  10.326  10.272  10.463   64611.88   56456.65   66407.52      0.79  

[301 rows x 14 columns]
View Code

        另外一个获取历史数据的函数get_h_data()。

import tushare as ts
data=ts.get_h_data('300274')
print(data)

        执行结果:

[Getting data:]####             open   high  close    low      volume       amount
date                                                           
2018-03-27  18.20  18.68  18.46  18.10  27712966.0  508800698.0
2018-03-26  15.75  17.90  17.90  15.75  25824118.0  446434274.0
2018-03-23  17.18  17.39  16.27  16.22  22608225.0  382039352.0
2018-03-22  17.66  18.23  17.94  17.66  18494349.0  333065150.0
2018-03-21  17.98  18.56  17.66  17.53  18656344.0  338887128.0
2018-03-20  17.80  17.99  17.80  17.53  11223070.0  199298708.0
2018-03-19  17.12  18.07  17.96  16.96  19044589.0  337144499.0
2018-03-16  17.78  18.06  17.26  17.26  14030785.0  248256092.0
2018-03-15  17.73  17.90  17.84  17.33  13192007.0  232494279.0
2018-03-14  18.03  18.28  17.89  17.89  14830508.0  267780801.0
2018-03-13  18.42  18.45  18.15  18.08  16219825.0  296118756.0
2018-03-12  17.80  18.76  18.37  17.80  27161982.0  500178887.0
2018-03-09  17.07  17.85  17.72  17.05  21435095.0  374030870.0
2018-03-08  17.16  17.45  17.08  17.02  10610526.0  182343459.0
2018-03-07  17.10  17.48  17.23  16.73  18434734.0  315071789.0
2018-03-06  17.03  17.44  17.08  16.91  17723471.0  304419704.0
2018-03-05  16.90  17.04  16.94  16.67  13510259.0  227715011.0
2018-03-02  17.15  17.38  16.81  16.77  17051941.0  289968138.0
2018-03-01  16.49  17.40  17.28  16.31  25634351.0  435681980.0
2018-02-28  16.18  16.94  16.48  16.18  15856617.0  262089521.0
2018-02-27  16.27  16.96  16.50  16.24  21754351.0  361793484.0
2018-02-26  15.16  16.46  16.46  14.98  26533856.0  419663218.0
2018-02-23  15.36  15.38  14.96  14.82  10754048.0  161908697.0
2018-02-22  15.16  15.46  15.39  14.87   9921858.0  151388885.0
2018-02-14  15.07  15.12  14.96  14.73   7745326.0  115332770.0
2018-02-13  15.27  15.47  15.10  14.83  13682231.0  206526842.0
2018-02-12  14.08  15.14  15.10  14.05  17838691.0  262013534.0
2018-02-09  14.01  14.33  13.82  13.49  21327620.0  296351079.0
2018-02-08  14.86  15.00  14.54  14.41  20664617.0  303511494.0
2018-02-07  14.90  15.15  14.80  14.01  21488750.0  316182728.0
          ...    ...    ...    ...         ...          ...
2017-05-10   9.51   9.59   9.17   9.14   8013561.0   75577754.0
2017-05-09   9.46   9.57   9.54   9.41   4540136.0   43282035.0
2017-05-08   9.54   9.61   9.49   9.41   4576818.0   43741927.0
2017-05-05   9.64   9.66   9.56   9.54   5634724.0   54294886.0
2017-05-04   9.57   9.79   9.71   9.53   7618585.0   74271443.0
2017-05-03   9.70   9.70   9.58   9.48   6028155.0   57959280.0
2017-05-02   9.67   9.76   9.71   9.64   4397537.0   42847629.0
2017-04-28   9.74   9.79   9.68   9.64   4642589.0   45295501.0
2017-04-27   9.55   9.74   9.73   9.44   7649806.0   73668339.0
2017-04-26   9.56   9.65   9.57   9.52   5634254.0   54268433.0
2017-04-25   9.57   9.71   9.59   9.57   3338196.0   32337097.0
2017-04-24   9.84   9.88   9.55   9.55   6341690.0   61537249.0
2017-04-21   9.85   9.94   9.84   9.81   4332221.0   42931850.0
2017-04-20   9.95   9.95   9.85   9.77   4820169.0   47732234.0
2017-04-19   9.87   9.98   9.91   9.77   5579669.0   55257082.0
2017-04-18   9.99  10.11   9.91   9.90   5028548.0   50566557.0
2017-04-17  10.09  10.14   9.99   9.97   3963560.0   40002818.0
2017-04-14  10.18  10.23  10.04  10.03   4934551.0   50075720.0
2017-04-13  10.16  10.23  10.22  10.12   5194537.0   53216367.0
2017-04-12  10.14  10.25  10.17  10.07   6485158.0   66154139.0
2017-04-11  10.12  10.19  10.14  10.04   6883106.0   69936783.0
2017-04-10  10.27  10.29  10.13  10.11   8660847.0   88729321.0
2017-04-07  10.34  10.40  10.34  10.22   8846324.0   91690275.0
2017-04-06  10.30  10.38  10.30  10.26   6147344.0   63744443.0
2017-04-05  10.09  10.31  10.31  10.09   6864966.0   70678935.0
2017-03-31   9.99  10.08  10.08   9.92   5204386.0   52296246.0
2017-03-30  10.13  10.16   9.91   9.89   7921235.0   79524776.0
2017-03-29  10.25  10.29  10.13  10.13   6296926.0   64557843.0
2017-03-28  10.25  10.35  10.24  10.22   4476736.0   46203948.0
2017-03-27  10.34  10.39  10.26  10.25   8820614.0   91305979.0

[246 rows x 6 columns]
View Code

         在不指定开始时间和结束时间时,该函数默认返回最近一年的日线数据,返回的数据与get_hist_data不同的是,该函数只返回开盘价(open)、最高价(high)、收盘价(close)、最低价(low)、成交量(volume)、成交金额(amount)六列 ,同样加上时间段也可以获取相应数据。

 

        第三个获取历史数据的函数get_k_data()。

import tushare as ts
data=ts.get_k_data('300274')
print(data)

       执行结果:

           date    open   close    high     low    volume    code
0    2015-08-03  13.989  13.488  13.989  12.954  231484.0  300274
1    2015-08-04  13.549  14.441  14.441  13.449  172411.0  300274
2    2015-08-05  14.650  14.667  15.311  14.545  202460.0  300274
3    2015-08-06  14.259  14.865  15.520  13.978  198711.0  300274
4    2015-08-07  15.179  16.187  16.335  15.179  240156.0  300274
5    2015-08-10  16.413  17.024  17.376  15.922  234649.0  300274
6    2015-08-11  17.184  16.611  17.811  16.457  249238.0  300274
7    2015-08-12  16.413  15.972  16.754  15.972  156296.0  300274
8    2015-08-13  15.906  16.501  16.512  15.421  147828.0  300274
9    2015-08-14  16.616  16.203  16.886  16.121  147500.0  300274
10   2015-08-17  15.972  16.693  16.793  15.559  172215.0  300274
11   2015-08-18  17.007  15.025  17.007  15.025  182213.0  300274
12   2015-08-19  14.375  15.206  15.559  13.604  135998.0  300274
13   2015-08-20  14.865  14.402  15.195  14.320   88766.0  300274
14   2015-08-21  14.050  13.163  14.320  13.147  114111.0  300274
15   2015-08-24  12.282  11.847  12.607  11.847   77110.0  300274
16   2015-08-25  10.663  10.663  10.789  10.663  269313.0  300274
17   2015-08-26  10.740   9.859  11.180   9.594  200165.0  300274
18   2015-08-27  10.013  10.762  10.762  10.013  179014.0  300274
19   2015-08-28  11.021  11.544  11.566  10.690  182692.0  300274
20   2015-08-31  11.291  10.409  11.296  10.409  136956.0  300274
21   2015-09-01  10.233   9.886  10.608   9.864  159974.0  300274
22   2015-09-02   9.743  10.877  10.877   9.462  303258.0  300274
23   2015-09-07  11.015  10.712  11.726  10.657  239907.0  300274
24   2015-09-08  10.547  11.456  11.555  10.365  174279.0  300274
25   2015-09-09  11.428  12.122  12.309  11.263  233701.0  300274
26   2015-09-10  11.836  11.693  12.111  11.632  118646.0  300274
27   2015-09-11  11.693  11.819  12.007  11.577   84930.0  300274
28   2015-09-14  11.841  10.635  11.962  10.635  125477.0  300274
29   2015-09-15  10.217  10.382  10.608   9.892  107438.0  300274
..          ...     ...     ...     ...     ...       ...     ...
611  2018-02-07  14.900  14.800  15.150  14.010  214887.0  300274
612  2018-02-08  14.860  14.540  15.000  14.410  206646.0  300274
613  2018-02-09  14.010  13.820  14.330  13.490  213276.0  300274
614  2018-02-12  14.080  15.100  15.140  14.050  178386.0  300274
615  2018-02-13  15.270  15.100  15.470  14.830  136822.0  300274
616  2018-02-14  15.070  14.960  15.120  14.730   77453.0  300274
617  2018-02-22  15.160  15.390  15.460  14.870   99218.0  300274
618  2018-02-23  15.360  14.960  15.380  14.820  107540.0  300274
619  2018-02-26  15.160  16.460  16.460  14.980  265338.0  300274
620  2018-02-27  16.270  16.500  16.960  16.240  217543.0  300274
621  2018-02-28  16.180  16.480  16.940  16.180  158566.0  300274
622  2018-03-01  16.490  17.280  17.400  16.310  256343.0  300274
623  2018-03-02  17.150  16.810  17.380  16.770  170519.0  300274
624  2018-03-05  16.900  16.940  17.040  16.670  135102.0  300274
625  2018-03-06  17.030  17.080  17.440  16.910  177234.0  300274
626  2018-03-07  17.100  17.230  17.480  16.730  184347.0  300274
627  2018-03-08  17.160  17.080  17.450  17.020  106105.0  300274
628  2018-03-09  17.070  17.720  17.850  17.050  214350.0  300274
629  2018-03-12  17.800  18.370  18.760  17.800  271619.0  300274
630  2018-03-13  18.420  18.150  18.450  18.080  162198.0  300274
631  2018-03-14  18.030  17.890  18.280  17.890  148305.0  300274
632  2018-03-15  17.730  17.840  17.900  17.330  131920.0  300274
633  2018-03-16  17.780  17.260  18.060  17.260  140307.0  300274
634  2018-03-19  17.120  17.960  18.070  16.960  190445.0  300274
635  2018-03-20  17.800  17.800  17.990  17.530  112230.0  300274
636  2018-03-21  17.980  17.660  18.560  17.530  186563.0  300274
637  2018-03-22  17.660  17.940  18.230  17.660  184943.0  300274
638  2018-03-23  17.180  16.270  17.390  16.220  226082.0  300274
639  2018-03-26  15.750  17.900  17.900  15.750  258241.0  300274
640  2018-03-27  18.200  18.460  18.680  18.100  277129.0  300274

[641 rows x 7 columns]
View Code

       与前两个函数相比,这个函数获取数据的速度很明显要快很多,而且可以返回每一只股票从上市开始到当前交易日的所有日线数据,这个有点是前两个函数都不具备的,更重要的是,如果批量3000多只股票的数据,前两个都不如get_k_data()稳定。

其他:

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线数据

        2、获取实时行情数据get_today_all()

返回值说明:

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

       执行结果:

[Getting data:]############################################################Out[10]: 
        code   name  changepercent   trade    open    high     low  \
0     603999   读者传媒          4.526    7.16    6.90    7.35    6.90   
1     603998   方盛制药          0.000    9.43    0.00    0.00    0.00   
2     603997   继峰股份          4.855   12.31   11.82   12.41   11.82   
3     603996   中新科技          1.130   17.01   16.85   17.13   16.85   
4     603993   洛阳钼业          1.718    8.88    8.81    8.97    8.67   
5     603991   至正股份          5.453   23.98   22.77   24.15   22.77   
6     603990   麦迪科技          2.781   36.96   36.45   37.30   36.05   
7     603989   艾华集团          5.191   38.50   36.80   38.65   36.80   
8     603988   中电电机          2.760   31.65   32.50   33.40   31.07   
9     603987    康德莱          2.147   11.42   11.29   11.48   11.12   
10    603986   兆易创新          3.684  195.90  191.77  198.08  186.00   
11    603985   恒润股份          3.068   31.24   30.56   31.66   30.50   
12    603980   吉华集团          2.010   18.27   18.11   18.48   18.09   
13    603979    金诚信          1.659    9.19    9.18    9.30    9.09   
14    603978   深圳新星          0.000   87.04    0.00    0.00    0.00   
15    603977   国泰集团          2.344   14.41   14.15   14.50   13.90   
16    603976   正川股份          5.067   23.43   22.49   23.49   22.41   
17    603970   中农立华          2.305   31.95   29.00   33.40   28.81   
18    603969   银龙股份          1.980   12.36   12.36   12.50   12.20   
19    603968   醋化股份          1.961   18.72   18.40   18.86   18.40   
20    603966   法兰泰克          2.164   13.22   13.25   13.37   12.95   
21    603963   大理药业          2.830   32.34   31.00   34.20   30.64   
22    603960   克来机电          5.512   28.52   27.27   28.99   27.27   
23    603959   百利科技          7.242   35.39   33.25   35.80   33.25   
24    603958   哈森股份          5.972   11.18   10.62   11.59   10.62   
25    603955   大千生态          0.000   35.88    0.00    0.00    0.00   
26    603939   益丰药房          9.818   62.75   58.00   62.85   57.50   
27    603938   三孚股份          5.404   33.94   32.50   34.49   32.44   
28    603937   丽岛新材          3.066   20.17   19.57   20.30   19.57   
29    603936   博敏电子          4.133   20.41   19.80   20.44   19.77   
     ...    ...            ...     ...     ...     ...     ...   
3476  600539   狮头股份          0.000   16.80    0.00    0.00    0.00   
3477  600444   国机通用          3.130   14.17   13.81   14.66   13.80   
3478  600432  *ST吉恩          0.000    6.74    0.00    0.00    0.00   
3479  600425  *ST青松          0.274    3.66    3.61    3.68    3.60   
3480  600423  *ST柳化          0.000    4.83    0.00    0.00    0.00   
3481  600421   ST仰帆          1.243    7.33    7.25    7.43    7.25   
3482  600408   安泰集团          2.609    2.36    2.32    2.39    2.32   
3483  600403  *ST大有          4.128    4.54    4.39    4.58    4.39   
3484  600401  *ST海润          0.000    0.87    0.00    0.00    0.00   
3485  600311   荣华实业          5.112    5.14    4.67    5.28    4.64   
3486  600301   ST南化          2.536    6.47    6.40    6.48    6.34   
3487  600289   ST信通          4.558    3.67    3.55    3.69    3.53   
3488  600275  *ST昌鱼          2.703    4.56    4.40    4.58    4.40   
3489  600265   ST景谷          2.924   17.25   16.76   17.58   16.76   
3490  600247   ST成城         -1.125    7.03    7.18    7.34    6.96   
3491  600242   中昌数据          3.920   15.64   15.14   16.00   15.00   
3492  600234   ST山水          2.190   12.60   12.95   12.95   12.36   
3493  600228  *ST昌九          0.843   10.77   10.77   10.89   10.70   
3494  600225  *ST松江          3.627    4.00    3.90    4.04    3.90   
3495  600217   中再资环          1.318    6.15    6.09    6.20    6.09   
3496  600163   中闽能源          1.519    4.01    3.97    4.02    3.93   
3497  600149  *ST坊展          2.281    8.07    7.97    8.13    7.90   
3498  600145  *ST新亿          0.000    1.87    0.00    0.00    0.00   
3499  600121  *ST郑煤          3.824    5.43    5.29    5.44    5.28   
3500  600112  *ST天成          2.342    4.37    4.29    4.42    4.29   
3501  600091   ST明科          2.609    4.72    4.65    4.78    4.61   
3502  600087   退市长油          0.000    0.00    0.00    0.00    0.00   
3503  600074  ST保千里          1.970    2.07    2.04    2.09    2.04   
3504  600071   凤凰光学          2.294   16.50   16.23   16.70   16.23   
3505  600069   银鸽投资          0.000    7.42    0.00    0.00    0.00   

      settlement       volume  turnoverratio        amount       per       pb  \
0           6.85    3753394.0        1.62908  2.673414e+07    24.690    2.472   
1           9.43          0.0        0.00000  0.000000e+00    58.938    4.066   
2          11.74    6282481.0        0.99722  7.650094e+07    20.864    4.703   
3          16.82    4466751.0        4.32510  7.580086e+07    43.615    3.595   
4           8.73  255660201.0        1.97364  2.251130e+09   148.000    5.145   
5          22.74     643936.0        1.56756  1.505586e+07    35.791    4.027   
6          35.96    1266800.0        2.10181  4.665054e+07    49.280    7.291   
7          36.60    1521266.0        1.80298  5.811920e+07    43.750    6.541   
8          30.80    3673080.0        3.06090  1.182899e+08   105.500    3.847   
9          11.18    3239400.0        1.70431  3.663547e+07    18.419    3.007   
10        188.94    7203234.0        4.88867  1.386976e+09    92.532   24.762   
11         30.31     566000.0        2.83000  1.764036e+07    19.790    2.561   
12         17.91    2432024.0        2.43202  4.452604e+07    19.111    2.356   
13          9.04    2380846.0        0.97913  2.187497e+07    21.881    1.414   
14         87.04          0.0        0.00000  0.000000e+00    55.439    5.280   
15         14.08    4136081.0        3.29096  5.888909e+07    46.484    3.362   
16         22.30    1228218.0        4.54896  2.833564e+07    26.931    2.699   
17         31.23   23755322.0       71.26582  7.187151e+08    39.097    8.463   
18         12.12    5108561.0        1.27714  6.309515e+07    41.200    3.038   
19         18.36     520780.0        0.38124  9.735956e+06    26.000    2.977   
20         12.94    1194600.0        1.67007  1.581938e+07    28.128    2.642   
21         31.45    8153605.0       32.61442  2.644912e+08    38.964    7.061   
22         27.03     875320.0        2.19639  2.475655e+07    47.533    7.133   
23         33.00    1951927.0        1.84648  6.798490e+07    66.774    8.728   
24         10.55    2352981.0        3.56518  2.625979e+07    26.430    2.141   
25         35.88          0.0        0.00000  0.000000e+00    33.608    3.009   
26         57.14    3489906.0        0.96222  2.153017e+08    72.627    7.186   
27         32.20    3218215.0        8.56897  1.079034e+08    47.139    5.478   
28         19.57    5724072.0       10.96146  1.144954e+08    36.018    4.105   
29         19.60    2398001.0        4.27451  4.814093e+07    63.981    3.483   
         ...          ...            ...           ...       ...      ...   
3476       16.80          0.0        0.00000  0.000000e+00  -336.000    8.143   
3477       13.74    1710752.0        1.62929  2.424538e+07   134.952    5.629   
3478        6.74          0.0        0.00000  0.000000e+00    -4.956    7.663   
3479        3.65   11914783.0        0.86415  4.343274e+07    -8.714    1.262   
3480        4.83          0.0        0.00000  0.000000e+00    32.200   49.948   
3481        7.24     459121.0        0.23472  3.363952e+06   366.500  218.806   
3482        2.30    9303502.0        0.92407  2.196019e+07    -4.069    2.440   
3483        4.36    2874898.0        0.12025  1.296413e+07    -5.537    1.550   
3484        0.87          0.0        0.00000  0.000000e+00    -3.486    1.432   
3485        4.89   73319877.0       11.01561  3.594796e+08  1317.949    4.124   
3486        6.31    1121900.0        0.47710  7.178303e+06   -46.850    6.293   
3487        3.51   10374006.0        1.83311  3.788045e+07    16.457    0.741   
3488        4.44    2353001.0        0.46243  1.066533e+07   -56.366   20.213   
3489       16.76     348721.0        0.26866  5.997059e+06   -71.875   78.054   
3490        7.11    3325344.0        0.98839  2.380751e+07   -11.027   -8.048   
3491       15.05    4353642.0        1.52577  6.784647e+07   156.400    3.661   
3492       12.33     166601.0        0.08229  2.087422e+06   180.000   29.571   
3493       10.68    1722671.0        0.71385  1.857114e+07   -71.800  448.750   
3494        3.86    2850999.0        0.30579  1.137629e+07    -8.163    2.049   
3495        6.07    3737150.0        0.51891  2.293547e+07    38.582    5.077   
3496        3.95    3331210.0        0.44203  1.329152e+07    37.830    2.407   
3497        7.89    3057400.0        0.80424  2.462629e+07  -123.773   17.192   
3498        1.87          0.0        0.00000  0.000000e+00  -935.000    4.503   
3499        5.23    5130629.0        0.50531  2.750161e+07    -8.754    1.620   
3500        4.27    7573564.0        1.48733  3.296097e+07   -22.491    1.881   
3501        4.60    1666742.0        0.49528  7.841271e+06   157.333    2.287   
3502        0.00          0.0        0.00000  0.000000e+00     0.000    0.000   
3503        2.03   30245650.0        2.94777  6.247762e+07     5.914    1.051   
3504       16.13     674293.0        0.28395  1.114115e+07   117.857    9.249   
3505        7.42          0.0        0.00000  0.000000e+00   -23.188    4.549   

            mktcap           nmc  
0     4.124160e+05  1.649664e+05  
1     4.063731e+05  4.009605e+05  
2     7.850323e+05  7.755300e+05  
3     5.105552e+05  1.756708e+05  
4     1.918013e+07  1.150291e+07  
5     1.787349e+05  9.850725e+04  
6     2.990899e+05  2.227653e+05  
7     1.155000e+06  3.248438e+05  
8     3.798000e+05  3.798000e+05  
9     3.602268e+05  2.170616e+05  
10    3.970496e+06  2.886495e+06  
11    2.499200e+05  6.248000e+04  
12    9.135000e+05  1.827000e+05  
13    5.376150e+05  2.234643e+05  
14    6.963200e+05  1.740800e+05  
15    3.185763e+05  1.811049e+05  
16    2.530440e+05  6.326100e+04  
17    4.260002e+05  1.065002e+05  
18    4.944000e+05  4.944000e+05  
19    3.827866e+05  2.557152e+05  
20    2.115200e+05  9.456277e+04  
21    3.234000e+05  8.085000e+04  
22    2.966080e+05  1.136597e+05  
23    7.927360e+05  3.741104e+05  
24    2.430085e+05  7.378688e+04  
25    3.121560e+05  1.968438e+05  
26    2.275909e+06  2.275909e+06  
27    5.096654e+05  1.274671e+05  
28    4.213110e+05  1.053277e+05  
29    3.415613e+05  1.145001e+05  
           ...           ...  
3476  3.864000e+05  3.864000e+05  
3477  2.074799e+05  1.487850e+05  
3478  1.080910e+06  1.080910e+06  
3479  5.046372e+05  5.046372e+05  
3480  1.928848e+05  1.928848e+05  
3481  1.433748e+05  1.433748e+05  
3482  2.376048e+05  2.376048e+05  
3483  1.085429e+06  1.085429e+06  
3484  4.110694e+05  4.110694e+05  
3485  3.421184e+05  3.421184e+05  
3486  1.521408e+05  1.521408e+05  
3487  2.315961e+05  2.076936e+05  
3488  2.320298e+05  2.320298e+05  
3489  2.239050e+05  2.239050e+05  
3490  2.365184e+05  2.365184e+05  
3491  7.142243e+05  4.462734e+05  
3492  2.550818e+05  2.550818e+05  
3493  2.599016e+05  2.599016e+05  
3494  3.741970e+05  3.729348e+05  
3495  8.540258e+05  4.429216e+05  
3496  4.007856e+05  3.022032e+05  
3497  3.067891e+05  3.067891e+05  
3498  2.788358e+05  2.788358e+05  
3499  5.513314e+05  5.513314e+05  
3500  2.225225e+05  2.225225e+05  
3501  2.064587e+05  1.588403e+05  
3502  0.000000e+00  0.000000e+00  
3503  5.046424e+05  2.123930e+05  
3504  3.918296e+05  3.918296e+05  
3505  9.268344e+05  6.124276e+05  

[3506 rows x 15 columns]
View Code

       一次性获取当前交易所有股票的行情数据(如果是节假日,即为上一交易日)

       3、获取历史分笔数据之:get_tick_data()

       获取个股以往交易历史的分笔数据明细,通过分析分笔数据,可以大致判断资金的进出情况。在使用过程中,对于获取股票某一阶段的历史分笔数据,需要通过加入交易日参数并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('300274',date='2018-03-27')
df.head(10)                                       #距离执行时间最近的十笔交易

       执行结果:

   time  price change  volume   amount type
0  15:00:03  18.46     --    2373  4380761   卖盘
1  14:57:03  18.46  -0.01     188   347048   卖盘
2  14:57:00  18.47  -0.01      42    77574   卖盘
3  14:56:57  18.48     --     644  1190112   买盘
4  14:56:54  18.48   0.01      80   147840   买盘
5  14:56:51  18.47   0.01       9    16623  中性盘
6  14:56:48  18.46  -0.02      38    70148   卖盘
7  14:56:45  18.48   0.01      25    46200   买盘
8  14:56:42  18.47     --      87   160689   买盘
9  14:56:36  18.47     --      82   151454   买盘

       获取当日历史分笔数据:get_today_ticks()

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

参数说明:

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

返回值说明:

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

      使用方法:

import tushare as ts
df = ts.get_today_ticks('300274')            #当日的历史分笔数据
df.head(10)                                  #距离执行时间最近的10笔

      执行结果:

[Getting data:]###########################################Out[6]: 
       time  price pchange  change  volume  amount type
0  13:32:15  18.68   +1.19   -0.01       1    1868   买盘
1  13:32:12  18.69   +1.25    0.00       8   14952   买盘
2  13:32:06  18.69   +1.25    0.01       1    1869   买盘
3  13:32:03  18.68   +1.19    0.00      19   35492   卖盘
4  13:31:51  18.68   +1.19    0.00       8   14944   买盘
5  13:31:48  18.68   +1.19    0.01      14   26152   买盘
6  13:31:45  18.67   +1.14   -0.01      30   56010   卖盘
7  13:31:42  18.68   +1.19    0.01       8   14944   买盘
8  13:31:36  18.67   +1.14    0.00      14   26138   卖盘
9  13:31:33  18.67   +1.14   -0.01      10   18670   卖盘

       4、获取实时分笔数据之:get_realtime_quotes()

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

参数说明:

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

返回值说明:

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,时间;

        使用方法:

import tushare as ts
df = ts.get_realtime_quotes('300274')                             #单个股票实时行情    
df[['code','name','price','bid','ask','volume','amount','time']]  #需要显示的属性

        执行结果:

code  name   price     bid     ask    volume         amount      time
0  300274  阳光电源  18.780  18.750  18.770  17003279  318581216.230  13:16:06

       

        多只股票的实时分笔数据(最好不要超过30):

import tushare as ts
df = ts.get_realtime_quotes(['600460','000762','000725'])
df[['code','name','price','bid','ask','volume','amount','time']]

         获取实时指数:

ts.get_realtime_quotes('sh')                                      #上证指数

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

ts.get_realtime_quotes(['sh','600848'])                           #或者混搭

        大盘指数行情列表:

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

返回值说明:

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

         使用方法:

import tushare as ts
df = ts.get_index()
print(df)

         执行结果:

      code    name  change        open    preclose       close        high  \
0   000001    上证指数   -1.11   3130.5711   3166.6488   3131.3698   3165.2126   
1   000002    A股指数   -1.12   3278.5396   3316.4103   3279.4018   3314.9126   
2   000003    B股指数   -0.46    323.9965    324.6712    323.1817    324.4019   
3   000008    综合指数   -0.74   2888.0665   2919.0878   2897.4743   2938.0054   
4   000009   上证380   -0.95   5325.7750   5388.8500   5337.8003   5377.2056   
5   000010   上证180   -1.57   8256.8507   8351.3972   8220.0898   8345.6347   
6   000011    基金指数   -0.71   6075.1781   6102.7818   6059.5066   6096.4437   
7   000012    国债指数    0.04    162.8216    162.8060    162.8693    162.8878   
8   000016    上证50   -1.75   2714.8736   2747.5872   2699.4573   2746.8803   
9   000017     新综指   -1.12   2643.3554   2673.8963   2644.0496   2672.6934   
10  000300   沪深300   -1.56   3865.0454   3913.2689   3852.1357   3907.2811   
11  000905   中证500   -0.64   5962.5642   6034.7750   5996.2402   6036.1584   
12  399001    深证成指   -0.98  10633.7030  10775.7110  10670.1720  10768.4770   
13  399002    深成指R   -0.98  12703.4950  12873.1440  12747.0630  12864.5010   
14  399003    成份B指   -1.76   6273.2900   6295.6580   6184.6440   6279.2370   
15  399004  深证100R   -1.57   5454.8290   5536.6870   5449.7760   5516.0160   
16  399005    中小板指   -1.14   7341.4880   7457.6690   7372.4060   7447.0680   
17  399006    创业板指    0.03   1819.6560   1844.6930   1845.3120   1856.8850   
18  399008   中小300   -0.84   1433.8910   1453.5730   1441.3840   1452.2820   
19  399100   新 指 数   -0.69   8144.1210   8243.2370   8185.9570   8244.5030   
20  399101    中小板综   -0.74  10761.6920  10894.6360  10814.2750  10883.8510   
21  399106    深证综指   -0.55   1808.1040   1829.6940   1819.7020   1831.7010   
22  399107    深证A指   -0.54   1890.7970   1913.4390   1903.0410   1915.5550   
23  399108    深证B指   -1.36   1142.4570   1144.1400   1128.5330   1142.8070   
24  399333    中小板R   -1.14   8086.5510   8214.5220   8120.6070   8202.8470   
25  399606    创业板R    0.03   1895.3750   1921.4530   1922.0990   1934.1530   

           low       volume     amount  
0    3120.7387    128212293  1638.8802  
1    3268.2414    128104381  1638.1395  
2     322.6385       107912     0.7408  
3    2883.9253     33810295   390.4401  
4    5311.6184     29667151   381.2276  
5    8194.4728     54570412   753.4829  
6    6050.3336     22263811   234.2987  
7     162.8106       166789     1.6454  
8    2689.7282     27741531   408.4711  
9    2635.0469    128092502  1637.8570  
10   3837.1605     80915589  1260.0363  
11   5949.1042     59942718   731.7842  
12  10613.0630  16462550283  2343.8519  
13  12678.8380   8020191771  1203.0661  
14   6179.3390      7481277     0.5027  
15   5419.0880   2651235441   491.0084  
16   7323.9280   1684594172   315.4859  
17   1816.4370   1933143968   318.5167  
18   1430.2780   3550384166   535.7625  
19   8127.1620  16378678502  2339.2782  
20  10732.9100   6256398449   900.7352  
21   1804.5990  16462550283  2343.8519  
22   1887.1300  16447460512  2343.0011  
23   1127.9070     15089771     0.8508  
24   8067.2080   1684594172   315.4859  
25   1892.0220   1933143968   318.5167  
View Code

         5、获取大单交易数据

         获取大单交易数据,默认为大于等于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('300274', date='2018-03-28')            #默认400手
#df = ts.get_sina_dd('300274', date='2018-03-28', vol=500)  #指定大于等于500手的数据
print(df)

         执行结果:

     code  name      time  price  volume  preprice type
0   300274  阳光电源  14:12:57  18.80   52800     18.80   买盘
1   300274  阳光电源  13:56:09  18.80   53300     18.80   买盘
2   300274  阳光电源  13:37:36  18.69   54700     18.66   买盘
3   300274  阳光电源  13:26:36  18.73   50200     18.71   买盘
4   300274  阳光电源  13:26:00  18.74   92262     18.77   卖盘
5   300274  阳光电源  13:22:51  18.80   51400     18.80   买盘
6   300274  阳光电源  13:22:42  18.80  103800     18.75   买盘
7   300274  阳光电源  11:27:00  18.61   76000     18.60   买盘
8   300274  阳光电源  11:23:03  18.65   60400     18.68   卖盘
9   300274  阳光电源  10:57:18  18.76  100900     18.80   卖盘
10  300274  阳光电源  10:54:42  18.70   51400     18.70   买盘
11  300274  阳光电源  10:50:30  18.84   82700     18.88   卖盘
12  300274  阳光电源  10:48:51  18.90   60000     18.87   买盘
13  300274  阳光电源  10:47:54  18.85   60600     18.86   卖盘
14  300274  阳光电源  10:28:24  18.72   46500     18.72   买盘
15  300274  阳光电源  10:21:39  18.69   74400     18.69   买盘
16  300274  阳光电源  10:19:06  18.73   63300     18.72  中性盘
17  300274  阳光电源  10:18:24  18.72   41800     18.77   卖盘
18  300274  阳光电源  10:13:00  18.77   83400     18.75   买盘
19  300274  阳光电源  10:10:45  18.82   47200     18.80   买盘
20  300274  阳光电源  10:05:06  18.89   43700     18.90   卖盘
21  300274  阳光电源  10:05:03  18.90   57900     18.90   卖盘
22  300274  阳光电源  10:04:48  18.90   50300     18.92   卖盘
23  300274  阳光电源  10:04:42  18.91   89000     18.91   买盘
24  300274  阳光电源  10:00:09  19.00  200300     18.97   买盘
25  300274  阳光电源  09:59:54  18.99   46400     19.00   卖盘
26  300274  阳光电源  09:59:42  19.00   86800     18.98   买盘
27  300274  阳光电源  09:59:36  18.97   47300     18.98  中性盘
28  300274  阳光电源  09:59:30  18.95   40500     18.95   买盘
29  300274  阳光电源  09:59:27  18.95   65300     18.95   买盘
..     ...   ...       ...    ...     ...       ...  ...
33  300274  阳光电源  09:54:27  18.90   85100     18.87   买盘
34  300274  阳光电源  09:52:15  18.97   91100     18.97   买盘
35  300274  阳光电源  09:51:48  18.90   45600     18.88   买盘
36  300274  阳光电源  09:51:45  18.88  237600     18.83   买盘
37  300274  阳光电源  09:51:36  18.86   43600     18.86   买盘
38  300274  阳光电源  09:51:33  18.86   85700     18.85   买盘
39  300274  阳光电源  09:51:21  18.85   77700     18.83   买盘
40  300274  阳光电源  09:51:09  18.84   43600     18.83   买盘
41  300274  阳光电源  09:47:57  18.80   40100     18.82   卖盘
42  300274  阳光电源  09:47:45  18.83   52500     18.83   卖盘
43  300274  阳光电源  09:47:30  18.85   45800     18.84   买盘
44  300274  阳光电源  09:44:15  18.76   67000     18.79   卖盘
45  300274  阳光电源  09:43:24  18.77   44800     18.72   买盘
46  300274  阳光电源  09:43:03  18.80   68900     18.80   买盘
47  300274  阳光电源  09:42:54  18.76   49740     18.74   买盘
48  300274  阳光电源  09:42:42  18.71   57000     18.69   买盘
49  300274  阳光电源  09:42:39  18.69  101140     18.66   买盘
50  300274  阳光电源  09:42:21  18.65   66400     18.64   买盘
51  300274  阳光电源  09:42:06  18.60  272700     18.59   买盘
52  300274  阳光电源  09:40:36  18.57   48600     18.53   买盘
53  300274  阳光电源  09:40:06  18.58   52700     18.58   卖盘
54  300274  阳光电源  09:40:00  18.58   44361     18.60   卖盘
55  300274  阳光电源  09:38:33  18.65   43600     18.64   买盘
56  300274  阳光电源  09:37:42  18.68   58300     18.66   买盘
57  300274  阳光电源  09:37:24  18.67   50900     18.64   买盘
58  300274  阳光电源  09:37:09  18.68   43800     18.66   买盘
59  300274  阳光电源  09:36:03  18.56   46400     18.55   买盘
60  300274  阳光电源  09:35:36  18.57   90200     18.52   买盘
61  300274  阳光电源  09:30:06  18.12   45900     18.15   卖盘
62  300274  阳光电源  09:25:03  18.20   79700      0.00  中性盘

[63 rows x 7 columns]
View Code

        6、数据的存储

        数据存储模块主要是引导用户将数据保存在本地磁盘或数据库服务器上,便于后期的量化分析和回测使用,在以文件格式保存在电脑磁盘的方式上,调用的是pandas本身自带的方法,此处会罗列常用的参数和说明。

        保存为CSV格式文件

       pandas的DataFrame和Series对象提供了直接保存csv文件格式的方法,通过参数设定,轻松将数据内容保存在本地磁盘。

常用参数说明:

  • path_or_buf: csv文件存放路径或者StringIO对象
  • sep : 文件内容分隔符,默认为,逗号
  • na_rep: 在遇到NaN值时保存为某字符,默认为’‘空字符
  • float_format: float类型的格式
  • columns: 需要保存的列,默认为None
  • header: 是否保存columns名,默认为True
  • index: 是否保存index,默认为True
  • mode : 创建新文件还是追加到现有文件,默认为新建
  • encoding: 文件编码格式
  • date_format: 日期格式

注:在设定path时,如果目录不存在,程序会提示IOError,请先确保目录已经存在于磁盘中。

      使用方法:

import tushare as ts
df = ts.get_hist_data('300274')
#直接保存
df.to_csv('C:/Users/07010018/Desktop/tushare-1.1.6/exportdata/300274.csv')
#选择保存
#df.to_csv('C:/Users/07010018/Desktop/tushare-1.1.6/exportdata/300274.csv',columns=['open','high','low','close'])

       追加数据的方式:

       某些时候,可能需要将一些同类数据保存在一个大文件中,这时候就需要将数据追加在同一个文件里,简单举例如下:

import tushare as ts
import os

filename = 'c:/day/bigfile.csv'
for code in ['000875', '600848', '000981']:
    df = ts.get_hist_data(code)
    if os.path.exists(filename):
        df.to_csv(filename, mode='a', header=None)
    else:
        df.to_csv(filename)

【注:如果是不考虑header,直接df.to_csv(filename, mode=’a’)即可,否则,每次循环都会把columns名称也append进去】

        保存为Excel格式文件

        pandas将数据保存为MicroSoft Excel文件格式。

常用参数说明:

  • excel_writer: 文件路径或者ExcelWriter对象
  • sheet_name:sheet名称,默认为Sheet1
  • sep : 文件内容分隔符,默认为,逗号
  • na_rep: 在遇到NaN值时保存为某字符,默认为’‘空字符
  • float_format: float类型的格式
  • columns: 需要保存的列,默认为None
  • header: 是否保存columns名,默认为True
  • index: 是否保存index,默认为True
  • encoding: 文件编码格式
  • startrow: 在数据的头部留出startrow行空行
  • startcol :在数据的左边留出startcol列空列

        使用方法:

import tushare as ts
df = ts.get_hist_data('300274')
#直接保存
df.to_excel('C:/Users/07010018/Desktop/tushare-1.1.6/exportdata/300274.xlsx')

#设定数据位置(从第3行,第6列开始插入数据)
#df.to_excel('C:/Users/07010018/Desktop/tushare-1.1.6/exportdata/300274.xlsx', startrow=2,startcol=5)

        保存为MySQL数据库

        pandas提供了将数据便捷存入关系型数据库的方法,在新版的pandas中,主要是已sqlalchemy方式与数据建立连接,支持MySQL、Postgresql、Oracle、MS SQLServer、SQLite等主流数据库。本例以MySQL数据库为代表,展示将获取到的股票数据存入数据库的方法,其他类型数据库请参考sqlalchemy官网文档的create_engine部分。

常用参数说明:

  • name:表名,pandas会自动创建表结构
  • con:数据库连接,最好是用sqlalchemy创建engine的方式来替代con
  • flavor:数据库类型 {‘sqlite’, ‘mysql’}, 默认‘sqlite’,如果是engine此项可忽略
  • schema:指定数据库的schema,默认即可
  • if_exists:如果表名已存在的处理方式 {‘fail’, ‘replace’, ‘append’},默认‘fail’
  • index:将pandas的Index作为一列存入数据库,默认是True
  • index_label:Index的列名
  • chunksize:分批存入数据库,默认是None,即一次性全部写人数据库
  • dtype:设定columns在数据库里的数据类型,默认是None

  使用方法:

from sqlalchemy import create_engine
import tushare as ts

df = ts.get_tick_data('300274', date='2018-03-27')
engine = create_engine('mysql://user:passwd@127.0.0.1/db_name?charset=utf8')

#存入数据库
df.to_sql('tick_data',engine)

#追加数据到现有表
#df.to_sql('tick_data',engine,if_exists='append')

 

      另外,数据也可以保存为HDF5格式,JSON格式,存入NoSQL数据库,这里就不在一一赘述,就简单介绍几种常用的。

posted on 2018-03-28 15:18  蜗牛爬行ing  阅读(76547)  评论(1编辑  收藏  举报

导航