/adata

免费开源A股量化数据库; 专注A股,专注量化,向阳而生; 开放、纯净、持续、为Ai(爱)发电。为个人量化交易而生,保卫3000(2500)点,珍惜底部机会......【股票数据,股票行情数据,股票量化数据,股票交易数据,k线行情数据,股票概念数据,股票数据接口,行情数据接口】【多数据源融合,动态设置代理,保障数据高可用性】

Primary LanguagePythonApache License 2.0Apache-2.0

logo

GitHub language countGitHub top languagePyPI - Python VersionLicenceDownloadsGitHub Repo starsGitHub issuesGitHub contributorsGitHub (Pre-)Release DateDownloadsPyPI - Version

0、介绍

专注A股,专注量化,向阳而生;开放、纯净、持续、为Ai(爱)发电。

专注股票行情数据,为了保证数据的高可用性,采用多数据源融合切换。

目标:支持个人量化行情的需要;众人拾柴火焰高,欢迎加入。

市场寒冷,发热不易,坚持更难;如有帮助到你,右上角点 ⭐Star 一键三连,谢谢支持和收藏^_^

(1)安装sdk

# 首次安装
pip install adata
# 指定镜像源
pip install adata -i http://mirrors.aliyun.com/pypi/simple/

# 升级版本
pip install -U adata
# 指定镜像源
pip install -U adata -i http://mirrors.aliyun.com/pypi/simple/

注:国内镜像可能存在同步延迟,可使用官方镜像源,以下是镜像源

阿里云【推荐】:http://mirrors.aliyun.com/pypi/simple/

清华大学:https://pypi.tuna.tsinghua.edu.cn/simple

官方镜像源:https://pypi.org/simple

(2)使用示例

1. 获取股票代码

获取所有的股票代码

import adata

res_df = adata.stock.info.all_code()
print(res_df)

示例结果:

  stock_code short_name exchange
0        001324       N长青科       SZ
1        301361       众智科技       SZ
2        300514        友讯达       SZ
...         ...        ...      ...
5490     300367        网力退       SZ
5491     300372        欣泰退       SZ
5492     300431        暴风退       SZ

[5493 rows x 3 columns]

2. 获取股票的行情

获取到股票代码后,传入对应的stock_code参数,查询对应股票的行情信息。

import adata

# k_type: k线类型:1.日;2.周;3.月 默认:1 日k
res_df = adata.stock.market.get_market(stock_code='000001', k_type=1, start_date='2021-01-01')
print(res_df)

示例结果:

            trade_time   open  close  ... pre_close stock_code  trade_date
0    2021-01-04 00:00:00  18.69  18.19  ...     18.93     000001  2021-01-04
1    2021-01-05 00:00:00  17.99  17.76  ...     18.19     000001  2021-01-05
2    2021-01-06 00:00:00  17.67  19.15  ...     17.76     000001  2021-01-06
..                   ...    ...    ...  ...       ...        ...         ...
573  2023-05-18 00:00:00  12.57  12.49  ...     12.49     000001  2023-05-18
574  2023-05-19 00:00:00  12.43  12.34  ...     12.49     000001  2023-05-19
575  2023-05-22 00:00:00  12.31  12.38  ...     12.34     000001  2023-05-22

[576 rows :x 13 columns]

3. 其它数据使用

请参考下面数据列表和相关字典文档,找到对应的函数并查看对应的函数注释,进行正确使用。

4. 代理设置

项目是基于公开接口,可能存在限制等,因此增加代理设置功能

import adata

# 设置代理,代理是全局设置,代理失效后可重新设置。参数:ip,proxy_url
adata.proxy(is_proxy=True, ip='60.167.21.27:1133')
res_df = adata.stock.info.all_code()
print(res_df)

注:

  • proxy_url: 获取代理Ip的链接;ip和proxy_url方式选择其一;
  • 每次请求获取一次,为节省ip资源建议使用自建的代理池。

整理了最新版本的数据列表和相关使用Api,详细内容和相关使用参数,请参考数据字典文档。

