miniQMT+AI如何高效协同(下)
发布时间:10小时前阅读:41
上一篇我们讲到,直接用 AI 写代码筛选 RSI 股票,默认调用 tushare 数据源,根本连不上 miniqmt。今天接着实战:指定 miniqmt 接口→AI 瞎编代码报错→用上 Skill 后,生成代码直接跑通,全程干货,看完你也能搞定!
想要低成本量化交易?QMT/ptrade低佣金开户,微信或电话联系我,轻松搞定。
一、无 Skill 坑惨了:指定 miniqmt 接口,AI 照样乱编
1.1 修正提示词,强制用 miniqmt 数据源
这次明确告诉 AI 用 miniqmt 的 xtquant 接口:
帮我写一个函数,从全部 A 股中找到 RSI 小于 20 的,行情数据通过 miniQMT 的 xtquant 接口来获取,然后导出 CSV 文件
上一篇我们讲到,直接用 AI 写代码筛选 RSI 股票,默认调用 tushare 数据源,根本连不上 miniqmt。今天接着实战:指定 miniqmt 接口→AI 瞎编代码报错→用上 Skill 后,生成代码直接跑通,全程干货,看完你也能搞定!
1.2 AI 思考过程
Trae 收到指令,开始规划:
- 了解 xtquant 接口用法
- 安装 xtquant 库
- 改写获取 A 股代码的函数
- 改写获取历史行情的函数
- 测试脚本
- 保留 RSI 计算逻辑
- 保留导出 CSV 功能
1.3 生成代码(错误版)
import pandas as pd
import numpy as np
import time
from xtquant import xtdata
def get_all_a_stocks():
print("获取全部A股股票代码...")
try:
xtdata.init() # AI凭空编造,不存在的方法
all_instruments = xtdata.get_instrument_list()
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.4 运行直接报错
终端提示:
AttributeError: module 'xtquant.xtdata' has no attribute 'init'
真相:AI 不懂 miniqmt 真实接口,凭空编造 xtdata.init (),根本跑不通,白忙活一场!
二、有 Skill 就神了:AI 按规则办事,代码直接可用
2.1 什么是 Skill?一句话讲透
Skill 就是你给 AI 写的miniqmt 接口说明书。提前写好:
- 怎么获取 A 股列表
- 怎么下载日线数据
- 不能瞎编哪些函数
- AI 照着说明书干活,再也不乱写、不乱编。
2.2 同一条提示词,AI 行为大变
同样输入:
帮我写一个函数,从全部 A 股中找到 RSI 小于 20 的,行情数据通过 miniQMT 的 xtquant 接口来获取,然后导出 CSV 文件
1.2 AI 思考过程
Trae 收到指令,开始规划:
- 了解 xtquant 接口用法
- 安装 xtquant 库
- 改写获取 A 股代码的函数
- 改写获取历史行情的函数
- 测试脚本
- 保留 RSI 计算逻辑
- 保留导出 CSV 功能
1.3 生成代码(错误版)
import pandas as pd
import numpy as np
import time
from xtquant import xtdata
def get_all_a_stocks():
print("获取全部A股股票代码...")
try:
xtdata.init() # AI凭空编造,不存在的方法
all_instruments = xtdata.get_instrument_list()
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.4 运行直接报错
终端提示:
plaintext
AttributeError: module 'xtquant.xtdata' has no attribute 'init'
真相:AI 不懂 miniqmt 真实接口,凭空编造 xtdata.init (),根本跑不通,白忙活一场!
二、有 Skill 就神了:AI 按规则办事,代码直接可用
2.1 什么是 Skill?一句话讲透
Skill 就是你给 AI 写的miniqmt 接口说明书。提前写好:
- 怎么获取 A 股列表
- 怎么下载日线数据
- 不能瞎编哪些函数
- AI 照着说明书干活,再也不乱写、不乱编。
2.2 同一条提示词,AI 行为大变
同样输入:
帮我写一个函数,从全部 A 股中找到 RSI 小于 20 的,行情数据通过 miniQMT 的 xtquant 接口来获取,然后导出 CSV 文件
AI 思考直接变成:
我需要创建一个函数来筛选RSI小于20的A股并导出CSV。首先调用miniQMT-skills技能来获取必要的股票数据功能。
关键点:AI 先读你的 Skill,严格按接口规范生成代码。
2.3 生成代码(正确版,可直接跑)
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:
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
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 运行结果:直接出数据
终端输出:
plaintext
筛选RSI小于20的股票...
筛选完成,共找到8只RSI<20的股票
自动生成 CSV 文件,数据直接能用,全程零报错!
三、Skill 的真正价值:普通人也能驾驭量化
很多人觉得量化门槛高、要懂代码、要懂接口,其实根本不用。核心就是 Skill:
- 一次写好,反复用
- 常用接口写进去,新接口随时加
- 慢慢攒成自己的miniqmt 技能书
- 不用会复杂编程,只要会写 Skill,AI 就是你的免费程序员,帮你写策略、跑回测、做自动化。
四、总结
现在你已经知道:AI+miniqmt,没有 Skill 寸步难行;有了 Skill,代码直接跑通。但问题来了:新手到底怎么写第一份 Skill?怎么快速把常用接口整理好?
风险提示:
本文代码,均为伪代码作为教学展示,不做投资意见,投资有风险,入市需谨慎
温馨提示:投资有风险,选择需谨慎。
-
养虾理财用的金融Skill是什么?国泰海通灵犀Skills实测,新手也能装
2026-05-09 13:41
-
豆包开启付费!AI行业迎来拐点,普通投资者该怎么布局?
2026-05-09 13:41
-
2026国金证券新人开户能够享受哪些福利?(含6888元品质礼包)
2026-05-09 13:41


问一问

+微信
分享该文章
