A股全栈数据工具包自建教程:28端点13数据源,零第三方依赖

如果你做量化交易、股票分析或者金融数据相关的网站,一定遇到过数据获取的痛点——要么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,可以很方便地对接各种可视化工具。

本文参考来源:GitHub: simonlin1212/a-stock-data

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容