eastmoney skills
妙想提供的股票模拟组合管理系统,支持持仓查询、买卖操作、撤单、委托查询、历史成交查询和资金查询等功能。通过安全认证的API接口实现真实交易体验。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install totalclaw:qqk000~eastmoney-stock-simulatorcURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Aqqk000~eastmoney-stock-simulator/file -o eastmoney-stock-simulator.mdGit 仓库获取源码
git clone https://github.com/openclaw/skills/commit/a714f1104784333b36ff650640192cf592d796d5# eastmoney_stock_simulator 妙想模拟组合管理 skill
本 Skill 由妙想提供一个股票模拟组合管理系统,支持股票组合持仓查询、买卖操作、撤单、委托查询、历史成交查询和资金查询等功能。通过调用后端模拟组合交易相关原生接口,实现真实的交易体验,所有操作均通过安全认证的 API 接口完成。
```yaml
tags: ["模拟炒股", "A股", "投资练手", "策略验证"]
use_when:
- 用户需要模拟炒股练手、验证交易策略
- 用户需要进行模拟交易操作(买卖/撤单)
- 用户需要查询模拟账户的持仓、资金、委托、历史成交记录
not_for:
- 真实资金交易、投资建议生成、交易决策指引
- 非A股类投资模拟(期货、外汇、港股、美股等)
- 商业用途、代他人操作、非法交易演示
# 环境变量配置
parameters:
- name: MX_APIKEY
description: 妙想Skills页面获取专属API密钥
required: true
type: secret
default: process.env.MX_APIKEY
- name: MX_API_URL
description: 模拟交易API基础地址
required: false
type: string
default: process.env.MX_API_URL || "https://mkapi2.dfcfs.com/finskillshub"
```
## 功能说明
根据**用户问句**自动识别意图并调用对应接口,支持以下功能:
1. **持仓查询**:查询指定账户的当前持仓股票。
2. **买入卖出操作**:执行买入和卖出操作,支持限价/市价委托,自动识别市场号和价格小数位。
3. **撤单操作**:撤销指定委托单,也支持一键撤单。
4. **委托查询**:查询账户下的所有委托订单(含已成交、未成交、已撤单)以及账户的历史成交记录。
5. **资金查询**:查询账户可用资金与总资产。
## 配置
- **MX_APIKEY**:妙想Skills页面获取的API密钥,需保密。
- **MX_API_URL**:模拟交易API的基础URL,默认为 `https://mkapi2.dfcfs.com/finskillshub`。
- **默认输出目录**: `/root/.openclaw/workspace/mx_data/output/`(自动创建)
- **输出文件名前缀**: `mx_stock_simulator_`
- **输出文件**:
- `mx_stock_simulator_{query}.txt` - 提取后的纯文本结果
- `mx_stock_simulator_{query}.json` - API 原始 JSON 数据
在使用前,请确保已配置以下环境变量:
```javascript
// 导出API Key和API地址
export MX_APIKEY= ${MX_APIKEY} || process.env.MX_APIKEY
export MX_API_URL= process.env.MX_API_URL || "https://mkapi2.dfcfs.com/finskillshub"
```
## 使用方式
1. 在妙想Skills页面获取apikey。
2. 将apikey存到环境变量,命名为MX_APIKEY,检查本地apikey是否存在,若存在可直接用。
3. 使用post请求接口,务必使用post请求,相关接口在后续章节说明。
## 功能概览
| 功能模块 | 状态 | 接口路径 | 说明 |
| -------------- | ------ | --------------------------------------- | ----------------------------------------- |
| 持仓查询 | 已实现 | `POST /api/claw/mockTrading/positions` | 获取持仓明细、成本、盈亏、总盈亏统计 |
| 买入或卖出操作 | 已实现 | `POST /api/claw/mockTrading/trade` | 限价/市价委托,自动识别市场号和价格小数位 |
| 撤单操作 | 已实现 | `POST /api/claw/mockTrading/cancel` | 按委托编号撤单或撤销当日所有未成交委托 |
| 委托查询 | 已实现 | `POST /api/claw/mockTrading/orders` | 当日/历史委托记录 |
| 资金查询 | 已实现 | `POST /api/claw/mockTrading/balance` | 总资产、可用资金、盈亏 |
### 股票代码格式说明
买入/卖出/撤单接口的股票代码入参仅支持A股,格式为6位数字,例如 `600519`、`000001`。
---
## 前置要求
- 用户需在妙想Skills页面获取并配置 `MX_APIKEY` 和 `MX_API_URL` 环境变量。
- 模拟组合账户操作前,用户需在妙想Skills页面(地址:https://dl.dfcfs.com/m/itc4 ),创建模拟账户后,并绑定模拟组合。
- 买入/卖出操作需提供正确的股票代码、价格和数量,且 价格需符合市场规则(如价格小数位)。
- 撤单操作需提供有效的委托编号,且该委托必须处于可撤销状态。
- 查询操作需确保账户已绑定且存在有效数据。
- Header 中必须携带 `apikey` 进行认证。
```javascript
apikey: ${MX_APIKEY};
```
## ️ 接口说明
- 所有请求均使用 `POST` 方法,`Content-Type: application/json`,并在 Header 中携带 `apikey`。
- 如果用户无模拟组合账户,需引导用户前往妙想Skills页面(地址:https://dl.dfcfs.com/m/itc4 )进行创建模拟账户并绑定组合后重试。
### 接口列表
### 1. 持仓查询
- **功能**:查询指定账户的当前持仓股票。
- **触发词**:`查询持仓`、`我的持仓`、`持仓情况`
- **请求地址**:`${MX_API_URL}/api/claw/mockTrading/positions`
- **请求体**:`{}`
- **成功响应**:`{ }`
```bash
curl -X POST "${MX_API_URL}/api/claw/mockTrading/positions" \
-H "apikey: ${MX_APIKEY}" \
-H "Content-Type: application/json" \
-d '{}'
```
**响应示例:**
```json
{
"code": "200",
"message": "成功",
"data": {
"totalAssets": null,
"availBalance": null,
"totalPosValue": null,
"posCount": 0,
"posList": null,
"currencyUnit": 1000,
"totalProfit": 0
},
"traceId": null
}
```
**字段说明:**
| 字段 | 类型 | 说明 |
| --------------- | ----- | --------------------- |
| `totalAssets` | Int64 | 总资产(厘) |
| `availBalance` | Int64 | 可用余额(厘) |
| `totalPosValue` | Int64 | 总持仓市值(厘) |
| `posList` | Int32 | 持仓明细数据 |
| `posCount` | Int32 | 持仓股票数量 |
| `totalProfit` | Int64 | 总盈亏(厘) |
| `currencyUnit` | Int32 | 币种最小面值,1000=厘 |
持仓列表 `posList` 元素字段:
| 字段 | 类型 | 说明 |
| -------------- | ------ | ------------------------------------------------------------ |
| `secCode` | String | 证券代码 |
| `secMkt` | Int32 | 证券市场号:0=深交所,1=上交所,116=港交所,105=纳斯达克 |
| `secName` | String | 证券名称 |
| `count` | Int64 | 持仓数量(股) |
| `availCount` | Int64 | 可用数量(股) |
| `value` | Int64 | 市值(厘) |
| `costPrice` | Int64 | 成本价(按 costPriceDec 放大为整数,还原:costPrice / 10^costPriceDec) |
| `costPriceDec` | Int32 | 成本价小数位数 |
| `price` | Int64 | 现价(按 priceDec 放大为整数,还原:price / 10^priceDec) |
| `priceDec` | Int32 | 现价小数位数 |
| `dayProfit` | Int64 | 当日盈亏(厘) |
| `dayProfitPct` | Double | 当日盈亏比例% |
| `profit` | Int64 | 持仓盈亏(厘) |
| `profitPct` | Double | 持仓盈亏比例% |
| `posPct` | Double | 仓位% |
### 2. 买入卖出操作
- **功能**:执行买入操作或卖出操作。
- **触发词**:`买入`、`买入股票`、`buy`、`卖出`、`卖出股票`、`sell`、`卖出全部`、`sell all`、`一键卖出`、`sell all position`、`卖出持仓`、`sell position`、`卖出当前持仓`、`sell current position`、`卖出所有持仓`、`sell all current position`
- **请求地址**:`${MX_API_URL}/api/claw/mockTrading/trade`
- **请求体**:`{ "type": "buy", "stockCode": "600519", "price": 1780.00, "quantity": 100, "useMarketPrice": false }`
- **成功响应**:`{ "orderId": "ORD987654", "status": "submitted" }`
| 参数 | 必填 | 说明 |
| ---------------- | ---- | ------------------------------------------------------------ |
| `type` | 是 | 操作类型:buy=买入,sell=卖出 |
| `stockCode` | 是 | 股票代码,自动识别市场号 |
| `price` | 是 | 委托价格(`useMarketPrice=false`时必填,支持小数),支持小数 |
| `quantity` | 是 | 委托数量(股) |
| `useMarketPrice` | 否 | 是否以行情最新价买入(默认false),为true时忽略price参数 |
- **操作说明**:买入/卖出操作需提供正确的股票代码、价格和数量,且价格需符合市场规则(如价格小数位)。当 `useMarketPrice=true` 时,系统会自动以行情最新价进行买入/卖出。
- **股票代码格式说明**:仅支持A股,格式为6位数字,例如 `600519`、`000001`,系统会自动识别并补全市场号;另外股票代码必传。
- **委托数量说明**:必须为整数,且需为100的整数倍(如100、200、300等),否则会被交易所拒单。
- **委托价格说明**:当 `useMarketPrice=false` 时,price参数必填,且需符合市场规则:沪市价格小数位不超过2位,深市价格小数位不超过3位;当 `useMarketPrice=true` 时,price参数会被忽略,系统会自动以行情最新价进行买入。
```bash
curl -X POST "${MX_API_URL}/api/claw/mockTrading/trade" \
-H "apikey: ${MX_APIKEY}" \
-H "Content-Type: application/json" \
-d '{
"type": "buy",
"stockCode": "600519",
"price": 1780.00,
"quantity": 100,
"useMarketPrice": false
}'
```
**响应示例:**
```json
{
"code": "501",
"message": "买入委托失败: 当前时间不可交易",
"data": null,
"traceId": null
}
```
### 3. 撤单操作
- **功能**:撤销指定委托单,撤销该账户下所有未成交的委托单。
- **触发词**:`撤单`、`撤销订单`、`cancel order`、`一键撤单`、`撤销所有订单`、`cancel all`、`撤销当日所有未成交订单`、`撤销所有未成交订单`、`撤销所有订单`、`cancel all pending orders`
- **请求地址**:`${MX_API_URL}/api/claw/mockTrading/cancel`
- **请求体**:`{ "orderId": "ORD987654", "stockCode": "600519" }`
- **成功响应**:`{ }`
| 参数 | 必填 | 说明 |
| ----------- | ---- | ---------------------------------- |
| `type` | 是 | 操作类型:order=买入,all=一键撤单 |
| `orderId` | 否 | 委托编号,type为order时必填 |
| `stockCode` | 否 | 股票代码,type为order时必填 |
- **操作说明**:撤单操作需提供有效的委托编号,且该委托必须处于可撤销状态;一键撤单会撤销该账户下所有未成交的委托单。
- **股票代码格式说明**:仅支持A股,格式为6位数字,例如 `600519`、`000001`,系统会自动识别并补全市场号;另外股票代码在type为order时必传。
```bash
curl -X POST "${MX_API_URL}/api/claw/mockTrading/cancel" \
-H "apikey: ${MX_APIKEY}" \
-H "Content-Type: application/json" \
-d '{
"orderId": "ORD987654",
"stockCode": "600519"
}'
```
*