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.

9.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

AmazingData Adapter 接口调用关系 (完整版)

一、核心适配器接口

1.1 fetch_klines / _fetch_klines_sync (最复杂)

fetch_klines (async)
└── _fetch_klines_sync (sync)
    ├── _market_data.query_kline()              [第1次SDK调用]
    ├── _base_data.get_code_info()              [第2次SDK调用 - 涨跌停价]
    ├── _info_data.get_equity_structure()       [第3次SDK调用 - 股本结构]
    ├── _base_data.get_calendar()               [第4次SDK调用 - 交易日历]
    └── _get_list_date()                        [内部方法]
        ├── _base_data.get_code_info()          [可能第5次SDK调用]
        └── _base_data.get_hist_code_list()     [可能第6次SDK调用]
调用层次 方法 SDK调用次数 说明
外层 fetch_klines 1 async入口
内层 _fetch_klines_sync 4-6次 包含K线+扩展字段获取

总计 SDK 调用: 4-6 次(取决于 _get_list_date 的执行路径)


1.2 其他核心接口

序号 公共接口 同步方法 SDK 调用 次数 说明
1 connect - _market_data.login() 1 连接数据源
2 close - - 0 关闭连接
3 subscribe_ticks - - 0 订阅实时Tick
4 fetch_symbols _fetch_symbols_sync _base_data.get_code_list()
_base_data.get_code_info()
2 股票标的列表
4b fetch_symbols _fetch_symbols_sync _base_data.get_future_code_list()
_base_data.get_future_info()
2 期货标的列表
5 fetch_trading_calendar _fetch_calendar_sync _base_data.get_calendar() 1 交易日历
6 health_check - _market_data.is_login() 1 健康检查

二、新增分表数据接口 (详细调用链)

2.1 fetch_kline_base / _fetch_kline_base_sync

fetch_kline_base (async)
└── _fetch_kline_base_sync (sync)
    └── _market_data.query_kline()              [第1次SDK调用]
调用层次 方法 SDK调用次数 说明
外层 fetch_kline_base 1 async入口
内层 _fetch_kline_base_sync 1 仅基础K线

总计 SDK 调用: 1 次


2.2 fetch_kline_quote / _fetch_kline_quote_sync

fetch_kline_quote (async)
└── _fetch_kline_quote_sync (sync)
    ├── _market_data.query_kline()              [第1次SDK调用 - 扩展日期范围]
    └── _base_data.get_code_info()              [第2次SDK调用 - 涨跌停价]
调用层次 方法 SDK调用次数 说明
外层 fetch_kline_quote 2 async入口
内层 _fetch_kline_quote_sync 2 K线+涨跌停价

总计 SDK 调用: 2 次


2.3 fetch_kline_finance / _fetch_kline_finance_sync

fetch_kline_finance (async)
└── _fetch_kline_finance_sync (sync)
    ├── _info_data.get_equity_structure()       [第1次SDK调用 - 股本结构]
    └── _market_data.query_kline()              [第2次SDK调用 - 价格数据]
调用层次 方法 SDK调用次数 说明
外层 fetch_kline_finance 2 async入口
内层 _fetch_kline_finance_sync 2 股本+价格计算市值

总计 SDK 调用: 2 次


2.4 fetch_stock_basic_info / _fetch_stock_basic_info_sync

fetch_stock_basic_info (async)
└── _fetch_stock_basic_info_sync (sync)
    ├── _base_data.get_code_list()              [第1次SDK调用 - 代码列表]
    ├── _base_data.get_code_info()              [第2次SDK调用 - 名称/交易所]
    └── 循环每个股票:
        └── _info_data.get_equity_structure()   [第3次SDK调用 - 上市日期]
调用层次 方法 SDK调用次数 说明
外层 fetch_stock_basic_info 2+N async入口N为股票数量
内层 _fetch_stock_basic_info_sync 2+N 基础信息+上市日期

总计 SDK 调用: 2 + N 次N = 股票数量,每个股票调用一次 get_equity_structure


三、财务/股东数据接口

