KB / ARTICLE

策略案例 · 与外部数据联动(AKShare)

策略文档 · 期货版修订 R1发布于 2026-10-10

本文展示如何在期魔方策略中调用 AKShare 库获取 A 股、美股等外部市场数据,作为期货交易的参考信号源。

场景

期货价格常受相关股票市场影响(如股指期货与沪深股市、原油期货与美股能源股)。期魔方默认支持 AKShare 库调用,用户可以在策略中获取 A 股、科创板、美股的历史行情和实时行情,作为辅助判断依据。

完整数据接口列表参考 AKShare 官网:https://akshare.akfamily.xyz


示例一:获取 A 股个股历史行情

代码

import akshare as ak

stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol="000001", period="daily", start_date="2025-03-15", end_date="2025-03-20", adjust="")
put_log(f"\n{stock_zh_a_hist_df}", "INFO")

输出示例

日期    股票代码     开盘     收盘     最高     最低      成交量           成交额    振幅   涨跌幅   涨跌额   换手率
0  2025-03-17  000001  11.63  11.50  11.67  11.46  4603612  5.315523e+09  1.75 -3.93 -0.47  2.37
1  2025-03-18  000001  11.52  11.49  11.54  11.48  1605290  1.846500e+09  0.52 -0.09 -0.01  0.83
2  2025-03-19  000001  11.48  11.52  11.53  11.46  1362455  1.566452e+09  0.61  0.26  0.03  0.70
3  2025-03-20  000001  11.51  11.49  11.61  11.49  1101157  1.268849e+09  1.04 -0.26 -0.03  0.57

参数说明

参数 含义
symbol 股票代码,如 "000001"(平安银行)
period 周期:daily / weekly / monthly
start_date / end_date 起止日期,格式 YYYY-MM-DD
adjust 复权类型:""(不复权)/ qfq(前复权)/ hfq(后复权)

示例二:获取科创板实时行情

代码

import akshare as ak

stock_kc_a_spot_em_df = ak.stock_kc_a_spot_em()
put_log(f"科创板实时行情:\n{stock_kc_a_spot_em_df}", "INFO")

输出示例

科创板实时行情:
      序号      代码      名称    最新价    涨跌幅    涨跌额       成交量           成交额     振幅      最高     最低      今开      昨收    量比    换手率  市盈率-动态   市净率           总市值          流通市值    涨速  5分钟涨跌  60日涨跌幅  年初至 今涨跌幅
0      1  688793     倍轻松  35.90   6.65   2.24   68981.0  2.509844e+08  13.93   38.57  33.88   33.88   33.66  1.89   8.03  327.04  8.29  3.085441e+09  3.085441e+09 -0.39  -0.58   21.20    20.47
1      2  688118    普元信息  26.60   5.14   1.30   76647.0  2.010637e+08  10.28   27.20  24.60   24.99   25.30  2.74   8.35  382.49  2.85  2.442349e+09  2.442349e+09  0.26  -0.11   23.38    26.49
2      3  688776    国光电气  72.80   5.13   3.55   41949.0  3.035973e+08   8.58   74.18  68.24   68.29   69.25  1.47   3.87  163.91  4.21  7.890313e+09  7.890313e+09  0.17   0.12   33.07    54.40
..   ...     ...     ...    ...    ...    ...       ...           ...    ...     ...    ...     ...     ...   ...    ...     ...   ...           ...           ...   ...    ...     ...      ...

说明

  • 返回整个科创板所有股票的实时快照,无需传 symbol
  • 字段包含最新价、涨跌幅、成交量、换手率、市盈率、总市值等
  • 可配合 df[df['代码'] == '688776'] 筛选特定个股

示例三:获取美股历史行情

代码

import akshare as ak

stock_us = ak.stock_us_hist(symbol="106.TTE", period="daily", start_date="20250301", end_date="20250310", adjust="qfq")
put_log(f"{stock_us}", "INFO")

输出示例

