返回列表 发布新帖

量化研究--怎么样快速开发量化交易skills

20 0

风险提示:本内容为量化技术及平台操作的纯知识分享,不构成任何投资建议,不推荐任何具体证券或交易时机。部分内容可能理解包含错误,请自行核实。市场有风险,投资需谨慎

在AI时代,外面经常会听到skill,mcp等名称,各式各样的skill,最近小伙伴问我怎么样写skill,skill有哪些问卷,哪些固定的格式要求,哪些必要的选项,AI智能体(Agent)开发中最核心的两个概念,skill,mcp。为了让你快速理解,我先用大白话解释,再深入技术细节。内容比较多我分2个文章来写

我简单的写了一个框架,ptrade量化交易的skill

339433814991f1e11d9324f538565d0e.png

b1d859a595c9f05e99c257c0de273dc6.png

Skill(技能):好比手机里的App。你想修图就打开美图软件,想导航就打开导航软件。每个Skill解决一个特定的、完整的问题(比如“帮我总结这篇论文”)。

MCP(模型上下文协议):好比USB-C接口。它不是App本身,而是一个通用标准。有了这个接口,任何符合标准的“外设”(比如数据库、本地文件、网页浏览器)都能即插即用,AI不用为每个外设单独写驱动。

特别需要注意是Skill自定义使用手册,教程,MCP具备执行能力,需要仔细看看内容,慎重使用。

Skill(技能)在AI语境下,Skill是一个高层次的封装。本质:它是一个为特定场景设计的完整工作流或指令集。组成:它通常包含Prompt(提示词) + 工具调用 + 知识库。特点:面向用户。开发者把复杂的多步操作打包成一个按钮,用户点击就能用。比如“一键生成周报”,这个Skill内部可能调用了联网搜索、数据分析和文本生成三个步骤。调用方式:通常由用户主动唤起,或者由AI根据意图动态选择。

MCP(模型上下文协议)这是Anthropic(Claude母公司)提出的一个底层开源协议。本质:它是一个标准化接口,用来连接AI模型和外部数据源/工具。组成:它分为 MCP主机(如Claude客户端)、MCP客户端(AI模型)和 MCP服务器(提供资源的外部服务)。特点:面向开发者。它解决的是“连接”问题。以前AI想读本地SQL数据库,需要写Python代码;现在只要数据库部署了MCP Server,AI通过MCP协议就能直接读写,就像浏览器访问网页一样标准。调用方式:由AI模型自主调用。AI觉得需要查资料时,就会自动通过MCP去拉取数据,用户无感知。

c75bf237a28cacbbbea147e1e298ff9d.png

看一下skill写法要求,文件结构,核心就是一个md文件,一个典型的 Skills 目录结构如下,其他的文件可以自定义

skill-name/
├── SKILL.md              # 必需:核心指令文件
├── scripts/              # 可选:可执行脚本
├── references/           # 可选:参考文档
└── assets/               # 可选:模板和资源文件

a89efa5e0bababc7beebd54652dac3ab.png

SKILL.md(必需)—— 核心入口文件这是整个 Skill 的大脑,必须位于技能目录的根目录下,文件名严格区分大小写 。它包含两部分:① YAML 元数据(Frontmatter):用 --- 包裹在文件顶部,定义技能的关键属性

d44b89df3d086fbfea59958d11f2450c.png

Markdown 正文:前端元数据之后的所有内容,是指导 AI 完成任务的具体指令,包括执行步骤、判断逻辑、输入输出示例等 。示例

---
name: pdf-summarizer
description: 从PDF文件中提取关键信息并生成摘要。当用户上传PDF并要求总结时使用。
---
# PDF 摘要技能
1. 读取上传的PDF文件
2. 提取每个段落的标题和首句
3. 输出要点式摘要

scripts/(可选)—— 可执行脚本目录存放辅助任务执行的代码文件,用于处理计算密集或需精确控制的操作,如数据解析、格式转换、API 调用等 。支持语言:Python(.py)、Bash(.sh)、Node.js(.js/.ts)等 调用方式:AI 在执行 SKILL.md 指令时按需调用,输出结果合并到最终回复中 设计原则:每个脚本应承担单一职责,并包含错误处理

my-skill/
├── SKILL.md
└── scripts/
    ├── extract_text.py
    └── count_tokens.py

