本文汇总期魔方期货策略中与历史 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 辅助功能]

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