在QMT中,如何订阅实时行情并进行计算?
发布时间:2026-4-28 13:47阅读:51
在 QMT 中,订阅实时行情并进行计算可按以下步骤实现:
1. 初始化部分
在策略初始化函数after_init中,设定要订阅的证券代码,并进行一些必要的初始化设置。例如:
python
def after_init(context):
context.stock_code = '600000.SH' # 设定要订阅的股票代码
context.ma_period = 5 # 设定计算移动平均线的周期
2. 订阅实时行情
在handle_bar或handle_data函数中,使用subscribe函数订阅实时行情数据。subscribe函数用于向系统注册需要实时获取行情的证券。示例如下:
python
def handle_bar(context, bar_dict):
subscribe(context.stock_code) # 订阅股票行情
# 获取订阅的实时行情数据
current_data = bar_dict[context.stock_code]
3. 进行计算
获取实时行情数据后,可根据策略需求进行计算。以计算简单移动平均线(SMA)为例:
python
def handle_bar(context, bar_dict):
subscribe(context.stock_code)
current_data = bar_dict[context.stock_code]
close_prices = current_data.close # 获取收盘价
if len(close_prices) >= context.ma_period:
ma_value = sum(close_prices[-context.ma_period:]) / context.ma_period
print(f"当前 {context.ma_period} 日移动平均线: {ma_value}")
完整示例代码
python
def after_init(context):
context.stock_code = '600000.SH'
context.ma_period = 5
def handle_bar(context, bar_dict):
subscribe(context.stock_code)
current_data = bar_dict[context.stock_code]
close_prices = current_data.close
if len(close_prices) >= context.ma_period:
ma_value = sum(close_prices[-context.ma_period:]) / context.ma_period
print(f"当前 {context.ma_period} 日移动平均线: {ma_value}")
通过上述步骤,你可以在 QMT 中订阅实时行情,并基于这些行情数据进行各种计算,以满足量化交易策略的需求。
股票开户找我!无门槛国债逆回购一折 (百万分之一)!ETF佣金万0.5!融资利率5%以下!优惠多多!免费量化!ptrade&QMT!

温馨提示:投资有风险,选择需谨慎。
-
养虾理财用的金融Skill是什么?国泰海通灵犀Skills实测,新手也能装
2026-05-09 13:41
-
豆包开启付费!AI行业迎来拐点,普通投资者该怎么布局?
2026-05-09 13:41
-
2026国金证券新人开户能够享受哪些福利?(含6888元品质礼包)
2026-05-09 13:41


问一问

+微信
分享该文章
