You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12 KiB

AmazingData 金融数据服务平台 - API接口文档

基础信息

  • Base URL: http://localhost:8000/api/v1
  • Content-Type: application/json
  • 认证方式: JWT Bearer Token

认证相关

1. 用户登录

POST /auth/login
Content-Type: application/json

{
    "username": "admin",
    "password": "admin123"
}

响应:

{
    "code": 200,
    "message": "success",
    "data": {
        "access_token": "eyJhbGciOiJIUzI1NiIs...",
        "token_type": "bearer",
        "expires_in": 86400
    }
}

2. 获取当前用户

GET /auth/me
Authorization: Bearer {token}

配置管理

3. 获取SDK配置列表

GET /configs/sdk
Authorization: Bearer {token}

4. 创建SDK配置

POST /configs/sdk
Authorization: Bearer {token}
Content-Type: application/json

{
    "name": "银河证券生产环境",
    "username": "your_username",
    "password": "your_password",
    "host": "xxx.xxx.xxx.xxx",
    "port": 8080,
    "local_path": "./amazing_data_cache/",
    "is_default": true
}

5. 测试SDK连接

POST /configs/sdk/{id}/test
Authorization: Bearer {token}

基础数据

6. 获取代码列表

GET /base/codes?security_type=EXTRA_STOCK_A
Authorization: Bearer {token}

参数:

  • security_type: 证券类型
    • EXTRA_STOCK_A - 沪深A股
    • EXTRA_FUTURE - 期货
    • EXTRA_ETF - ETF
    • EXTRA_INDEX_A - 指数

7. 获取证券信息

GET /base/codes/{code}/info
Authorization: Bearer {token}

8. 获取交易日历

GET /base/calendar?market=SH&start_date=20240101&end_date=20241231
Authorization: Bearer {token}

股票数据

9. 获取股票K线数据

GET /stock/kline?codes=000001.SZ&start_date=20240101&end_date=20241231&period=daily
Authorization: Bearer {token}

参数:

  • codes: 股票代码,多个用逗号分隔
  • start_date: 开始日期 (YYYYMMDD)
  • end_date: 结束日期 (YYYYMMDD)
  • period: 周期 (daily, min1, min5, min15, min30, min60)

响应:

{
    "code": 200,
    "message": "success",
    "data": {
        "000001.SZ": [
            {
                "trade_date": "2024-01-02",
                "open": 10.50,
                "high": 10.80,
                "low": 10.40,
                "close": 10.65,
                "volume": 1234567,
                "amount": 12845678.90
            }
        ]
    }
}

10. 获取股票K线图数据

GET /stock/kline/{code}/chart?start_date=20240101&end_date=20241231&period=daily
Authorization: Bearer {token}

响应 (ECharts格式):

{
    "code": 200,
    "message": "success",
    "data": {
        "categoryData": ["2024-01-02", "2024-01-03", ...],
        "values": [
            [10.50, 10.80, 10.40, 10.65, 1234567],
            [10.65, 10.70, 10.50, 10.60, 987654],
            ...
        ],
        "volumes": [
            [0, 1234567, 1],
            [1, 987654, -1],
            ...
        ]
    }
}

11. 批量获取股票K线

POST /stock/kline/batch
Authorization: Bearer {token}
Content-Type: application/json

{
    "codes": ["000001.SZ", "600000.SH"],
    "start_date": "20240101",
    "end_date": "20241231",
    "period": "daily"
}

期货数据

12. 获取期货K线数据

GET /future/kline?codes=IF2501.CFE&start_date=20240101&end_date=20241231&period=daily
Authorization: Bearer {token}

13. 获取期货K线图数据

GET /future/kline/{code}/chart?start_date=20240101&end_date=20241231&period=daily
Authorization: Bearer {token}

实时数据

14. 获取最新快照

GET /realtime/snapshot?codes=000001.SZ,600000.SH
Authorization: Bearer {token}

15. 开始实时订阅

POST /realtime/subscribe
Authorization: Bearer {token}
Content-Type: application/json

{
    "codes": ["000001.SZ", "600000.SH"],
    "types": ["snapshot"],
    "callback_url": "ws://localhost:8000/api/v1/realtime/stream"
}

16. WebSocket实时数据流

WS /realtime/stream?codes=000001.SZ,600000.SH&types=snapshot
Authorization: Bearer {token}

消息格式:

{
    "type": "snapshot",
    "code": "000001.SZ",
    "data": {
        "trade_time": "2025-01-15T10:30:00",
        "last": 10.50,
        "open": 10.30,
        "high": 10.60,
        "low": 10.20,
        "volume": 1234567,
        "amount": 12845678.90
    }
}

财务数据

17. 获取资产负债表

GET /finance/balance-sheet?codes=000001.SZ&start_date=20240930&end_date=20240930
Authorization: Bearer {token}

响应:

{
    "code": 200,
    "message": "success",
    "data": {
        "000001.SZ": [
            {
                "report_date": "2024-09-30",
                "total_assets": 123456789012.34,
                "total_cur_assets": 98765432109.87,
                "total_liab": 87654321098.76,
                "tot_share_equity": 35802467913.58
            }
        ]
    }
}

18. 获取现金流量表

GET /finance/cash-flow?codes=000001.SZ&start_date=20240930&end_date=20240930
Authorization: Bearer {token}

19. 获取利润表

GET /finance/income?codes=000001.SZ&start_date=20240930&end_date=20240930
Authorization: Bearer {token}

20. 获取业绩快报

GET /finance/profit-express?codes=000001.SZ&start_date=20240930&end_date=20240930
Authorization: Bearer {token}

21. 获取业绩预告