日期     开盘     收盘      最高      最低      成交量          成交额    振幅   涨跌幅   涨跌额   换手率
0  2025-03-03  61.57  59.83  61.670  59.360  1607167   96877978.0  3.84 -0.66 -0.40  0.07
1  2025-03-04  59.22  59.87  60.550  58.966  2320214  138720830.0  2.65  0.07  0.04  0.10
2  2025-03-05  60.97  60.94  61.230  60.100  2092218  127068015.0  1.89  1.79  1.07  0.09
3  2025-03-06  60.64  60.78  61.508  60.540  1556678   94709372.0  1.59 -0.26 -0.16  0.07
4  2025-03-07  61.39  61.39  62.050  60.570  2835416  174262938.0  2.44  1.00  0.61  0.13
5  2025-03-10  61.67  61.07  61.950  60.585  1961626  120370695.0  2.22 -0.52 -0.32  0.09

参数说明

参数 含义
symbol 美股代码,格式 编号.代码,如 106.TTE(道达尔能源)
period 周期:daily / weekly / monthly
start_date / end_date 起止日期,格式 YYYYMMDD(注意与 A 股接口不同)
adjust 复权类型:qfq(前复权)/ hfq(后复权)

示例四:获取美股实时行情

代码

import akshare as ak

stock_us_spot_em_df = ak.stock_us_spot_em()
put_log(f"{stock_us_spot_em_df}", "INFO")

输出示例

          序号                               名称   最新价    涨跌额     涨跌幅    开盘价    最高价    最低价     昨收价          总市值    市盈率          成交量          成交额      振幅      换手率          代码
0          1            Impact BioMedical Inc  2.08  1.550  292.45  0.530  2.480  0.530   0.530   23928226.0  20.54   30679574.0   54278090.0  367.92   266.69     107.IBO
1          2      Innovative Eyewear Inc Wt-A  0.14  0.098  229.41  0.042  0.191  0.042   0.043          NaN    NaN      41062.0       4693.0  350.12      NaN   105.LUCYW
2          3            Plus Therapeutics Inc  1.38  0.869  170.06  0.570  2.080  0.550   0.511    8136940.0  -0.63  357747872.0  454892368.0  299.37  6067.29    105.PSTV
...      ...                              ...   ...    ...     ...    ...    ...    ...     ...          ...    ...          ...          ...     ...      ...         ...

说明

  • 返回全部美股实时快照,字段含最新价、涨跌幅、成交量、总市值、市盈率等
  • 代码 列格式为 编号.代码(如 107.IBO),与 stock_us_hist 的 symbol 参数对应

关键要点

  1. 导入方式:每个示例顶部都需要 import akshare as ak,建议放在策略文件顶部或首次调用的函数内
  2. 日志输出:通过 put_log(df, "INFO") 输出 DataFrame,可在策略日志面板查看结构化数据
  3. 日期格式差异:A 股接口 stock_zh_a_hist 使用 YYYY-MM-DD,美股接口 stock_us_hist 使用 YYYYMMDD,调用时需注意
  4. 代码格式差异:A 股 symbol 为纯数字 "000001",美股 symbol 带编号前缀 "106.TTE"
  5. 实时 vs 历史:实时接口(*_spot_em)无需 symbol,返回全市场快照;历史接口需指定 symbol 和日期范围
  6. 数据用途:可在 on_bar / on_tick 中调用 AKShare 获取参考数据,结合期货本身行情做跨市场联动判断(如股指期货与沪深 300 成分股、原油期货与美股能源股)
  7. 性能注意:实时行情接口返回全市场数据,数据量较大,建议按需筛选列或个股,避免频繁调用

相关阅读

  • [核心API 实时行情数据]
  • [核心API 历史K线数据]
  • [核心API 衍生数据]
  • [案例:大单拆分]
  • [案例:风控模型]
已复制到剪贴板
策略文档 · 期货版修订 R1

返回策略文档 · 期货版板块

评论