本文汇总期魔方期货策略中与实时行情数据相关的 API,包括实时 Tick 报价与合约信息。
get_tick(symbol) — 获取合约报价
描述:获取指定合约的最新 Tick 数据。
参数:
| 参数 | 参数名称 | 参数类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| symbol | 合约代码 | str | 是 | 如 ru2501(橡胶2501) |
返回字典:
| 参数 | 参数名称 | 参数类型 | 期权/期货 | 任务/回测 |
|---|---|---|---|---|
| AskPrice1 | 申卖价一 | float | ALL | ALL |
| AskPrice2 | 申卖价二 | float | ALL | ALL |
| AskPrice3 | 申卖价三 | float | ALL | ALL |
| AskPrice4 | 申卖价四 | float | ALL | ALL |
| AskPrice5 | 申卖价五 | float | ALL | ALL |
| AskVolume1 | 申卖量一 | int | ALL | ALL |
| AskVolume2 | 申卖量二 | int | ALL | ALL |
| AskVolume3 | 申卖量三 | int | ALL | ALL |
| AskVolume4 | 申卖量四 | int | ALL | ALL |
| AskVolume5 | 申卖量五 | int | ALL | ALL |
| AveragePrice | 当日均价 | float | ALL | ALL |
| BandingLowerPrice | 设定更低价格区间 | float | ALL | ALL |
| BandingUpperPrice | 设定更高价格区间 | float | ALL | ALL |
| BidPrice1 | 申买价一 | float | ALL | ALL |
| BidPrice2 | 申买价二 | float | ALL | ALL |
| BidPrice3 | 申买价三 | float | ALL | ALL |
| BidPrice4 | 申买价四 | float | ALL | ALL |
| BidPrice5 | 申买价五 | float | ALL | ALL |
| BidVolume1 | 申买量一 | int | ALL | ALL |
| BidVolume2 | 申买量二 | int | ALL | ALL |
| BidVolume3 | 申买量三 | int | ALL | ALL |
| BidVolume4 | 申买量四 | int | ALL | ALL |
| BidVolume5 | 申买量五 | int | ALL | ALL |
| ClosePrice | 今收盘 | float | ALL | ALL |
| CurrDelta | 今虚实度 | float | ALL | ALL |
| ExchangeID | 交易所代码 | str | ALL | ALL |
| ExchangeInstID | 合约在交易所的代码 | str | ALL | ALL |
| HighestPrice | 最高价 | float | ALL | ALL |
| InstrumentID | 合约代码 | str | ALL | ALL |
| LastPrice | 最新价 | float | ALL | ALL |
| LowerLimitPrice | 跌停板价 | float | ALL | ALL |
| LowestPrice | 最低价 | float | ALL | ALL |
| OpenInterest | 持仓量 | float | ALL | ALL |
| OpenPrice | 今开盘 | float | ALL | ALL |
| PreClosePrice | 昨收盘 | float | ALL | ALL |
| PreDelta | 昨虚实度 | float | ALL | ALL |
| PreOpenInterest | 昨持仓量 | float | ALL | ALL |
| PreSettlementPrice | 上次结算价 | float | ALL | ALL |
| SettlementPrice | 本次结算价 | float | ALL | ALL |
| TradingDay | 交易日 | str | ALL | ALL |
| Turnover | 成交金额 | float | ALL | ALL |
| UpdateMillisec | 更新毫秒数 | int | ALL | ALL |
| UpdateTime | 最后修改时间 | str | ALL | ALL |
| UpperLimitPrice | 涨停板价 | float | ALL | ALL |
| Volume | 数量 | int | ALL | ALL |
| reserve1 | (保留字段) | str | ALL | ALL |
| reserve2 | (保留字段) | str | ALL | ALL |
| time_value | 时间价值 | float | 期权 | 任务 |
| intrinsic_value | 内在价值 | int | 期权 | 任务 |
| implicit_volatility | 隐含波动率 | float | 期权 | 任务 |
| leverage | 杠杆比率 | float | 期权 | 任务 |
| premium | 溢价率 | float | 期权 | 任务 |
| real_leverage | 真实杠杆率 | float | 期权 | 任务 |
| theory_price | 理论价格 | float | 期权 | 任务 |
| delta | Delta | float | 期权 | 任务 |
| gamma | Gamma | float | 期权 | 任务 |
| rho | Rho | float | 期权 | 任务 |
| theta | Theta | float | 期权 | 任务 |
| vega | Vega | float | 期权 | 任务 |
接口案例
def on_tick(context):
# 获取合约 ag2412 当前的最新报价
ag2412_tick = get_tick("ag2412")
数据示例
{
'ActionDay': "",
'AskPrice1': '0',
'AskPrice2': 0,
'AskPrice3': 0,
'AskPrice4': 0,
'AskPrice5': 0,
'AskVolume1': 0
# 以下内容已省略
# ...
}
get_symbolinfo(symbol) — 获取合约信息
返回合约的基础配置(如乘数、最小变动价位、交易所等)。
输入参数
| 参数 | 参数名称 | 参数类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| symbol | 完整合约代码 | str | 是 | 如 ru2501(橡胶2501) |
返回值
| 参数 | 参数名称 | 参数类型 | 期权/期货 | 回测/任务 | 描述 |
|---|---|---|---|---|---|
| exchange_id | 交易所编号 | str | ALL | ALL | 如:CZCE |
| product_class | 品种合约大类 | str | ALL | ALL | 如:AU |
| product_name | 合约名称 | str | ALL | ALL | |
| volume_multiple | 合约乘数 | int | ALL | ALL | |
| price_tick | 一跳的价格 | float | ALL | ALL | |
| margin_ratio | 保证金比例 | float | ALL | ALL | |
| commission_type | 手续费类型 | str | ALL | ALL | |
| commission_value | 手续费类型 | int | ALL | ALL | |
| limit_d1 | 手续费1档 | int | ALL | ALL | |
| limit_d2 | 手续费2档 | int | ALL | ALL | |
| limit_d3 | 手续费3档 | int | ALL | ALL | |
| CombinationType | 组合类型 | str | ALL | 任务 | 0 期货 普通的单一期货合约。1 垂直价差 期权组合策略,同时买入和卖出相同到期日但不同行权价的期权(如看涨期权价差、看跌期权价差)。2 跨式组合 期权组合策略,同时买入或卖出相同到期日、相同行权价的看涨和看跌期权。3 宽跨式组合 期权组合策略,同时买入或卖出相同到期日但不同行权价的看涨和看跌期权。4 备兑组合 期权组合策略,持有标的资产多头的同时卖出对应的看涨期权。5 时间价差 期权组合策略,同时买入和卖出相同行权价但不同到期日的期权。9 其他 其他无法归入上述类型的组合策略。 |
| CreateDate | 创建日期 | str | ALL | 任务 | |
| DeliveryMonth | 交割月份 | int | ALL | 任务 | |
| DeliveryYear | 交割年份 | int | ALL | 任务 | |
| EndDelivDate | 最后交割日 | str | ALL | 任务 | |
| ExchangeID | 交易所代码 | str | ALL | 任务 | 如郑州交易所:CZCE |
| ExchangeInstID | 交易所合约代码 | str | ALL | 任务 | 比如:AP510,AP510C6400 |
| ExpireDate | 过期日期 | str | ALL | 任务 | 比如:20250827 |
| InstLifePhase | 合约生命周期状态 | str | ALL | 任务 | 0 未上市 合约尚未开始交易,不能交易。1 上市 正在交易。2 停牌 合约暂停交易。3 到期 合约已到期。交易已停止,进入交割流程。4 退市 合约已从交易所摘牌,所有流程结束。5 履约 (主要针对期权) 期权买方行权或卖方被指派履约的阶段。6 收盘 每日交易时间结束后的阶段 |
| InstrumentID | 合约代码 | str | ALL | 任务 | 同ExchangeInstID字段 |
| InstrumentName | 合约名称 | str | ALL | 任务 | unicode字符串,需转码,比如 \u82f9\u679c510转码:苹果510 |
| IsTrading | 是否可交易 | int | ALL | 任务 | 1 表示当前可以交易,0 表示不可交易 |
| LongMarginRatio | 多头保证金比例 | float | ALL | 任务 | |
| MaxLimitOrderVolume | 限价单最大下单量 | int | ALL | 任务 | |
| MaxMarginSideAlgorithm | 是否启用保证金冲抵算法 | str | ALL | 任务 | 0 表示不启用,1 表示启用 |
| MaxMarketOrderVolume | 市价单最大下单量 | int | ALL | 任务 | |
| MinLimitOrderVolume | 限价单最小下单量 | int | ALL | 任务 | |
| MinMarketOrderVolume | 市价单最小下单量 | int | ALL | 任务 | |
| OpenDate | 上市日 | str | ALL | 任务 | 比如:20250324 |
| OptionsType | 品种类型 | str | ALL | 任务 | 0 表示期货 1 表示看涨期权(Call Option),2 表示看跌期权(Put Option) |
| PositionDateType | 持仓日期类型 | str | ALL | 任务 | 1 使用历史持仓 先开先平 (FIFO)。平仓时优先平掉最早建立的“老持仓”。这是上海期货交易所(SHFE)、上海国际能源交易中心(INE) 使用的模式。在这些交易所,“今仓”和“老仓”是分开的,需要指定“平今”还是“平昨”。2 使用相对日期 自动优选。平仓时,交易所系统会自动优先平掉当天开的“今日仓位”。因为通常“平今仓”的手续费更高(甚至是老仓的十几倍),这样可以为投资者节省手续费。``这是郑州商品交易所(CZCE)、大连商品交易所(DCE)、广州期货交易所(GFEX) 以及中国金融期货交易所(CFFEX)使用的模式。在这些交易所,交易者不需要指定“平今”还是“平昨”,系统会自动处理。 |
| PositionType | 持仓类型 | str | ALL | 任务 | 1 净持仓 Net Position。计算持仓量时,同一合约下的多头和空头持仓会自动对冲。2 总持仓 Gross Position。计算持仓量时,多头和空头持仓分别计算,不进行对冲。3 自动撤销 通常用于组合合约,当组合中某一腿的持仓被平掉时,整个组合会自动撤销。 |
| PriceTick | 最小变动价位 | float | ALL | 任务 | 0.5 —— 报价最小变动单位为 0.5 元。 |
| ProductClass | 产品类型 | str | ALL | 任务 | 0 即期 Spot,现贷交易,通常指立即交割。1 期货 Futures。您提供的 AP510 就是这个类型。2 期权 Options,包括看涨和看跌期权。3 组合 Combination,指上述 CombinationType 里的各种组合合约。4 即期期权 Spot Options,标的物为即期产品的期权。5 ETF期权 跟踪指数的交易所交易基金期权。6 互换 Swaps,双方交换现金流的合约。7 期货期权 Options on Futures,标的物是期货合约的期权(国内商品期权基本都是此类)。8 股票期权 Stock Options。``9 股票 Stocks。 |
| ProductID | 产品代码 | str | ALL | 任务 | "APC" —— 期权产品代码,AP 表示苹果期货,C 表示期权(Option Class) |
| ShortMarginRatio | 空头保证金比例 | float | ALL | 任务 | |
| StartDelivDate | 开始交割日 | str | ALL | 任务 | "20250827" —— 可开始交割的日期为2025年8月27日 |
| StrikePrice | 行权价格 | float | 期权 | 任务 | |
| UnderlyingInstrID | 标的合约代码 | str | ALL | 任务 | |
| UnderlyingMultiple | 标的乘数 | float | ALL | 任务 | 1.0 —— 标的合约乘数为 1 |
| VolumeMultiple | 交易单位(每手数量) | int | ALL | 任务 | 10 —— 每手合约代表 10 吨苹果(即 1 手期权对应 1 手标的期货,每手期货 10 吨) |
接口案例
def on_tick(context):
# 获取沪银产品信息
ag_symbolinfo = get_symbolinfo("ag")
print(f"{ag_symbolinfo}")
数据示例
{
'id': 1,
'exchange_id': 'SHFE',
'product_class': 'ag',
'product_name': '沪银',
'volume_multiple': 15,
# 以下内容已省略
# ...
}
get_current_main_symbol(symbol) — 获取当前主力合约
描述:获取当前主连合约映射的具体合约,只适用于期货品种。
输入参数
| 参数 | 参数名称 | 参数类型 | 是否必填 | 描述 |
|---|---|---|---|---|
| symbol | 合约代码 | str | 是 | 需要查询当前主力合约的品种,可以带后缀,例如 'ag2505','ag','rb2409' |
返回值
| 参数 | 参数名称 | 参数类型 | 描述 |
|---|---|---|---|
| symbol | 完整合约代码 | str | 返回当前主力合约,例如 'c2505' |
接口案例
def on_tick(context):
...
# 获取玉米当前的主力合约
hot_symbol = get_current_main_symbol('c888')
相关阅读
- [核心API 交易指令]
- [核心API 辅助功能]

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