前言

本文代码展示为伪打码,真实操可用在↓↓↓

 miniQMT+AI如何高效协同(上)

上一篇我们聊了 Trae+Skill+Miniqmt 的基础组合,用原生提示词让 AI 写 RSI 筛选代码时,默认调用了 tushare 数据源,完全没适配 Miniqmt。

本期接着实战:直接指定 Miniqmt 的 xtquant 接口→AI 瞎编代码报错→加入 Skill 后,AI 精准生成可直接运行的代码,全程拆解避坑要点,新手也能搞定!

一、无 Skill 版:指定 xtquant 接口,AI 依然乱编

1.1 修正提示词,指定 Miniqmt 数据源

在上期提示词基础上,明确告知 AI 用 Miniqmt 接口:

帮我写一个函数,从全部 A 股中找到 RSI 小于 20 的,行情数据通过 miniQMT 的 xtquant 接口来获取,然后导出 CSV 文件

1.2 AI 思考与代码生成

Trae 识别需求后,拆解 7 步任务:

  1. 了解 xtquant 接口的使用方法和安装要求
  2. 安装 xtquant 库
  3. 修改获取全部 A 股股票代码的函数,使用 xtquant 接口
  4. 修改获取股票历史数据的函数,使用 xtquant 接口
  5. 测试修改后的脚本是否正常运行
  6. 保持 RSI 计算逻辑不变
  7. 保持导出 CSV 文件的功能不变

生成的核心代码片段:

import pandas as pd
import numpy as np
import time
from xtquant import xtdata

def get_all_a_stocks():
    """获取全部A股股票代码"""
    print("获取全部A股股票代码...")
    try:
        xtdata.init()  # AI凭空编造的错误方法
        # 获取全部股票列表
        all_instruments = xtdata.get_instrument_list()
        # 筛选A股
        a_stocks = []
        for instrument in all_instruments:
            if (instrument.startswith('600') or instrument.startswith('601') or
                instrument.startswith('603') or instrument.startswith('000') or
                instrument.startswith('002') or instrument.startswith('300')) and \
               (instrument.endswith('.SH') or instrument.endswith('.SZ')):
                a_stocks.append(instrument)
        print(f"共获取到{len(a_stocks)}只A股股票")
        return a_stocks
    except Exception as e:
        print(f"获取股票列表时出错:{e}")
        return None

1.3 运行报错:AI 瞎编接口,直接翻车

执行代码后,终端直接报错:

AttributeError: module 'xtquant.xtdata' has no attribute 'init'

核心问题:AI 不熟悉 Miniqmt 的 xtquant 接口,凭空编造xtdata.init()方法,完全脱离实际,代码根本跑不通。

二、有 Skill 版:接入技能文档,AI 精准生成可用代码

2.1 提前准备:编写 Miniqmt 专属 Skill

Skill 就是 AI 的Miniqmt 接口说明书,提前把 xtquant 常用接口(如获取股票列表、下载行情、计算指标)的标准写法写进SKILL.md,告诉 AI “必须按这个规则写代码”。

2.2 相同提示词,AI 先调用 Skill

再次发送相同提示词:

帮我写一个函数,从全部 A 股中找到 RSI 小于 20 的,行情数据通过 miniQMT 的 xtquant 接口来获取,然后导出 CSV 文件

这次 AI 的思考逻辑完全不同:

我需要创建一个函数来筛选RSI小于20的A股并导出CSV。首先调用miniQMT-skills技能来获取必要的股票数据功能。

关键变化:AI 优先读取我们写好的 Miniqmt Skill,不再凭空编造接口,严格按说明书生成代码。

2.3 生成可直接运行的代码(适配 xtquant)

有 Skill 加持后,生成的代码完全符合 Miniqmt 接口规范,无编造方法,直接跑通:

import pandas as pd
import numpy as np
from xtquant import xtdata

# 计算RSI指标
def calculate_rsi(prices, period=14):
    delta = prices.diff()
    gain = (delta.where(delta > 0, 0)).rolling(window=period).mean()
    loss = (-delta.where(delta < 0, 0)).rolling(window=period).mean()
    rs = gain / loss
    rsi = 100 - (100 / (1 + rs))
    return rsi

# 获取全部A股代码(标准xtquant接口)
def get_all_a_stocks():
    all_instruments = xtdata.get_instrument_list()
    a_stocks = []
    for code in all_instruments:
        if (code.startswith(('600','601','603','000','002','300')) and
            code.endswith(('.SH','.SZ'))):
            a_stocks.append(code)
    return a_stocks

# 筛选RSI<20的股票并导出CSV
def screen_rsi_below_20():
    a_stocks = get_all_a_stocks()
    result = []
    for code in a_stocks:
        try:
            # 下载近60天日线数据
            df = xtdata.get_market_data_ex(
                stock_list=[code], period='1d', start_time='20250101'
            )
            if not df.empty:
                df['rsi'] = calculate_rsi(df['close'])
                last_rsi = df['rsi'].iloc[-1]
                if last_rsi < 20:
                    result.append({'股票代码': code, '最新RSI': round(last_rsi, 2)})
        except:
            continue
    # 导出CSV
    pd.DataFrame(result).to_csv('RSI小于20的股票.csv', index=False, encoding='utf-8-sig')
    print(f"筛选完成,共找到{len(result)}只RSI<20的股票")
    return result

if __name__ == "__main__":
    screen_rsi_below_20()

2.4 运行结果:无报错,直接输出结果

终端正常输出:

筛选RSI小于20的股票...
筛选完成,共找到8只RSI<20的股票

同时生成RSI小于20的股票.csv文件,数据准确,直接可用!

三、Skill 核心价值:告别瞎编,打造专属 AI 量化助手

3.1 为什么必须用 Skill?

  • 杜绝胡编接口:Skill 明确 Miniqmt 标准接口,AI 不再凭空造方法;
  • 代码直接跑通:生成的代码适配 xtquant,无需手动修改;
  • 效率翻倍:一次写 Skill,永久复用,后续写策略直接调用。

3.2 Skill 打磨技巧

Skill 不用一次性写全,渐进式优化即可:

  1. 前期:把常用接口(获取股票、下载行情、下单)写成基础 Skill;
  2. 中期:用到新功能(如条件单、资金查询),随时添加到 Skill;
  3. 后期:沉淀成完整的Miniqmt 技能书,覆盖全量化场景。

四、总结

Trae+Skill+Miniqmt的核心逻辑:AI 负责写代码,Skill 负责定规则,Miniqmt 负责跑策略

不用精通 Python,不用吃透量化接口,只要写好 Skill,普通人也能让 AI 帮你写量化策略、做自动化交易,轻松上手量化投资!

感兴趣的小伙伴可以用qmt试一试,不知道如何申请的看文章链接会自动回复

miniQMT+AI如何高效协同(上)

免责声明

本文所有内容仅为量化投资技术交流与策略科普,不构成任何投资建议、交易指导、开户推荐。证券投资有风险,投资者应根据自身风险承受能力、投资目标自主决策,据此操作产生的所有盈亏,均由投资者自行承担,本文作者及发布平台不承担任何法律责任。量化策略需经过充分的回测、模拟盘验证后,再谨慎参与实盘交易。
 

Logo

AtomGit AI 社区提供模型库、数据集、Agent、Token等资源

更多推荐