easyquotation
是一个用于快速获取中国股票市场实时行情的 Python 库,支持从新浪和腾讯获取免费的全市场行情数据。以下是对该仓库的详细介绍:
主要功能
- 多数据源支持:可以从新浪和腾讯获取免费的实时行情数据。
- 快速获取行情:在网络正常的情况下,仅需
200+ms
即可获取全市场行情。 - 支持多种股票代码格式:可以选择返回的行情数据中股票代码是否带有
sz
、sh
、bj
等市场前缀。
代码结构
仓库的主要文件和文件夹结构如下:
easyquotation/
├── .bumpversion.cfg
├── .coveragerc
├── .gitignore
├── .pre-commit-config.yaml
├── .pylintrc
├── .travis.yml
├── LICENSE
├── Makefile
├── Pipfile
├── Pipfile.lock
├── README.md
├── mypy.ini
├── requirements.txt
├── setup.py
├── test-requirements.txt
├── tests/
│ ├── __init__.py
│ ├── test_easyquotation.py
│ └── test_sina.py
├── easyquotation/
│ ├── __init__.py
│ ├── api.py
│ ├── basequotation.py
│ ├── boc.py
│ ├── daykline.py
│ ├── helpers.py
│ ├── hkquote.py
│ ├── jsl.py
│ ├── sina.py
│ ├── stock_codes.conf
│ └── tencent.py
核心模块
basequotation.py
:定义了行情获取的基类BaseQuotation
,包含了获取股票代码列表、生成请求参数、发送请求、解析响应等通用方法。sina.py
:实现了从新浪获取行情数据的功能,继承自BaseQuotation
类,重写了stock_api
和format_response_data
方法。tencent.py
:实现了从腾讯获取行情数据的功能,同样继承自BaseQuotation
类,重写了stock_api
和format_response_data
方法。helpers.py
:包含了一些辅助函数,如判断股票代码对应的证券市场、获取内置股票代码表等。
测试
仓库中包含了测试代码,位于 tests
文件夹下,使用 unittest
框架进行单元测试。例如,test_sina.py
中对新浪行情数据的提取和解析进行了测试。
安装和使用
安装
可以使用 pip
进行安装:
pip install easyquotation
也可以下载源码后进行安装:
python setup.py install
升级
pip install easyquotation --upgrade
用法示例
import easyquotation
# 选择行情数据源
quotation = easyquotation.use('sina')
# 获取所有股票行情
all_stocks = quotation.market_snapshot(prefix=True)
print(all_stocks)
许可证
该项目采用 MIT 许可证,允许用户自由使用、修改和分发代码。
作者信息
- 作者:shidenggui
- 博客:@shidenggui
- 微博:@食灯鬼
- Twitter:@shidenggui