(1)股票-Stock

1. 基本信息

数据 API 说明 备注
A股代码 stock.info.all_code() 所有A股代码信息
股本信息 stock.info.get_stock_shares() 获取单只股票的股本信息 来源:东方财富
申万一二级行业 stock.info.get_industry_sw() 获取单只股票的申万一二级行业 来源:百度
概念
来源:同花顺
概念代码 stock.info.all_concept_code_ths() 所有A股概念代码信息(同花顺) 来源:同花顺公开数据
概念成分列表 stock.info.concept_constituent_ths() 获取同花顺概念指数的成分股(同花顺) 注意:返回结果只有股票代码和股票简称,可根据概念名称查询
股票所属概念 stock.info.get_concept_ths() 获取单只股票所属的概念板块 F10
来源:东方财富
概念代码 stock.info.all_concept_code_east() 所有A股概念代码信息(东方财富) 来源:东方财富
概念成分列表 stock.info.concept_constituent_east() 获取同花顺概念指数的成分股(东方财富) 注意:返回结果只有股票代码和股票简称,可根据概念名称查询
股票所属概念 stock.info.get_concept_east() 获取单只股票所属的概念板块 核心题材
指数
指数代码 stock.info.all_index_code() 获取所有A股市场的指数代码 来源同花顺,可能存在同花顺对代码重新编码的情况
指数对应的成分股 stock.info.index_constituent() 获取对应指数的成分股列表
其它
股票交易日历 stock.info.trade_calendar() 获取股票交易日信息 来源:深交所

2. 行情信息

数据 API 说明 备注
分红信息 stock.market.get_dividend() 获取单只股票的分红信息
股票行情 stock.market.get_market() 获取单只股票的行情信息-日、周、月 k线
stock.market.get_market_min() 获取单个股票的今日分时行情 只能获取当天
实时行情 stock.market.list_market_current() 获取多个股票最新行情信息 实时行情
数据源:2个,新浪和腾讯
stock.market.get_market_five() 获取单个股票的5档行情信息 实时行情
数据源:2个,腾讯和百度
stock.market.get_market_bar() 获取单个股票的分笔成交行情 实时行情
股市通
概念行情-同花顺 stock.market.get_market_concept_ths() 获取单个概念的行情信息-日、周、月 k线 获取同花顺概念行情时,
请注意传入参数是指数代码还是概念代码,
指数代码8开头,index_code
stock.market.get_market_concept_min_ths() 获取同花顺概念行情-当日分时 只能获取当天
stock.market.get_market_concept_current_ths() 获取同花顺当前的概念行情 实时行情
概念行情-东方财富 stock.market.get_market_concept_east() 获取单个概念的行情信息-日、周、月 k线 获取东方财富概念行情时,
指数代码BK开头,index_code
stock.market.get_market_concept_min_east() 获取同花顺概念行情-当日分时 只能获取当天
stock.market.get_market_concept_current_east() 获取同花顺当前的概念行情 实时行情
指数行情 stock.market.get_market_index() 获取指数的行情信息-日、周、月 k线
stock.market.get_market_index_min() 获取指数的行情-当日分时
stock.market.get_market_index_current() 获取当前的指数行情 实时行情
个股资金流 stock.market.get_capital_flow_min() 获取单个股票的今日分时资金流向 最新实时数据
stock.market.get_capital_flow() 获取单个股票的资金流向 历史日度数据

注:概念和指数从本质来看是一样的,所以相关的接口和返回结果是一致的,概念是各个厂商自定义的指数,指数是官方或者权威机构定义的,都是一揽子股票的组合。

(2)基金-ETF

1. 基本信息

数据 API 说明 备注
ETF(场内) fund.info.all_etf_exchange_traded_info() 获取所有A股市场的ETF信息 来源:1. 东方财富

2. 行情信息

数据 API 说明 备注
ETF行情 fund.market.get_market_etf() 获取ETF的行情信息-日、周、月 k线 来源:同花顺
fund.market.get_market_etf_min() 获取ETF的行情-当日分时
fund.market.get_market_etf_current() 获取当前的ETF行情 实时行情