references/(可选)—— 参考资料目录存放非执行性的长篇文档,如详细的技术说明、API 手册、规范指南等 。加载机制:按需加载,只有在指令中明确提及或用户询问时 AI 才会读取对应文件,节省 Token 适用格式:.md、.txt、.json、.yaml 等纯文本格式 典型内容:详细的技术规范、合规性说明、最佳实践指南

my-skill/
├── SKILL.md
└── references/
    ├── solid-checklist.md
    └── security-checklist.md

assets/(可选)—— 静态资源目录存放模板、图片、示例文件等静态资源,用于在输出中引用 。适用格式:.png、.jpg、.svg、.pdf、.docx 模板等 使用场景:生成报告时套用模板、在对话中展示示例图表 5. lifecycle.yaml 和 README.md(可选)lifecycle.yaml:定义技能在安装、更新、卸载时的自动化钩子(如 on_install、on_update、on_uninstall)

README.md:面向开发者或用户的说明文档,包含设计思路、版本历史、依赖项等,帮助人类理解技能背景

创建 Skills 的步骤创建目录:在 .skills/ 或 .agent/skills/ 下创建以技能名命名的目录(如 my-skill/) 编写 SKILL.md:包含 YAML 元数据 + Markdown 指令添加可选资源:根据需要创建 scripts/、references/、assets/ 子目录引用文件:在 SKILL.md 中使用相对路径引用(如 scripts/cleanup.py) 验证:AI 工具会自动识别并加载,用户可通过对话或斜杠命令调用

注意事项目录命名:必须全小写,仅含字母、数字和连字符,不能以连字符开头或结尾 目录层级:保持单层结构,不支持嵌套子技能 一致性:根目录名必须与 SKILL.md 中的 name 字段完全一致 SKILL.md 大小:建议控制在 500 行以内或 5000 词以内,详细文档移入 references/ 目录

不懂的问我就可以,后面文章详细的介绍怎么样开发,加我备注入群可以加入量化群

836fad7387d77aa5837a1bb2073c7f41.jpg

找我开户也可以专业的量化支持服务

fe388177e7c9c80128657509a66959a4.png

简单md文件参考,skill

---
name: 小果量化交易-ptrade
description: >
  基于 Ptrade 量化交易平台的双均线策略辅助工具。
  支持:策略回测参数设置、策略代码生成、交易日志分析、实盘交易指导。
  当用户提到“小果量化”、“双均线策略”、“Ptrade”时自动触发。
---
# 小果量化交易 Ptrade 技能
## 一、功能概述
本技能帮助用户在 **Ptrade 量化交易终端** 上快速实现双均线策略(金叉买入、死叉卖出)的**回测**与**实盘交易**。
包含策略脚本生成、回测参数配置、交易日志分析、常见问题解答等完整功能。
## 二、使用步骤(四步走)
### 步骤1:新建策略
1. 登录 Ptrade 终端,点击左上角 **“策略”** 图标
2. 点击 **“添加策略”**,选择业务类型为 **“股票”**
3. 填写策略名称,例如:`小果双均线策略`
4. 点击 **“确定”**,系统会自动生成一个默认策略模板
### 步骤2:编写策略代码
1. 在策略编辑器中,**删除**默认模板的所有代码
2. 复制 `scripts/dual_ma_strategy.py` 中的完整代码粘贴进去
3. 点击 **“保存”**(快捷键:Ctrl+S)
### 步骤3:配置回测参数
1. 点击 **“新建回测”** 按钮
2. 填写以下参数:
   - **开始时间**:例如 `2023-01-01`
   - **结束时间**:例如 `2023-12-31`
   - **回测资金**:`1000000`(100万元)
   - **回测基准**:`000300.SS`(沪深300指数)
   - **回测频率**:选择 **“日线”**(分钟级别可选)
