Skip to main content

('A finance tool to get stock,fund and futures data base on eastmoney',)

Project description

Introduction

python pypi pypi-install github

efinance 是由个人打造的用于获取股票、基金、期货数据的免费开源 Python 库,你可以使用它很方便地获取数据以便更好地服务于个人的交易系统需求。

Installation

  • 通过 pip 安装
pip install efinance
  • 通过 pip 更新
pip install efinance --upgrade
  • 源码安装(用于开发)
git clone https://github.com/Micro-sheep/efinance
cd efinance
pip install -e .

Examples

Stock

  • 获取股票历史日 K 线数据
>>> import efinance as ef
>>> # 股票代码
>>> stock_code = '600519'
>>> ef.stock.get_quote_history(stock_code)
      股票名称    股票代码          日期       开盘       收盘       最高       最低       成交量           成交额    振幅   涨跌幅    涨跌额    换手率
0     贵州茅台  600519  2001-08-27   -89.74   -89.53   -89.08   -90.07  406318.0  1.410347e+09 -1.10  0.92   0.83  56.83
1     贵州茅台  600519  2001-08-28   -89.64   -89.27   -89.24   -89.72  129647.0  4.634630e+08 -0.54  0.29   0.26  18.13
2     贵州茅台  600519  2001-08-29   -89.24   -89.36   -89.24   -89.42   53252.0  1.946890e+08 -0.20 -0.10  -0.09   7.45
3     贵州茅台  600519  2001-08-30   -89.38   -89.22   -89.14   -89.44   48013.0  1.775580e+08 -0.34  0.16   0.14   6.72
4     贵州茅台  600519  2001-08-31   -89.21   -89.24   -89.12   -89.28   23231.0  8.623100e+07 -0.18 -0.02  -0.02   3.25
...    ...     ...         ...      ...      ...      ...      ...       ...           ...   ...   ...    ...    ...
4756  贵州茅台  600519  2021-07-23  1937.82  1900.00  1937.82  1895.09   47585.0  9.057762e+09  2.20 -2.06 -40.01   0.38
4757  贵州茅台  600519  2021-07-26  1879.00  1804.11  1879.00  1780.00   98619.0  1.789436e+10  5.21 -5.05 -95.89   0.79
4758  贵州茅台  600519  2021-07-27  1803.00  1712.89  1810.00  1703.00   86577.0  1.523081e+10  5.93 -5.06 -91.22   0.69
4759  贵州茅台  600519  2021-07-28  1703.00  1768.90  1788.20  1682.12   85369.0  1.479247e+10  6.19  3.27  56.01   0.68
4760  贵州茅台  600519  2021-07-29  1810.01  1740.00  1823.00  1734.34   51035.0  9.067345e+09  5.01 -1.63 -28.90   0.41

[4761 rows x 13 columns]
  • 获取非 A 股的股票 K 线数据(支持输入股票名称以及代码)
>>> import efinance as ef
>>> # 股票代码
>>> stock_code = 'AAPL'
>>> ef.stock.get_quote_history(stock_code)
     股票名称  股票代码          日期      开盘      收盘      最高      最低          成交量           成交额    振幅   涨跌幅   涨跌额   换手率
