Files

133 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: A-期货日级数据
description: 通过 mysql_dll2.dll 连接 MySQL 数据库并执行 SQL 查询。当用户需要查询 MySQL 数据库、执行 SQL 语句、获取数据库中的数据时触发。 触发关键词包括:查询数据库、查合约、查日线、查K线、查结算价、查持仓量、查成交量、查保证金、 查品种数据、读取数据库、SQL查询、查某品种某合约、查期货数据、从数据库取数据、db查询、查纯碱、查螺纹等。 注意:此 Skill 依赖 mysql_dll2.dll 文件,仅限 Windows 平台使用。数据库编号固定为 1。
disable: true
allowed-tools:
---
.dll 连接 MySQL 数据库并执行 SQL 查询。当用户需要查询 MySQL 数据库、执行 SQL 语句、获取数据库中的数据时触发。
触发关键词包括:查询数据库、查合约、查日线、查K线、查结算价、查持仓量、查成交量、查保证金、
查品种数据、读取数据库、SQL查询、查某品种某合约、查期货数据、从数据库取数据、db查询、查纯碱、查螺纹等。
注意:此 Skill 依赖 mysql_dll2.dll 文件,仅限 Windows 平台使用。数据库编号固定为 1。
allowed-tools:
disable: true
---
# A-期货日级数据
## 用途
把自然语言翻译成 SQL 执行,返回原始数据。不生成汇总、不分析、不联想。
---
## 数据库
- **db_index:固定为 1**,无需询问用户
---
## 调用方式
```python
import sys
sys.path.insert(0, r"<skill_scripts_dir>")
from mysql_client import MysqlDLLClient
db = MysqlDLLClient()
result = db.query(1, "SELECT * FROM `contract_day` WHERE p_code = ?", ["sa"])
print(result)
db.close()
```
---
## 字段说明(references/field_mapping.md
| 英文字段名 | 中文含义 | 字段类型 |
|-----------|---------|---------|
| contract | 合约 | varchar(10) |
| open | 开盘价 | float |
| high | 高(最高价) | float |
| low | 低(最低价) | float |
| close | 收(收盘价) | float |
| volume | 成交(成交量) | float |
| oi | 持仓(持仓量) | float |
| p_code | 品种 | varchar(4) |
| jys | 交易所 | varchar(6) |
| times | 时间 | datetime |
### 品种 vs 合约
| 概念 | 字段 | 说明 | 示例 |
|------|------|------|------|
| 品种 | `p_code` | 品种代码,拼音小写 | `sa`(纯碱)、`rb`(螺纹钢) |
| 合约 | `contract` | 品种 + 交割月份 | `sa605`(纯碱2026年5月交割) |
> 郑商所(CZCE)合约月份为3位,如 `SR501`、`MA509`。
---
## 查询示例
**查所有品种某时间段数据(直接一条SQL搞定,不需要先查品种)**
```sql
SELECT * FROM contract_day WHERE times >= '2026-01-01' AND times <= '2026-12-31'
```
**查纯碱26年所有合约数据**
```
p_code = 'SA'
时间范围: times >= '2026-01-01' AND times <= '2026-12-31'
```
**查纯碱605合约数据**
```
contract = 'SA605'
```
**查螺纹钢26年所有数据**
```
p_code = 'RB'
时间范围: times >= '2026-01-01' AND times <= '2026-12-31'
```
---
## 执行规则
1. **直接执行,不询问确认。**
2. **只返回数据,不生成汇总、不分析。**
3. **db_index 固定为 1。**
4. **参数化查询**,所有条件用 `?` 占位符传参。
5. **查所有品种时直接一条 SQL**,不需要先 `SELECT DISTINCT p_code` 再逐条查。
---
## 依赖文件
```
scripts/
└── mysql_client.py
lib/
└── mysql_dll/
├── mysql_dll2.dll
├── jsoncpp.dll
├── libcrypto-1_1-x64.dll
├── libmysql.dll
├── libssl-1_1-x64.dll
└── mysqlcppconn-9-vs14.dll
```
DLL 由 `mysql_client.py` 自动加载,无需手动配置。
---
## 品种代码对照(references/variety_mapping.md
详见 `references/variety_mapping.md`,包含所有交易所品种代码。