跳转到正文

股票与基金分钟数据及执行 ​

股票与场内基金共用 stock 账户的分钟事件网格及挂载接口。各自的费用、交易单位与公司行为仍以股票、基金为准。期货使用独立的分钟链路。

挂载行情 ​

股票基金分钟数据通过 seeddata 准备,再用 attach_minute_bars(bundle, minute_df) 挂载。返回的是新 bundle;须接收返回值后注册,并设置 base.frequency="1m"。以下代码接在日线加载后、注册前,加载区间须覆盖分钟对应的日线:

python
import seeddata as sd
import pandas as pd
from localquant.mod.localquant_mod_seeddata_source import attach_minute_bars

sd.set_base_url(history="http://127.0.0.1:28637", realtime="http://127.0.0.1:28637")
minute = sd.get_klines(
    instruments=["600000.SH"], start_time="2024-06-03 09:00:00", end_time="2024-06-07 15:00:00",
    fields=["open", "high", "low", "close", "volume", "amount"],
    period="1min", adjust="none", market_type="cn_stock",
)
minute["trade_time"] = pd.to_datetime(pd.to_datetime(minute["date"]).dt.strftime("%Y-%m-%d") + " " + minute["time"].astype(str))
bundle = attach_minute_bars(bundle, minute)
列数据契约
trade_time可解析的本地交易时间,精确到分钟;建议使用上海时间的无时区 datetime
instrument与 bundle 标的一致的证券代码
open/high/low/close不复权分钟价格
volume/amount每分钟成交量与成交额,单位股/份、元

每个 (instrument, trade_time) 应唯一,时间与价格须对应实际 bar,不自行平移时间标签。每个分钟行必须有相同标的、日期的日线,供昨收和涨跌停使用;孤立分钟日期会报错。遇到此类缺口先核实数据,不能无提示丢弃整日。

股票账户每天产生 09:31–11:30、13:01–15:00 的 BAR 事件;09:30 数据可供历史查询或预处理,但没有对应 BAR 回调。缺少某一分钟的数据不会取消该分钟事件。查询可见性见 策略 API,原生撮合选择见 撮合配置。

运行与执行 ​

在股票日频示例或基金日频示例中,日线加载后、注册前挂载分钟;将 base.frequency 设为 "1m"。加载器的 frequency 仍为 "1d",只在运行配置切换频率。基金额外查询分钟时,SDK 的 market_type 使用 "cn_etf"。

盘前为 09:01、竞价为 09:28。保留 open_auction 可继续竞价下单;需要盘中信号时提供 handle_bar。current_bar 使用当根收盘价,next_bar 等待后续 bar 开盘价,完整行为见撮合。观察完当前分钟再成交的策略应采用后续时点,不能把已知整根 bar 的信号当作该 bar 开始前已知。

盘中日线查询默认截至前一交易日;include_now=True 会暴露完整当日日线,禁止用于当时的决策。股票基金不支持盘中 current_snapshot,按分钟 bar 或自行累计已知记录计算。输出账户及持仓仍为日终快照,盘中明细按需另存。

localquant documentation