0      苹果  AAPL  1984-09-07   -5.37   -5.37   -5.36   -5.37    2981600.0  0.000000e+00  0.00  0.00  0.00  0.02
1      苹果  AAPL  1984-09-10   -5.37   -5.37   -5.36   -5.37    2346400.0  0.000000e+00 -0.19  0.00  0.00  0.01
2      苹果  AAPL  1984-09-11   -5.36   -5.36   -5.36   -5.36    5444000.0  0.000000e+00  0.00  0.19  0.01  0.03
3      苹果  AAPL  1984-09-12   -5.36   -5.37   -5.36   -5.37    4773600.0  0.000000e+00 -0.19 -0.19 -0.01  0.03
4      苹果  AAPL  1984-09-13   -5.36   -5.36   -5.36   -5.36    7429600.0  0.000000e+00  0.00  0.19  0.01  0.04
...   ...   ...         ...     ...     ...     ...     ...          ...           ...   ...   ...   ...   ...
8739   苹果  AAPL  2021-07-22  145.94  146.80  148.19  145.81   77338156.0  1.137623e+10  1.64  0.96  1.40  0.47
8740   苹果  AAPL  2021-07-23  147.55  148.56  148.72  146.92   71447416.0  1.058233e+10  1.23  1.20  1.76  0.43
8741   苹果  AAPL  2021-07-26  148.27  148.99  149.83  147.70   72434089.0  1.080774e+10  1.43  0.29  0.43  0.44
8742   苹果  AAPL  2021-07-27  149.12  146.77  149.21  145.55  104818578.0  1.540140e+10  2.46 -1.49 -2.22  0.63
8743   苹果  AAPL  2021-07-28  144.81  144.98  146.97  142.54  118931191.0  1.723188e+10  3.02 -1.22 -1.79  0.72

[8744 rows x 13 columns]

>>> # 股票名称
>>> stock_name = '微软'
>>> ef.stock.get_quote_history(stock_name)
       股票名称  股票代码          日期      开盘      收盘      最高      最低           成交量           成交额    振幅   涨跌幅   涨跌额    换手率
0      微软  MSFT  1986-03-13  -20.74  -20.73  -20.73  -20.74  1.031789e+09  0.000000e+00  0.00  0.00  0.00  13.72
1      微软  MSFT  1986-03-14  -20.73  -20.73  -20.73  -20.73  3.081600e+08  0.000000e+00  0.00  0.00  0.00   4.10
2      微软  MSFT  1986-03-17  -20.73  -20.73  -20.73  -20.73  1.331712e+08  0.000000e+00  0.00  0.00  0.00   1.77
3      微软  MSFT  1986-03-18  -20.73  -20.73  -20.73  -20.73  6.776640e+07  0.000000e+00  0.00  0.00  0.00   0.90
4      微软  MSFT  1986-03-19  -20.73  -20.73  -20.73  -20.73  4.789440e+07  0.000000e+00  0.00  0.00  0.00   0.64
...   ...   ...         ...     ...     ...     ...     ...           ...           ...   ...   ...   ...    ...
8357   微软  MSFT  2021-07-22  283.84  286.14  286.42  283.42  2.338406e+07  6.677062e+09  1.07  1.68  4.74   0.31
8358   微软  MSFT  2021-07-23  287.37  289.67  289.99  286.50  2.276807e+07  6.578686e+09  1.22  1.23  3.53   0.30
8359   微软  MSFT  2021-07-26  289.00  289.05  289.69  286.64  2.317607e+07  6.685868e+09  1.05 -0.21 -0.62   0.31
8360   微软  MSFT  2021-07-27  289.43  286.54  289.58  282.95  3.360407e+07  9.599993e+09  2.29 -0.87 -2.51   0.45
8361   微软  MSFT  2021-07-28  288.99  286.22  290.15  283.83  3.356685e+07  9.638499e+09  2.21 -0.11 -0.32   0.45

[8362 rows x 13 columns]
  • 获取 ETF K 线数据
>>> import efinance as ef
>>> # ETF 代码(以中概互联网 ETF 为例)
>>> etf_code = '513050'
>>> ef.stock.get_quote_history(etf_code)
      股票名称    股票代码          日期     开盘     收盘     最高     最低         成交量           成交额    振幅   涨跌幅    涨跌额    换手率
