QMT框架 API 文档
MiniQMT量化开发框架核心组件API参考
QMTEngine
初始化方法
功能:初始化QMT引擎,设置会话ID和核心组件
参数:
session_id(Optional[int]): 会话ID,如果为None则使用当前时间戳
返回值:无
连接管理
功能:连接QMT交易系统
参数:无
返回值:bool - 是否连接成功
功能:断开QMT连接
参数:无
返回值:无
策略管理
功能:添加策略到引擎
参数:
strategy(StrategyBase): 策略实例
返回值:bool - 是否添加成功
功能:移除策略
参数:
strategy_name(str): 策略名称
返回值:bool - 是否移除成功
数据订阅
功能:订阅股票数据
参数:
stock_code(str): 股票代码
返回值:无
功能:取消订阅股票数据
参数:
stock_code(str): 股票代码
返回值:无
功能:获取股票最新价格
参数:
stock_code(str): 股票代码
返回值:Optional[float] - 股票价格,如果获取失败返回None
引擎控制
功能:启动引擎和所有策略
参数:无
返回值:无
功能:停止引擎和所有策略
参数:无
返回值:无
功能:获取引擎统计信息
参数:无
返回值:Dict[str, Any] - 包含引擎状态、策略数量、订阅股票等信息的字典
EventManager
事件订阅
功能:订阅特定类型的事件
参数:
event_type(EventType): 事件类型handler(Callable[[Event], None]): 事件处理函数
返回值:无
功能:取消订阅特定类型的事件
参数:
event_type(EventType): 事件类型handler(Callable[[Event], None]): 事件处理函数
返回值:无
事件发布
功能:发布事件到所有订阅者
参数:
event_type(EventType): 事件类型data(Any): 事件数据,默认为None
返回值:无
功能:发布事件对象到所有订阅者
参数:
event(Event): 事件对象
返回值:无
管理器控制
功能:启动事件管理器
参数:无
返回值:无
功能:停止事件管理器
参数:无
返回值:无
功能:判断是否在交易时间内
参数:无
返回值:bool - 是否在交易时间内
功能:清除所有事件处理器
参数:无
返回值:无
功能:获取事件统计信息
参数:无
返回值:Dict[str, int] - 包含各类事件处理次数的字典
事件类型 (EventType)
MARKET_OPEN MARKET_CLOSE TICK_DATA BAR_DATA ORDER_UPDATE POSITION_UPDATEFrequencyManager
任务管理
功能:添加定时任务
参数:
task_id(str): 任务唯一标识符frequency(RunFrequency): 运行频率callback(Callable): 任务回调函数
返回值:str - 任务ID
功能:移除指定任务
参数:
task_id(str): 任务ID
返回值:bool - 是否移除成功
功能:启用任务
参数:
task_id(str): 任务ID
返回值:bool - 是否启用成功
功能:禁用任务
参数:
task_id(str): 任务ID
返回值:bool - 是否禁用成功
功能:执行指定频率的所有任务
参数:
frequency(RunFrequency): 运行频率
返回值:无
功能:执行tick级任务
参数:
tick_data(Dict[str, Any]): tick数据
返回值:无
管理器控制
功能:启动频率管理器
参数:无
返回值:无
功能:停止频率管理器
参数:无
返回值:无
功能:获取任务统计信息
参数:无
返回值:Dict[str, Any] - 包含任务数量、执行次数等统计信息的字典
运行频率 (RunFrequency)
TICK MINUTE HOUR DAY WEEK MONTHStrategyBase
初始化方法
功能:初始化策略基类
参数:
strategy_name(str): 策略名称run_frequency(RunFrequency): 运行频率,默认为分钟级
返回值:无
生命周期方法
功能:策略初始化,在策略启动前调用
参数:无
返回值:无
功能:启动策略
参数:无
返回值:无
功能:停止策略
参数:无
返回值:无
功能:策略初始化回调(抽象方法)
参数:无
返回值:无
功能:策略启动回调
参数:无
返回值:无
功能:策略停止回调
参数:无
返回值:无
功能:开盘事件回调
参数:无
返回值:无
功能:收盘事件回调
参数:无
返回值:无
功能:tick数据事件回调
参数:
tick_data(Dict[str, Any]): tick数据字典
返回值:无
功能:K线数据事件回调
参数:
bar_data(Dict[str, Any]): K线数据字典frequency(str): K线频率
返回值:无
工具方法
功能:记录信息级别日志
参数:
message(str): 日志消息
返回值:无
功能:记录警告级别日志
参数:
message(str): 日志消息
返回值:无
功能:记录错误级别日志
参数:
message(str): 日志消息
返回值:无
功能:设置策略上下文变量
参数:
key(str): 变量键名value(Any): 变量值
返回值:无
功能:获取策略上下文变量
参数:
key(str): 变量键名default(Any): 默认值,默认为None
返回值:Any - 变量值或默认值
功能:添加定时任务
参数:
execute_time(time): 执行时间callback(Callable): 回调函数description(str): 任务描述,默认为空字符串
返回值:str - 任务ID
FrequencyTask
初始化方法
功能:初始化频率任务
参数:
task_id(str): 任务唯一标识符frequency(RunFrequency): 任务运行频率callback(Callable): 任务回调函数enabled(bool): 是否启用任务,默认为True
返回值:无
任务控制方法
功能:判断任务是否应该在当前时间执行
参数:
current_time(datetime): 当前时间
返回值:bool - 是否应该执行
功能:执行任务回调函数
参数:
*args: 位置参数**kwargs: 关键字参数
返回值:无
功能:获取任务统计信息
参数:无
返回值:Dict[str, Any] - 包含执行次数、错误次数、最后执行时间等信息的字典
功能:启用任务
参数:无
返回值:无
功能:禁用任务
参数:无
返回值:无
功能:重置任务统计信息
参数:无
返回值:无
任务属性
MovingAverageStrategy
初始化方法
功能:初始化移动平均线策略
参数:
stock_code(str): 交易股票代码short_window(int): 短期移动平均窗口,默认为5long_window(int): 长期移动平均窗口,默认为20
返回值:无
策略实现方法
功能:初始化策略参数和数据结构
参数:无
返回值:无
功能:处理K线数据,计算移动平均线并生成交易信号
参数:
bar_data(Dict[str, Any]): K线数据字典frequency(str): K线频率
返回值:无
功能:计算移动平均线
参数:
prices(List[float]): 价格列表window(int): 移动平均窗口大小
返回值:Optional[float] - 移动平均值,如果数据不足返回None
功能:根据移动平均线生成交易信号
参数:
short_ma(float): 短期移动平均值long_ma(float): 长期移动平均值
返回值:str - 交易信号("BUY", "SELL", "HOLD")
功能:记录策略性能摘要
参数:无
返回值:无
策略属性
TickLevelStrategy
初始化方法
功能:初始化Tick级策略
参数:
stock_code(str): 交易股票代码tick_threshold(float): tick价格变动阈值,默认为0.01
返回值:无
策略实现方法
功能:处理tick数据并执行高频交易逻辑
参数:
tick_data(Dict[str, Any]): tick数据字典
返回值:无
功能:分析tick模式并生成交易信号
参数:
current_price(float): 当前价格volume(int): 成交量
返回值:str - 交易信号