KB / ARTICLE

核心API-历史 K 线数据

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

本文汇总期魔方期货策略中与历史 K 线数据相关的 API,包括历史 K 线获取与当前时间获取。

get_kline(symbol, period, len) — 获取 K 线数据

描述:获取指定合约指定周期的历史 K 线。

输入参数

参数 参数名称 参数类型 是否必填 描述
symbol 合约代码 str 是 如 ru2501(橡胶2501)
period 时间周期 str 是 支持的周期:1分钟 "M1"、3分钟 "M3"、5分钟 "M5"、10分钟 "M10"、 15分钟 "M15"、30分钟 "M30"、45分钟 "M45"、1小时 "H1"、2小时 "H2"、4小时 "H4"、"1天 "D1"、1周 "W1"
len 对获取 K 线数据的长度的限制 int 否 默认长度为 30;也可自行设置长度,如 len=60

返回字典:

参数 参数名称 参数类型 描述
close 收盘价 list 其中每个元素的类型为 float 类型
open 开盘价 list 其中每个元素的类型为 float 类型
high 最高价 list 其中每个元素的类型为 float 类型
low 最低价 list 其中每个元素的类型为 float 类型
datetime 日期时间 list 其中每个元素的类型为 Timestamp 类型
volume 成交量 list 其中每个元素的类型为 int类型
open_interest 持仓量 list 其中每个元素的类型为 int类型

接口案例

klines = get_kline('rb2510', 'D1', 200)
if klines:
    closes = klines['close']          # list
    latest_close = closes[-1]         # 最新收盘价
    opens = klines['open']
    highs = klines['high']
    lows = klines['low']
    volumes = klines['volume']

注意:返回的 K 线包含未闭合的最新一根。如果做计算要去掉最后一根,可手动切片 klines['close'][:-1]。

time_current() — 获取当前时间

获取当前时间,在回测中返回当前行情报价时间,该函数回测在 on_init 中无法获取,可使用 BASE_SETTING 中的 StartTime 字段进行获取,在实际任务中返回当前的系统时间。

接口案例

def on_tick(context):
    put_log(f"当前时间: {time_current()}", level='USER_LOG')

相关阅读

  • [核心API 交易指令]
  • [核心API 辅助功能]
已复制到剪贴板
策略文档 · 期货版修订 R1

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

评论