0     中概互联网ETF  513050  2017-01-18  0.989  0.977  0.989  0.969    345605.0  3.381795e+07  0.00  0.00  0.000   0.26
1     中概互联网ETF  513050  2017-01-19  0.978  0.989  0.990  0.978    257716.0  2.542553e+07  1.23  1.23  0.012   0.19
2     中概互联网ETF  513050  2017-01-20  0.989  0.988  0.990  0.986     50980.0  5.043289e+06  0.40 -0.10 -0.001   0.04
3     中概互联网ETF  513050  2017-01-23  0.988  0.988  0.989  0.986     13739.0  1.356129e+06  0.30  0.00  0.000   0.01
4     中概互联网ETF  513050  2017-01-24  0.989  0.989  0.992  0.987     17937.0  1.774398e+06  0.51  0.10  0.001   0.01
...        ...     ...         ...    ...    ...    ...    ...         ...           ...   ...   ...    ...    ...
1097  中概互联网ETF  513050  2021-07-23  1.789  1.760  1.789  1.758   4427623.0  7.836530e+08  1.73 -1.51 -0.027   3.32
1098  中概互联网ETF  513050  2021-07-26  1.679  1.645  1.698  1.642  13035366.0  2.182816e+09  3.18 -6.53 -0.115   9.78
1099  中概互联网ETF  513050  2021-07-27  1.600  1.547  1.620  1.546  14269546.0  2.257610e+09  4.50 -5.96 -0.098  10.70
1100  中概互联网ETF  513050  2021-07-28  1.545  1.552  1.578  1.506  13141023.0  2.024106e+09  4.65  0.32  0.005   9.85
1101  中概互联网ETF  513050  2021-07-29  1.615  1.641  1.651  1.606  10658041.0  1.734404e+09  2.90  5.73  0.089   7.99

[1102 rows x 13 columns]
  • 获取单只股票 5 分钟 K 线数据
>>> import efinance as ef
>>> # 股票代码
>>> stock_code = '600519'
>>> # 5 分钟
>>> frequency = 5
>>> ef.stock.get_quote_history(stock_code, klt=frequency)
      股票名称    股票代码                日期       开盘       收盘       最高       最低     成交量          成交额    振幅   涨跌幅    涨跌额   换手率
0     贵州茅台  600519  2021-06-16 09:35  2172.71  2159.71  2175.71  2150.74  1885.0  411159309.0  1.15 -0.64 -14.00  0.02
1     贵州茅台  600519  2021-06-16 09:40  2156.69  2148.71  2160.48  2143.37  1238.0  268790684.0  0.79 -0.51 -11.00  0.01
2     贵州茅台  600519  2021-06-16 09:45  2149.79  2159.71  2160.69  2149.79   706.0  153631002.0  0.51  0.51  11.00  0.01
3     贵州茅台  600519  2021-06-16 09:50  2159.61  2148.87  2159.71  2148.87   586.0  127346502.0  0.50 -0.50 -10.84  0.00
4     贵州茅台  600519  2021-06-16 09:55  2148.87  2161.04  2163.71  2148.72   788.0  171491075.0  0.70  0.57  12.17  0.01
...    ...     ...               ...      ...      ...      ...      ...     ...          ...   ...   ...    ...   ...
1521  贵州茅台  600519  2021-07-29 13:50  1746.51  1746.09  1748.95  1746.01   738.0  128889575.0  0.17 -0.09  -1.49  0.01
1522  贵州茅台  600519  2021-07-29 13:55  1746.08  1742.01  1746.09  1741.96   831.0  144968679.0  0.24 -0.23  -4.08  0.01
1523  贵州茅台  600519  2021-07-29 14:00  1742.00  1739.58  1742.00  1739.58   864.0  150446840.0  0.14 -0.14  -2.43  0.01
1524  贵州茅台  600519  2021-07-29 14:05  1741.87  1740.00  1745.00  1738.88  1083.0  188427970.0  0.35  0.02   0.42  0.01
1525  贵州茅台  600519  2021-07-29 14:10  1740.00  1740.02  1740.10  1740.00    59.0   10315488.0  0.01  0.00   0.02  0.00

[1526 rows x 13 columns]
  • 沪深市场 A 股最新状况
