QMT中如何自定义技术指标并用于买卖信号
发布时间:4小时前阅读:7

QMT内置了上百种技术指标,如MA、MACD、RSI、布林带等,但有时你需要使用自研指标(例如基于波动率调整的动量指标)。QMT允许你利用Python和pandas、talib等库自由计算任何指标,然后将其作为买卖信号。下面演示如何创建自定义指标并集成到策略中。
第一步,准备数据。使用get_market_data获取历史K线数据。例如,获取过去100天的收盘价:
`python
close = xtdata.get_market_data(['close'], stock_list=[context.stock], period='1d', count=100)
close_series = close[context.stock]['close'].values
`
第二步,编写指标计算函数。假设我们要计算一个“成交量加权移动平均”(VWMA),公式为:VWMA = 均价 * 成交量 / 成交量之和。实现如下:
`python
def vwma(close, volume, window):
vwap = []
for i in range(window-1, len(close)):
avg_price = (close[i-window+1:i+1] * volume[i-window+1:i+1]).sum() / volume[i-window+1:i+1].sum()
vwap.append(avg_price)
return np.array(vwap)
`
第三步,在handle_bar中调用该函数,得到当前指标值,并与价格比较产生信号。例如,当收盘价上穿VWMA时买入。
需要注意的是,自定义指标要注意计算效率。如果每个tick都重新计算1000个周期的指标,会非常慢。建议在每日收盘后计算一次并缓存。另外,指标计算中不能使用未来数据,即计算当天的指标只能用当天及之前的数据。
QMT还支持使用talib库,它内置了更高效的指标计算。例如,talib.SMA计算简单移动平均,talib.BBANDS计算布林带。你可以先安装talib(需要编译或下载wheel),然后在策略中导入。
如果你的指标逻辑特别复杂,可以将其封装成一个独立的模块,方便多个策略复用。
国金证券的QMT允许用户使用任何Python库,10万资金即可开通。量化社群中有人分享了自定义指标的完整代码,包括资金流向指标、订单流指标等。同时,两融全线上办理,当你的自定义指标产生融资信号时,可以一键启用。自定义指标是体现你交易智慧的核心,不要止步于现成公式,勇敢创造属于自己的alpha。
温馨提示:投资有风险,选择需谨慎。
-
养虾理财用的金融Skill是什么?国泰海通灵犀Skills实测,新手也能装
2026-05-09 13:41
-
豆包开启付费!AI行业迎来拐点,普通投资者该怎么布局?
2026-05-09 13:41
-
2026国金证券新人开户能够享受哪些福利?(含6888元品质礼包)
2026-05-09 13:41


问一问

+微信
分享该文章