3. 点击 **“保存”** 按钮
4. 点击 **“回测”** 按钮,系统开始运行回测
### 步骤4:分析回测结果
回测完成后,查看以下面板:
- **策略评价指标**:策略收益、基准收益、Alpha比率、Beta比率、夏普比率、索提诺比率
- **收益曲线**:对比策略收益与基准收益的走势
- **交易日志**:查看每次买卖的详细信息(时间、价格、数量)
- **每日盈亏**:查看每日的盈亏明细
## 三、策略逻辑详解
### 核心逻辑
买入条件:五日均线(MA5)上穿十日均线(MA10)
卖出条件:五日均线(MA5)下穿十日均线(MA10)
### 交易标的
- **股票代码**:`60.SS`(电子)
- **股票池设置**:`set_universe(g.security)`
### 资金管理
- 买入时:**全仓买入**(使用全部可用现金)
- 卖出时:**全部卖出**(清空该股票持仓)
### 代码结构说明
| 函数 | 是否必选 | 执行时机 | 作用 |
|------|----------|----------|------|
| `initialize(context)` | 必选 | 策略启动时(仅1次) | 初始化股票池、全局变量、参数 |
| `handle_data(context, data)` | 必选 | 每分钟/每天执行 | 交易逻辑判断、下单操作 |
## 四、注意事项
### 回测注意事项
1. **股票池设置**:`set_universe()` 必须在 `initialize()` 中调用,否则 `get_history()` 无法获取数据
2. **停牌处理**:停牌日成交量为0,复盘后价格可能跳空,策略需增加过滤条件
3. **滑点设置**:建议设置 `set_slippage(0.001)` 使回测更贴近实盘
4. **佣金设置**:建议设置 `set_commission(0.0003, 5.0)` 模拟真实交易成本
5. **最小交易单位**:股票最小下单100股,可转债最小10张
6. **回测频率**:日线级别在 `15:00` 执行,分钟级别在 `9:31~15:00` 每分钟执行
### 实盘注意事项
1. **交易时间**:股票交易时间为 `9:30~15:00`,建议使用 `run_daily()` 定时执行
2. **涨跌停限制**:涨停无法买入,跌停无法卖出,下单前需判断涨停价和跌停价
3. **资金管理**:不建议全仓买入,建议分批建仓(如每次买入总资金的20%)
4. **日志记录**:使用 `log.info()` 记录关键操作,便于排查问题
5. **行情快照**:`get_snapshot(security)` 仅支持交易模块,回测中不可用
## 五、常见问题解答
### Q1:为什么回测结果显示没有交易?
**可能原因**:
- 股票池设置错误(`set_universe()` 未调用或参数错误)
- 均线周期过大,回测时间太短,没有产生金叉信号
- 股票停牌导致无法交易
**解决方法**:
- 检查 `g.security` 是否正确,确保股票代码格式为 `600570.SS`
- 缩小均线周期(如 MA5/MA10 → MA3/MA5)
- 延长回测时间(至少1年以上)
### Q2:为什么日志报错“股票不在股票池中”?
**原因**:`order()` 函数中指定的股票不在 `set_universe()` 设置的股票池中
**解决方法**:确保 `order(security, amount)` 中的 `security` 与 `set_universe()` 中的股票代码一致
### Q3:如何切换成其他股票?
**修改方法**:在 `initialize()` 函数中修改 `g.security` 的值为其他股票代码
```python
g.security = '0001.SZ'  # 改为银行

参考的ref,md文件参考。核心是skill.md,其他的无所谓,暗文件的功能建立策略文件就可以

[#量化交易]() [#量化skill]() [#怎么样开发skill]() [#skills开发教程]()

使用说明
1. 快速上手步骤
登录 Ptrade 终端,点击 “策略” → “新建策略”
复制 scripts/dual_ma_strategy.py 的完整代码粘贴到编辑器
点击 “保存”(快捷键:Ctrl+S)
点击 “新建回测”,设置回测参数
点击 “回测” 运行
2. 修改策略参数
表格修改项位置修改方法股票代码initialize() 中 g.security修改为其他股票代码均线周期initialize() 中 g.ma_short 和 g.ma_long修改数值佣金费率initialize() 中 set_commission()取消注释并修改滑点initialize() 中 set_slippage()取消注释并修改
3. 使用策略模板
复制 assets/strategy_template.py 到编辑器
修改 STRATEGY_CONFIG 字典中的参数
在 generate_signal() 函数中添加自定义交易逻辑
保存并运行
4. 查看日志
在回测/交易界面的 “日志” 区域查看运行记录
日志级别:DEBUG < INFO < WARNING < ERROR < CRITICAL
使用 log.info() 输出关键信息

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2026 迅投QMT社区 版权所有 All Rights Reserved. 京ICP备2025122616号-3
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表