>>> import efinance as ef
>>> ef.stock.get_realtime_quotes()
      股票代码  股票名称     涨跌幅     最新价    涨跌额    换手率   动态市盈率       成交量           成交额    昨日收盘            总市值           流通市值      行情ID 市场类型
0     688071   N华依  207.43    50.0  28.48  67.12 -219.27   99544.0   418538896.0   13.73   3074777911.0    625999204.0  1.688071   沪A
1     301036   N双乐  118.14   54.47  27.62  54.87   28.73  130105.0   617950992.0   23.38   5100000000.0   1209212346.0  0.301036   深A
2     001210   N金房   43.98   40.33  12.32   0.98     8.8    2224.0     8925679.0   28.01   3659869945.0    915087700.0  0.001210   深A
3     688296  和达科技   21.63   33.96   5.69  43.55 -148.35  106311.0   332416720.0   26.31   3436581120.0    781185344.0  1.688296   沪A
4     300506   名家汇   20.07    7.36   1.23  11.21   23.52  557936.0   390061552.0    6.13   4821136911.0   3662128367.0  0.300506   深A
...      ...   ...     ...     ...    ...    ...     ...       ...           ...     ...            ...            ...       ...  ...
4582  001209  洪兴股份   -6.62    38.3  -2.54  28.02    25.5   65819.0   236373218.0   38.34   3363223840.0    840816700.0  0.001209   深A
4583  600702  舍得酒业   -6.96  221.96 -14.97   5.27   55.65  174689.0  3610555488.0  214.98  67202499957.0  66306721170.0  1.600702   沪A
4584  601921  浙版传媒   -8.04   12.87  -1.06   22.1   23.05  491173.0   604604496.0   13.19  26955555565.0   2695555565.0  1.601921   沪A
4585  600260  凯乐科技   -9.91    5.09  -0.56   0.76    6.69   75947.0    38657023.0    5.65   5075652410.0   5063970035.0  1.600260   沪A
4586  301024   C霍普  -13.12   64.91  -9.49  28.79   72.65   30515.0   190081884.0   72.32   2663363700.0    665998000.0  0.301024   深A

Fund

  • 获取基金历史净值信息
>>> import efinance as ef
>>> ef.fund.get_quote_history('161725')
             日期    单位净值    累计净值     涨跌幅
0    2021-07-29  1.2726  2.9037   -1.52
1    2021-07-28  1.2922  2.9233    0.85
2    2021-07-27  1.2813  2.9124    -3.6
3    2021-07-26  1.3292  2.9603   -7.24
4    2021-07-23  1.4329  3.0640   -2.29
...         ...     ...     ...     ...
1502 2015-06-08  1.0380  1.0380  2.5692
1503 2015-06-05  1.0120  1.0120  1.5045
1504 2015-06-04  0.9970  0.9970      --
1505 2015-05-29  0.9950  0.9950      --
1506 2015-05-27  1.0000  1.0000      --

[1507 rows x 4 columns]

Bond

  • 可转债整体行情
>>> import efinance as ef
>>> ef.bond.get_realtime_quotes()
       债券代码  债券名称    涨跌幅      最新价     涨跌额      换手率 动态市盈率      成交量           成交额    昨日收盘         总市值        流通市值      行情ID 市场类型
