如果你做量化交易、股票分析或者金融数据相关的网站,一定遇到过数据获取的痛点——要么API不稳定,要么需要付费,要么数据不全。最近GitHub上出现了一个叫a-stock-data的项目,2000+星标,号称”零第三方依赖”的A股全栈数据工具包。
项目亮点
- 7层架构:数据采集、清洗、存储、查询、分析、展示、API,每一层都可独立使用
- 28个API端点:覆盖行情、财务、资金流、龙虎榜、融资融券等常用数据
- 13个数据源:东方财富、新浪财经、同花顺、雪球等主流数据源
- 零第三方依赖:不依赖付费API,所有数据从公开来源获取
自建教程
环境要求
- Python 3.8+
- MySQL 5.7+ 或 PostgreSQL 12+
- Redis(可选,用于缓存)
- 至少2GB内存
步骤1:克隆项目
git clone https://github.com/simonlin1212/a-stock-data.git
cd a-stock-data
步骤2:安装依赖
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
步骤3:配置数据库
# 编辑配置文件
cp config.example.yaml config.yaml
nano config.yaml
配置数据库连接:
database:
host: localhost
port: 3306
name: a_stock_data
user: your_user
password: your_password
redis:
host: localhost
port: 6379
db: 0
步骤4:初始化数据库
# 创建数据库
mysql -u root -p -e "CREATE DATABASE a_stock_data CHARACTER SET utf8mb4;"
# 运行初始化脚本
python manage.py init_db
步骤5:启动服务
# 启动数据采集服务
python manage.py start_collector
# 启动API服务
python manage.py start_api
步骤6:验证
# 测试API
curl http://localhost:8000/api/v1/stock/000001
# 应该返回平安银行的实时行情数据
主要API端点
行情数据
# 实时行情
GET /api/v1/stock/{code}/realtime
# 历史K线
GET /api/v1/stock/{code}/kline?period=daily&start=2026-01-01
# 分钟线
GET /api/v1/stock/{code}/minute
财务数据
# 利润表
GET /api/v1/stock/{code}/income
# 资产负债表
GET /api/v1/stock/{code}/balance
# 现金流量表
GET /api/v1/stock/{code}/cashflow
资金流数据
# 主力资金流向
GET /api/v1/stock/{code}/moneyflow
# 龙虎榜
GET /api/v1/market/dragon
数据源说明
| 数据源 | 数据类型 | 更新频率 |
|---|---|---|
| 东方财富 | 行情、财务、资金流 | 实时/日更 |
| 新浪财经 | 实时行情 | 实时 |
| 同花顺 | 龙虎榜、融资融券 | 日更 |
| 雪球 | 讨论热度、估值 | 日更 |
使用场景
- 量化交易:获取历史数据回测策略
- 股票分析网站:为你的用户提供实时行情
- 数据可视化:制作K线图、资金流向图
- AI选股:用数据训练选股模型
注意事项
- 数据仅供学习研究,不构成投资建议
- 请控制请求频率,避免被数据源封禁
- 部分数据源可能有反爬机制,需要适当处理
- 建议在非交易时间批量采集数据,减少对数据源的压力
进阶用法
结合AI分析
你可以将采集到的数据输入AI模型,进行智能分析:
import openai
# 获取股票数据
data = requests.get('http://localhost:8000/api/v1/stock/000001/kline').json()
# 用AI分析
response = openai.chat.completions.create(
model="gpt-4",
messages=[{
"role": "user",
"content": f"分析以下股票数据并给出建议:{data}"
}]
)
搭建数据看板
用Grafana或自建前端,将API数据可视化展示。a-stock-data提供标准REST API,可以很方便地对接各种可视化工具。
© 版权声明
THE END















暂无评论内容