GET /finance/profit-notice?codes=000001.SZ&start_date=20240930&end_date=20240930
Authorization: Bearer {token}

股东数据

22. 获取十大股东

GET /shareholder/top10?codes=000001.SZ&start_date=20240930&end_date=20240930
Authorization: Bearer {token}

23. 获取股东户数

GET /shareholder/count?codes=000001.SZ&start_date=20240930&end_date=20240930
Authorization: Bearer {token}

24. 获取股本结构

GET /shareholder/equity?codes=000001.SZ&start_date=20240930&end_date=20240930
Authorization: Bearer {token}

融资融券

25. 获取融资融券汇总

GET /margin/summary?start_date=20240101&end_date=20241231
Authorization: Bearer {token}

26. 获取融资融券明细

GET /margin/detail?codes=000001.SZ&start_date=20240101&end_date=20241231
Authorization: Bearer {token}

指数数据

27. 获取指数成分股

GET /index/constituents?codes=000300.SH
Authorization: Bearer {token}

28. 获取指数权重

GET /index/weights?codes=000300.SH&start_date=20240101&end_date=20241231
Authorization: Bearer {token}

ETF数据

29. 获取ETF申赎数据

GET /etf/pcf?codes=510050.SH
Authorization: Bearer {token}

30. 获取ETF份额

GET /etf/share?codes=510050.SH&start_date=20240101&end_date=20241231
Authorization: Bearer {token}

可转债数据

31. 获取可转债发行数据

GET /kzz/issuance?codes=128XXX.SZ
Authorization: Bearer {token}

缓存管理

32. 检测缺失数据

POST /cache/detect-missing
Authorization: Bearer {token}
Content-Type: application/json

{
    "security_type": "stock",
    "period_type": "daily",
    "start_date": "20240101",
    "end_date": "20241231",
    "code_list": ["000001.SZ", "600000.SH"]
}

响应:

{
    "code": 200,
    "message": "success",
    "data": {
        "task_id": 1,
        "total_codes": 2,
        "missing_codes": [
            {
                "code": "000001.SZ",
                "missing_dates": [
                    {
                        "date": "2024-06-01",
                        "expected": 1,
                        "actual": 0,
                        "missing_ratio": 1.0
                    }
                ]
            }
        ]
    }
}

33. 批量缓存数据

POST /cache/batch-cache
Authorization: Bearer {token}
Content-Type: application/json

{
    "security_type": "stock",
    "period_type": "daily",
    "start_date": "20240101",
    "end_date": "20241231",
    "code_list": ["000001.SZ", "600000.SH"]
}

34. 获取缓存任务列表

GET /cache/tasks?page=1&page_size=20
Authorization: Bearer {token}

35. 获取缓存任务详情

GET /cache/tasks/{task_id}
Authorization: Bearer {token}

36. 取消缓存任务

DELETE /cache/tasks/{task_id}
Authorization: Bearer {token}

37. 获取代码缓存状态

GET /cache/status/{code}?security_type=stock&period_type=daily
Authorization: Bearer {token}

响应:

{
    "code": 200,
    "message": "success",
    "data": {
        "code": "000001.SZ",
        "security_type": "stock",
        "period_type": "daily",
        "record_count": 242,
        "min_date": "2024-01-02",
        "max_date": "2024-12-31",
        "missing_ratio": 0.0
    }
}

测试中心

38. 获取测试分类

GET /test/categories
Authorization: Bearer {token}

响应:

{
    "code": 200,
    "message": "success",
    "data": [
        {"key": "base_data", "name": "基础数据"},
        {"key": "stock", "name": "股票数据"},
        {"key": "future", "name": "期货数据"},
        {"key": "realtime", "name": "实时数据"},
        {"key": "finance", "name": "财务数据"},
        {"key": "shareholder", "name": "股东数据"},
        {"key": "margin", "name": "融资融券"},
        {"key": "index", "name": "指数数据"},
        {"key": "etf", "name": "ETF数据"},
        {"key": "kzz", "name": "可转债数据"}
    ]
}

39. 获取接口列表

GET /test/endpoints?category=stock
Authorization: Bearer {token}

40. 执行单个接口测试

POST /test/run
Authorization: Bearer {token}
Content-Type: application/json

{
    "endpoint": "/api/v1/stock/kline",
    "method": "GET",
    "params": {
        "codes": "000001.SZ",
        "start_date": "20240101",
        "end_date": "20241231",
        "period": "daily"
    }
}

41. 执行全部接口测试

POST /test/run-all
Authorization: Bearer {token}
Content-Type: application/json

{
    "categories": ["stock", "future", "finance"]
}

42. 获取测试历史

GET /test/history?page=1&page_size=20
Authorization: Bearer {token}

错误码

错误码 说明
200 成功
400 参数错误
401 未授权
403 禁止访问
404 资源不存在
500 服务器内部错误
1001 SDK连接失败
1002 数据不存在
1003 任务执行失败

数据类型说明

K线数据结构

字段 类型 说明
trade_date string 交易日期 (YYYY-MM-DD)
trade_datetime string 交易时间 (YYYY-MM-DD HH:MM:SS)
open number 开盘价
high number 最高价
low number 最低价
close number 收盘价
volume number 成交量
amount number 成交金额

期货K线额外字段

字段 类型 说明
settle number 结算价
open_interest number 持仓量

快照数据结构

字段 类型 说明
code string 证券代码
trade_time string 交易时间
last number 最新价
open number 开盘价
high number 最高价
low number 最低价
volume number 成交量
amount number 成交金额
ask_price1-5 number 卖1-5价格
ask_volume1-5 number 卖1-5数量
bid_price1-5 number 买1-5价格
bid_volume1-5 number 买1-5数量

文档版本: 1.0 更新日期: 2025年