序号 公共接口 SDK 调用 次数 说明
7 get_balance_sheet _info_data.get_balance_sheet() 1 资产负债表
8 get_cash_flow _info_data.get_cash_flow() 1 现金流量表
9 get_income_statement _info_data.get_income_statement() 1 利润表
10 get_profit_express _info_data.get_profit_express() 1 业绩预告
11 get_profit_notice _info_data.get_profit_notice() 1 业绩快报
12 get_top10_shareholders _info_data.get_share_holder() 1 前十大股东
13 get_shareholder_count _info_data.get_holder_num() 1 股东户数
14 get_equity_structure _info_data.get_equity_structure() 1 股本结构

四、市场数据接口

序号 公共接口 SDK 调用 次数 说明
15 get_snapshot _market_data.query_kline() 1 快照数据
16 get_adj_factor _base_data.get_adj_factor() 1 复权因子
17 get_backward_factor _base_data.get_backward_factor() 1 后复权因子
18 get_index_constituents _info_data.get_index_constituent() 1 指数成分股
19 get_index_weights _info_data.get_index_weight() 1 指数权重
20 get_margin_summary _info_data.get_margin_summary() 1 融资融券汇总
21 get_margin_detail _info_data.get_margin_detail() 1 融资融券明细
22 get_longhu_bang _info_data.get_long_hu_bang() 1 龙虎榜
23 get_block_trading _info_data.get_block_trading() 1 大宗交易

五、基金/可转债接口

序号 公共接口 SDK 调用 次数 说明
24 get_etf_pcf _base_data.get_etf_pcf() 1 ETF申购赎回清单
25 get_fund_share _info_data.get_fund_share() 1 基金份额
26 get_kzz_issuance _info_data.get_kzz_issuance() 1 可转债发行

六、接口调用次数汇总表

接口方法 SDK 调用次数 调用的 SDK 方法
fetch_klines 4-6次 query_kline + get_code_info (1-2次) + get_equity_structure + get_calendar + get_hist_code_list (可选)
fetch_symbols (stock) 2次 get_code_list + get_code_info
fetch_symbols (futures) 2次 get_future_code_list + get_future_info
fetch_trading_calendar 1次 get_calendar
fetch_kline_base 1次 query_kline
fetch_kline_quote 2次 query_kline + get_code_info
fetch_kline_finance 2次 get_equity_structure + query_kline
fetch_stock_basic_info 2+N次 get_code_list + get_code_info + N×get_equity_structure
其他单个数据接口 1次 对应单个 SDK 方法

七、SDK 对象与方法汇总

_market_data (市场数据)

方法 调用次数 使用场景
login() 1 connect
query_kline() 多次 K线数据获取
is_login() 1 health_check

_base_data (基础数据)

方法 调用次数 使用场景
get_code_list() 多次 股票代码列表
get_code_info() 最频繁 代码信息、涨跌停价、上市日期
get_calendar() 多次 交易日历
get_adj_factor() 按需 复权因子
get_future_code_list() 按需 期货代码列表
get_etf_pcf() 按需 ETF数据
get_hist_code_list() 可选 历史代码列表(备选)

_info_data (信息数据)

方法 调用次数 使用场景
get_equity_structure() 最频繁 股本结构、上市日期推断
get_income_statement() 按需 利润表
get_balance_sheet() 按需 资产负债表
get_cash_flow() 按需 现金流量表
get_share_holder() 按需 股东数据
get_margin_summary/detail() 按需 融资融券
get_index_constituent/weight() 按需 指数数据

八、接口统计

类别 接口数量 说明
核心适配器接口 6 connect/close/subscribe_ticks/fetch_klines/fetch_symbols/fetch_trading_calendar/health_check
财务/股东数据接口 8 各类财务报表和股东数据
市场数据接口 9 K线、指数、融资融券等
基金/可转债接口 3 ETF、基金、可转债
新增分表数据接口 4 拆分表专用接口
总计 30 公共接口方法

调用复杂度分级:

  • 简单 (1次SDK调用): fetch_kline_base, get_balance_sheet, get_cash_flow 等
  • 中等 (2次SDK调用): fetch_symbols, fetch_kline_quote, fetch_kline_finance 等
  • 复杂 (4-6次SDK调用): fetch_klines (原K线获取接口)
  • 最复杂 (2+N次SDK调用): fetch_stock_basic_info (N=股票数量)