0    128093  百川转债  22.73    308.0    53.9  1231.99     -  2027056  5443504896.0   237.1   478796559   478796559  0.128093   深A
1    110074  精达转债  17.36    259.0   38.04    93.64     -   530556  1312028976.0  219.16  1457252762  1457252762  1.110074   沪A
2    113047  旗滨转债  16.36    195.0   26.98    29.48     -   442252   820405952.0  164.93  2878650000  2878650000  1.113047   沪A
3    123089  九洲转2  15.38    156.0  20.698    186.2     -   677158  1019904000.0  134.58   564702298   564702298  0.123089   深A
4    123074  隆利转债  15.03    196.6   24.91   1144.2     -  2379653  4380623616.0   165.7   396422482   396422482  0.123074   深A
..      ...   ...    ...      ...     ...      ...   ...      ...           ...     ...         ...         ...       ...  ...
383  128108  蓝帆转债  -1.43  122.199  -1.748     7.99     -   121936   146871594.0  121.82  1831785652  1831785652  0.128108   深A
384  110043  无锡转债   -1.5    119.0   -1.78     1.39     -    40634    47674406.0   118.7  3415662530  3415662530  1.110043   沪A
385  128026  众兴转债  -1.63  121.898  -1.956    47.21     -   193308   231279838.0  119.82   482576233   482576233  0.128026   深A
386  123065  宝莱转债   -1.7   112.35   -1.91     28.5     -    62381    69405273.0   112.6   242259344   242259344  0.123065   深A
387  128053  尚荣转债   -2.8    142.0    -4.0   327.41     -   623980   867909216.0   143.0   264907729   264907729  0.128053   深A

[388 rows x 14 columns]
  • 指定可转债 K 线数据(与 stock 模块通用)
>>> import efinance as ef
>>> # 可转债代码(以 东财转3 为例)
>>> bond_code = '123111'
>>> ef.bond.get_quote_history(bond_code)
    股票名称    股票代码          日期       开盘       收盘       最高       最低      成交量           成交额    振幅    涨跌幅     涨跌额    换手率
0   东财转3  123111  2021-04-23  130.000  130.000  130.000  130.000  1836427  2.387355e+09  0.00  30.00  30.000  11.62
1   东财转3  123111  2021-04-26  130.353  130.010  133.880  125.110  8610944  1.126033e+10  6.75   0.01   0.010  54.50
2   东财转3  123111  2021-04-27  129.000  129.600  130.846  128.400  1820766  2.357472e+09  1.88  -0.32  -0.410  11.52
3   东财转3  123111  2021-04-28  129.100  130.770  131.663  128.903  1467727  1.921641e+09  2.13   0.90   1.170   9.29
4   东财转3  123111  2021-04-29  130.690  131.208  133.150  130.560  1156934  1.525974e+09  1.98   0.33   0.438   7.32
..   ...     ...         ...      ...      ...      ...      ...      ...           ...   ...    ...     ...    ...
61  东财转3  123111  2021-07-23  160.000  157.100  166.200  156.660   749059  1.201969e+09  5.98  -1.47  -2.350   4.74
62  东财转3  123111  2021-07-26  157.980  154.011  160.200  153.610   620403  9.696688e+08  4.19  -1.97  -3.089   3.93
63  东财转3  123111  2021-07-27  155.240  150.810  156.509  150.250   569574  8.709329e+08  4.06  -2.08  -3.201   3.60
64  东财转3  123111  2021-07-28  150.410  148.790  152.910  147.220   911562  1.359813e+09  3.77  -1.34  -2.020   5.77
65  东财转3  123111  2021-07-29  152.000  158.210  159.600  151.400  1061348  1.655937e+09  5.51   6.33   9.420   6.72

[66 rows x 13 columns]

Futures

  • 获取四大交易所期货基本信息
>>> import efinance as ef
>>> ef.futures.get_futures_base_info()
       期货代码     期货名称       secid 归属交易所
0       jmm     焦煤主力     114.jmm   大商所
1    jm2109   焦煤2109  114.jm2109   大商所
2    ss2204  不锈钢2204  113.ss2204   上期所
3    jm2110   焦煤2110  114.jm2110   大商所
4    jm2111   焦煤2111  114.jm2111   大商所
..      ...      ...         ...   ...
782   i2108  铁矿石2108   114.i2108   大商所
783   i2112  铁矿石2112   114.i2112   大商所
784   i2203  铁矿石2203   114.i2203   大商所
785      im    铁矿石主力      114.im   大商所
786   i2109  铁矿石2109   114.i2109   大商所

