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

评论
登录后参与讨论,与站内账号体系共用。