Ashare-数据提供商-开源-01025


这个仓库名为 Ashare,是一个开源的极简 A 股实时行情数据 API 项目,旨在为量化研究者提供便捷、稳定的股票行情数据获取方式,帮助他们更专注于策略和模型的研究与实现。以下是对该仓库的详细介绍:

功能特点

  1. 核心库轻量化:项目库仅包含一个文件 Ashare.py,无需安装设置,可自由裁剪,使用时只需导入 from Ashare import * 即可。
  2. 双内核封装:整合了新浪财经和腾讯股票的实时行情数据,支持获取任意历史日线、周线、月线、分钟线、小时线等,且已稳定运行数年。
  3. 自动热备切换:双内核采用一主一备的方式,当主数据源出现故障时,会自动切换到备用数据源,可满足量化实盘行情源的需求。
  4. 数据格式统一:将所有数据格式清理成 DataFrame 格式,方便用户使用 pandas 进行分析和处理。
  5. 简单轻量便携:与其他行情库(如 tushare 等)相比,Ashare 具有简单、轻量、便携、开源的优点。它将复杂的数据获取、拆分和整合逻辑封装成一个函数 get_price(),用户易于上手。

主要文件及功能

  1. Ashare.py:核心文件,包含了获取股票行情数据的主要函数。
    • get_price_day_tx:通过腾讯接口获取日线数据。
    • get_price_min_tx:通过腾讯接口获取分钟线数据。
    • get_price_sina:通过新浪接口获取全周期数据。
    • get_price:对外暴露的唯一函数,根据输入的参数自动选择合适的数据源获取数据。
  2. MyTT.py:实现了通达信、同花顺公式指标以及文华麦语言的 Python 版本,包含各种技术指标的计算函数,如 MACDKDJRSI 等。
  3. Demo1.py:示例文件,展示了如何使用 get_price 函数获取不同周期的股票行情数据,包括日线、周线、月线和分钟线。
  4. Demo2.py:示例文件,结合 AshareMyTT,获取股票行情数据并计算相关技术指标(如 5 日均线、10 日均线、布林带指标),最后使用 matplotlib 进行可视化展示。
  5. 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,适合量化研究者和开发者使用。