博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用efinance包获取股票数据

Posted on 2021-11-07 21:16  心默默言  阅读(2736)  评论(0编辑  收藏  举报
pip install efinance 来安装
# -*- coding: utf-8 -*-
# @Time    : 
# @Author  : 


# 导入 efinance 如果没有安装则需要通过执行命令: pip install efinance 来安装
import efinance as ef

paras = {
    'stock_code': '002475',
    'begin': '20211001',
    'end': '20211105',
    'freq': 101
    }

stock_code = paras['stock_code']
beg = paras['begin']
end = paras['end']
freq = paras['freq']

# 获取最新一个交易日的分钟级别股票行情数据
df = ef.stock.get_quote_history(stock_codes=stock_code, beg=beg, end=end, klt=freq)
# 将数据存储到 csv 文件中
df.to_excel(f'{stock_code}_{freq}.xlsx', encoding='utf-8-sig', index=None)
print(f'股票: {stock_code} 的行情数据已存储到文件: {stock_code}_{freq}.xlsx 中!')
 """
    获取股票的 K 线数据

    Parameters
    ----------
    stock_codes : Union[str,List[str]]
        股票代码、名称 或者 股票代码、名称构成的列表
    beg : str, optional
        开始日期,默认为 ``'19000101'`` ,表示 1900年1月1日
    end : str, optional
        结束日期,默认为 ``'20500101'`` ,表示 2050年1月1日
    klt : int, optional
        行情之间的时间间隔,默认为 ``101`` ,可选示例如下

        - ``1`` : 分钟
        - ``5`` : 5 分钟
        - ``15`` : 15 分钟
        - ``30`` : 30 分钟
        - ``60`` : 60 分钟
        - ``101`` : 日
        - ``102`` : 周
        - ``103`` : 月

    fqt : int, optional
        复权方式,默认为 ``1`` ,可选示例如下

        - ``0`` : 不复权
        - ``1`` : 前复权
        - ``2`` : 后复权

    Returns
    -------
    Union[DataFrame, Dict[str, DataFrame]]
        股票的 K 线数据

        - ``DataFrame`` : 当 ``stock_codes`` 是 ``str`` 时
        - ``Dict[str, DataFrame]`` : 当 ``stock_codes`` 是 ``List[str]`` 时