以前不知道怎么从网上直接获取数据,都是从交易软件上下载数据,也只有个别的软件才能下载,例如通达信可以导出数据,现在学到了一种新的方法,利用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]
获取某一时间段的历史数据
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]
另外一个获取历史数据的函数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]
在不指定开始时间和结束时间时,该函数默认返回最近一年的日线数据,返回的数据与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]
与前两个函数相比,这个函数获取数据的速度很明显要快很多,而且可以返回每一只股票从上市开始到当前交易日的所有日线数据,这个有点是前两个函数都不具备的,更重要的是,如果批量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]
一次性获取当前交易所有股票的行情数据(如果是节假日,即为上一交易日)
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
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]
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:[email protected]/db_name?charset=utf8') #存入数据库 df.to_sql('tick_data',engine) #追加数据到现有表 #df.to_sql('tick_data',engine,if_exists='append')
另外,数据也可以保存为HDF5格式,JSON格式,存入NoSQL数据库,这里就不在一一赘述,就简单介绍几种常用的。