[787 rows x 4 columns]
  • 获取期货历史行情
>>> import efinance as ef
>>> # 指定单个期货的 secid
>>> secid = '115.ZCM'
>>> ef.futures.get_quote_history(secid)
    日期     开盘     收盘     最高     最低     成交量            成交额    振幅    涨跌幅    涨跌额   换手率
0     2015-05-18  440.0  437.6  440.2  437.6      64      2806300.0  0.00   0.00    0.0  0.00
1     2015-05-19  436.0  437.0  437.6  436.0       6       262100.0  0.36  -0.32   -1.4  0.00
2     2015-05-20  436.8  435.8  437.0  434.8       8       348750.0  0.50  -0.23   -1.0  0.00
3     2015-05-21  438.0  443.2  446.8  437.8      37      1631850.0  2.06   1.65    7.2  0.00
4     2015-05-22  439.2  441.4  443.8  439.2      34      1502500.0  1.04   0.09    0.4  0.00
...          ...    ...    ...    ...    ...     ...            ...   ...    ...    ...   ...
1475  2021-06-08  800.2  819.2  821.0  791.0  201763  16270168320.0  3.72   1.56   12.6  0.00
1476  2021-06-09  822.4  818.2  832.2  816.0  193464  15925956608.0  2.01   1.46   11.8  0.00
1477  2021-06-10  818.0  803.4  828.4  801.2  168933  13805204736.0  3.30  -2.41  -19.8  0.00
1478  2021-06-11  807.0  827.2  833.0  805.8  207762  16999086848.0  3.33   1.22   10.0  0.00
1479  2021-06-15  847.0  849.2  853.6  830.0  140166  11827207168.0  2.88   3.79   31.0  0.00

>>> # 指定多个期货的 secid
>>> secids = ['115.ZCM','115.ZC109']
>>> futures_df = ef.futures.get_quote_history(secids)
>>> type(futures_df)
<class 'dict'>
>>> futures_df.keys()
dict_keys(['115.ZC109', '115.ZCM'])
>>> futures_df['115.ZC109']
            日期     开盘     收盘     最高     最低     成交量           成交额    振幅   涨跌幅   涨跌额  换手率
0    2020-09-09  551.2  551.2  551.2  551.2       2  1.102400e+05  0.00  0.00   0.0  0.0
1    2020-09-10  548.6  545.0  549.8  545.0       6  3.289200e+05  0.87 -1.12  -6.2  0.0
2    2020-09-11  545.0  544.2  548.4  543.0       7  3.815000e+05  0.99 -0.73  -4.0  0.0
3    2020-09-14  546.0  550.4  550.4  546.0       7  3.843000e+05  0.81  0.99   5.4  0.0
4    2020-09-15  549.0  551.2  551.6  549.0      14  7.705600e+05  0.47  0.40   2.2  0.0
..          ...    ...    ...    ...    ...     ...           ...   ...   ...   ...  ...
211  2021-07-26  905.2  897.0  909.8  885.0  142890  1.282009e+10  2.72 -1.45 -13.2  0.0
212  2021-07-27  897.0  892.4  915.8  888.0  109033  9.802067e+09  3.10 -0.53  -4.8  0.0
213  2021-07-28  892.4  902.4  909.6  890.4   89853  8.086770e+09  2.14  0.38   3.4  0.0
214  2021-07-29  902.6  918.6  919.0  900.4   83106  7.562646e+09  2.07  2.07  18.6  0.0
215  2021-07-30  918.6  931.8  937.2  906.2   47749  4.432062e+09  3.41  2.40  21.8  0.0

Docs

更多使用例子详见文档 docs

Contact

zhihu Github Email

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

efinance-0.2.7.tar.gz (37.0 kB view hashes)

Uploaded Source

Built Distribution

efinance-0.2.7-py3-none-any.whl (38.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page