(3)债券-Bond

数据 API 说明 备注
可转债代码 bond.info.all_convert_code() 获取所有A股市场的可转换债券代码信息 来源:1. 同花顺
可转债行情 bond.market.list_market_current() 获取A股市场的可转换债券最新行情 来源:新浪

(4)舆情

数据 API 说明 备注
最近一个月的股票解禁列表 sentiment.stock_lifting_last_month() 查询最近一个月的股票解禁列表 来源:1. 同花顺
全市场融资融券余额列表 sentiment.securities_margin() 查询全市场融资融券余额列表 来源:1. 东方财富
北向资金-行情
sentiment.north.north_flow_current() 获取北向资金(沪深港通)当前流入资金的行情 来源:1.东方财富
sentiment.north.north_flow_min() 获取北向资金分时行情
sentiment.north.north_flow() 获取北向资金历史流入行情
热度榜单 sentiment.hot.pop_rank_100_east 东方财富人气100榜单 来源:东方财富
sentiment.hot.hot_rank_100_ths() 同花顺热度100排行榜 来源:同花顺
sentiment.hot.hot_concept_20_ths() 同花顺热门概念板块20排行榜 来源:同花顺
sentiment.hot.list_a_list_daily() 龙虎榜单列表 来源:东方财富
sentiment.get_a_list_info() 单只股票龙虎榜信息详情 来源:东方财富
其它数据排期中 TODO 若您有相关资源可以一起参与贡献

三、数据源

数据源 板块 描述
同花顺 数据中心行情中心问财 让投资变的更简单
百度股市通 股市通 科技让投资更简单
东方财富 数据中心行情中心 财经门户
腾讯理财 行情中心
新浪财经 新浪财经 门户网站

--------------------------------------------感谢各位大厂提供的数据----------------------------------------------

四、 其它参考

主要记录查阅过的项目和相关平台,并对此项目产生了深远印象,特此鸣谢。

akshare 聚宽量化 baostock MyData

五、发布计划

版本号 内容 发布日期 备注
0.x.x 股票 2023-04-05 ~ 预览版本
✅ ️ 1.x.x 股票 2023-10-01 **Ai股
☑️ 2.x.x 基金、债券 开发中 场内可交易基金:ETF、可转债
☑️ 3.x.x xxx 排期中

六、理念

  1. 关于AData,我们只关注交易产生的数据。在A股只有交易数据是真实的,对于量化和AI训练,也只需要关心交易相关的行情数据,做到真正的专注。当然,你可能会说财务数据等也非常有用,但财务数据相对滞后,而且可能ZJ,甚至有XL可能,最终对于普通交易者可能就成了接盘侠。财务数据在我们这里,只做股票池筛选作用,不做实时交易指标推荐。

  2. 根据多年的数据治理经验,函数和字典在设计上面,符合标准的数据存储,可根据数据字典建表落地到数据库。

  3. 距离15年已过8年,时光匆匆,抓住底部机会

注:

  • 永久免费开源A股数据库,只有交易相关的数据,专注量化交易。
  • 送给A股的各位朋友一首歌:谢天笑-向阳花,愿你我向阳而生。

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码(注意代码风格和本项目一致即可)
  4. 新建 Pull Request

特别鸣谢

对于项目有支持,包括但不仅限:内容贡献,bug提交,**交流等等,对项目有影响的个人和机构

Simon bigbigbigfish LuneZ99 匿名用户 thue Triones009 adaaaaaa LeslieWuboy yinzhengxin
yxm0513 hanxuanliang akihara-sam Andy baei2048 zpsakura

Star History

Star History Chart

欢迎进行交流

logo logo

  • 添加wx好友,备注:Adata量化进交流群;
  • 扫码关注向阳花策略,不定期分享量化的知识,一起实盘量化切磋;
  • 创始交流群和公众号都是近期建立,意在提供一个交流的平台,欢迎讨论交流;
  • 一起保卫3000点直到突破6124点。