这个仓库名为 Ashare
,是一个开源的极简 A 股实时行情数据 API 项目,旨在为量化研究者提供便捷、稳定的股票行情数据获取方式,帮助他们更专注于策略和模型的研究与实现。以下是对该仓库的详细介绍:
功能特点
- 核心库轻量化:项目库仅包含一个文件
Ashare.py
,无需安装设置,可自由裁剪,使用时只需导入from Ashare import *
即可。 - 双内核封装:整合了新浪财经和腾讯股票的实时行情数据,支持获取任意历史日线、周线、月线、分钟线、小时线等,且已稳定运行数年。
- 自动热备切换:双内核采用一主一备的方式,当主数据源出现故障时,会自动切换到备用数据源,可满足量化实盘行情源的需求。
- 数据格式统一:将所有数据格式清理成
DataFrame
格式,方便用户使用pandas
进行分析和处理。 - 简单轻量便携:与其他行情库(如
tushare
等)相比,Ashare
具有简单、轻量、便携、开源的优点。它将复杂的数据获取、拆分和整合逻辑封装成一个函数get_price()
,用户易于上手。
主要文件及功能
Ashare.py
:核心文件,包含了获取股票行情数据的主要函数。get_price_day_tx
:通过腾讯接口获取日线数据。get_price_min_tx
:通过腾讯接口获取分钟线数据。get_price_sina
:通过新浪接口获取全周期数据。get_price
:对外暴露的唯一函数,根据输入的参数自动选择合适的数据源获取数据。
MyTT.py
:实现了通达信、同花顺公式指标以及文华麦语言的 Python 版本,包含各种技术指标的计算函数,如MACD
、KDJ
、RSI
等。Demo1.py
:示例文件,展示了如何使用get_price
函数获取不同周期的股票行情数据,包括日线、周线、月线和分钟线。Demo2.py
:示例文件,结合Ashare
和MyTT
,获取股票行情数据并计算相关技术指标(如 5 日均线、10 日均线、布林带指标),最后使用matplotlib
进行可视化展示。README.md
:项目说明文档,详细介绍了项目的功能特点、使用方法和示例代码,并提供了团队其他开源项目的链接。
使用示例
以下是从 README.md
中提取的示例代码,展示了如何使用 Ashare
获取股票行情数据:
from Ashare import *
# 证券代码兼容多种格式 通达信,同花顺,聚宽
# sh000001 (000001.XSHG) sz399006 (399006.XSHE) sh600519 ( 600519.XSHG )
# 默认获取今天往前5天的日线实时行情
df = get_price('sh000001', frequency='1d', count=5)
print('上证指数日线行情\n', df)
# 指定结束日期,获取历史行情
df = get_price('000001.XSHG', frequency='1d', count=5, end_date='2021-04-30')
print('上证指数历史行情\n', df)
# 支持'1d'日, '1w'周, '1M'月
df = get_price('000001.XSHG', frequency='1w', count=5, end_date='2018-06-15')
print('上证指数历史周线\n', df)
# 分钟线实时行情,可用'1m','5m','15m','30m','60m'
df = get_price('sh600519', frequency='15m', count=5)
print('贵州茅台15分钟线\n', df)
# 分钟线实时行情,可用'1m','5m','15m','30m','60m'
df = get_price('600519.XSHG', frequency='60m', count=6)
print('贵州茅台60分钟线\n', df)
团队其他开源项目
总的来说,Ashare
是一个简单易用、功能强大的 A 股实时行情数据 API,适合量化研究者和开发者使用。