← 返回 Skills 市场
基金监控
作者
hustjim2026
· GitHub ↗
· v1.0.0
· MIT-0
87
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install fund-168
功能描述
基金监控技能。管理自选基金列表,监控场外基金、ETF基金的压力位和支撑位。 支持添加/删除自选基金,自动计算压力位 (智能判断:若 20 日均线×1.05 大于当前价格则输出该值,否则输出当前净值×1.05) 和支撑位 (智能判断:若 20 日均线×0.95 小于当前价格则输出该值,否则输出当前净值×0.95)。...
使用说明 (SKILL.md)
\r \r
Fund-005 - 基金监控技能\r
\r
概述\r
\r 本技能用于监控自选基金的净值动态,自动计算压力位和支撑位,并在指定时间进行监控提醒。提供独立任务模式、涨跌幅告警、持仓盈亏追踪、备份导出等完整功能。\r \r
核心功能\r
\r
1. 自选基金管理\r
- 添加自选基金(支持场外基金、ETF基金)\r
- 删除自选基金\r
- 查看自选基金列表\r
- 导入/导出自选基金列表(JSON格式)\r \r
2. 技术分析\r
- 压力位:智能判断\r
- 若(20 日均线 × 1.05)> 当前价格,输出(20 日均线 × 1.05)\r
- 若(20 日均线 × 1.05)≤ 当前价格,输出(当前净值 × 1.05)\r
- 支撑位:智能判断\r
- 若(20日均线 × 0.95)\x3C 当前价格,输出(20日均线 × 0.95)\r
- 若(20日均线 × 0.95)≥ 当前价格,输出(当前净值 × 0.95)\r
- 所有数值保留四位小数(基金净值精度更高)\r
- 支持自定义均线周期(5/10/20/30/60日),默认20日\r \r
3. 独立任务模式(task参数)\r
- 每只基金创建独立的定时监控任务(cron job)\r
- 任务按间隔1分钟逐个启动,避免并发请求API被限流\r
- 支持单只基金独立添加/删除任务\r
- 支持批量为所有自选基金创建任务\r
- 支持查看当前所有任务状态\r \r
4. 涨跌幅告警\r
- 设置涨跌幅阈值(如 ±3%),触发时主动推送告警\r
- 支持按基金单独设置阈值,也支持全局默认阈值\r
- 盘中估值触发和收盘确认触发两种模式\r \r
5. 持仓盈亏追踪\r
- 记录每只基金的买入成本价和持有份额\r
- 监控报告中自动计算浮动盈亏(金额+百分比)\r
- 支持多次买入的成本均价计算\r \r
6. 备份导出(backup)\r
- 将所有任务明细导出为CSV或XLSX表格\r
- 默认导出到
C:\fund_monitor_backup\目录\r - 支持自定义导出路径\r
- 文件名自动加时间戳,防止覆盖;XLSX文件自动加
月日中文前缀\r \r
7. 多渠道推送\r
- 企业微信Webhook(默认)\r
- 钉钉机器人Webhook\r
- 飞书机器人Webhook\r
- 邮件(SMTP)\r
- 支持同时推送多个渠道\r \r
8. 系统自检\r
- 检查API数据源连通性\r
- 检查数据目录权限\r
- 检查cron任务运行状态\r
- 检查依赖库是否安装\r \r
快速开始\r
\r
基础使用流程\r
\r
# 1. 添加自选基金\r
python fund_monitor_wechat.py add 000001 华夏成长混合 场外基金\r
python fund_monitor_wechat.py add 510300 沪深300ETF ETF基金\r
\r
# 2. 设置企业微信推送\r
python fund_monitor_wechat.py webhook https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY\r
\r
# 3. 创建独立监控任务\r
python fund_monitor_wechat.py task batch 14:30 1\r
\r
# 4. 立即执行监控测试\r
python fund_monitor_wechat.py monitor --wechat\r
```\r
\r
### 命令速查\r
\r
| 命令类别 | 常用命令 |\r
|---------|---------|\r
| 自选基金管理 | `add`, `remove`, `list`, `watchlist export/import` |\r
| 任务管理 | `task add`, `task batch`, `task list`, `task remove` |\r
| 监控执行 | `monitor`, `monitor-single`, `times` |\r
| 涨跌幅告警 | `alert threshold`, `alert set`, `alert list` |\r
| 持仓盈亏 | `hold add`, `hold remove`, `hold list` |\r
| 推送设置 | `push add`, `webhook`, `push list` |\r
| 备份导出 | `backup`, `backup list` |\r
| 系统管理 | `doctor`, `--version` |\r
\r
## 详细使用指南\r
\r
### 自选基金管理\r
\r
#### 添加自选基金\r
\r
```bash\r
# 语法:python fund_monitor_wechat.py add \x3C基金代码> \x3C基金名称> \x3C基金类型>\r
python fund_monitor_wechat.py add 000001 华夏成长混合 场外基金\r
python fund_monitor_wechat.py add 510300 沪深300ETF ETF基金\r
python fund_monitor_wechat.py add 110022 易方达消费行业 场外基金\r
```\r
\r
#### 删除自选基金\r
\r
```bash\r
# 语法:python fund_monitor_wechat.py remove \x3C基金代码>\r
python fund_monitor_wechat.py remove 000001\r
```\r
\r
#### 查看自选基金列表\r
\r
```bash\r
python fund_monitor_wechat.py list\r
```\r
\r
#### 导入导出Watchlist\r
\r
```bash\r
# 导出为JSON(默认)\r
python fund_monitor_wechat.py watchlist export\r
\r
# 指定导出路径\r
python fund_monitor_wechat.py watchlist export --path D:\watchlist_backup.json\r
\r
# 导入(默认追加模式,不覆盖已有基金)\r
python fund_monitor_wechat.py watchlist import watchlist_backup.json\r
\r
# 覆盖模式(清空后导入)\r
python fund_monitor_wechat.py watchlist import watchlist_backup.json --overwrite\r
```\r
\r
### 自定义均线周期\r
\r
默认使用20日均线,可按需调整为5/10/30/60日:\r
\r
```bash\r
# 全局默认改为10日均线\r
python fund_monitor_wechat.py ma period 10\r
\r
# 为单只基金指定均线周期\r
python fund_monitor_wechat.py ma set 000001 30\r
python fund_monitor_wechat.py ma set 510300 5\r
\r
# 查看当前均线配置\r
python fund_monitor_wechat.py ma list\r
```\r
\r
#### 均线周期与压力/支撑位的关系\r
\r
```\r
MA周期越短 → 对近期价格越敏感 → 压力/支撑位波动更大\r
MA周期越长 → 趋势越平滑 → 压力/支撑位更稳定\r
\r
建议:\r
- 场外基金(波动小):20日或30日\r
- ETF基金(波动大):10日或20日\r
- 短线操作:5日或10日\r
- 长线持有:30日或60日\r
```\r
\r
### 独立任务模式(task参数)\r
\r
#### 为单只基金创建独立监控任务\r
\r
```bash\r
# 语法:task add \x3C基金代码> [监控时间] [间隔分钟数]\r
# 默认监控时间 14:30,间隔 1 分钟\r
\r
python fund_monitor_wechat.py task add 000001\r
python fund_monitor_wechat.py task add 510300\r
python fund_monitor_wechat.py task add 110022\r
```\r
\r
以上命令会创建3个独立cron任务,分别在:\r
- `000001` → 14:30 执行\r
- `510300` → 14:31 执行(+1分钟)\r
- `110022` → 14:32 执行(+2分钟)\r
\r
#### 指定自定义监控时间与间隔\r
\r
```bash\r
# 语法:task add \x3C基金代码> \x3C起始时间> \x3C间隔分钟数>\r
\r
python fund_monitor_wechat.py task add 000001 10:00 1\r
python fund_monitor_wechat.py task add 510300 10:00 1\r
# 结果:000001 在 10:00 执行,510300 在 10:01 执行\r
```\r
\r
#### 批量为所有自选基金创建任务\r
\r
```bash\r
# 语法:task batch \x3C起始时间> \x3C间隔分钟数>\r
# 为 watchlist.json 中所有基金逐个创建独立任务\r
\r
python fund_monitor_wechat.py task batch 14:30 1\r
```\r
\r
输出示例:\r
```\r
📋 批量创建任务:共 3 只基金\r
────────────────────────────────────────────────────\r
✅ 000001 华夏成长混合 → 14:30\r
✅ 510300 沪深300ETF → 14:31\r
✅ 110022 易方达消费行业 → 14:32\r
────────────────────────────────────────────────────\r
end\r
```\r
\r
#### 任务管理命令\r
\r
```bash\r
# 删除单只基金的任务\r
python fund_monitor_wechat.py task remove 000001\r
\r
# 删除所有任务\r
python fund_monitor_wechat.py task clear\r
\r
# 暂停某只基金的监控(不删除,保留配置)\r
python fund_monitor_wechat.py task disable 000001\r
\r
# 重新启用\r
python fund_monitor_wechat.py task enable 000001\r
\r
# 查看当前所有任务\r
python fund_monitor_wechat.py task list\r
```\r
\r
任务列表输出示例:\r
```\r
📋 基金监控任务列表\r
────────────────────────────────────────────────────\r
000001 华夏成长混合 14:30 每日 ✅\r
510300 沪深300ETF 14:31 每日 ✅\r
110022 易方达消费行业 14:32 每日 ✅\r
────────────────────────────────────────────────────\r
📋 共 3 个任务,间隔 1 分钟\r
────────────────────────────────────────────────────\r
end\r
```\r
\r
### 备份导出(backup)\r
\r
#### 导出所有任务明细为CSV表格\r
\r
```bash\r
# 默认导出到 C:\fund_monitor_backup\ 目录,文件名自动加时间戳\r
python fund_monitor_wechat.py backup\r
\r
# 指定导出格式(csv / xlsx)\r
python fund_monitor_wechat.py backup --format xlsx\r
\r
# 指定自定义导出路径\r
python fund_monitor_wechat.py backup --path D:\my_backups\r
```\r
\r
#### 导出内容\r
\r
每行对应一只基金的任务明细,包含以下列:\r
\r
| 列名 | 说明 | 示例 |\r
|------|------|------|\r
| 序号 | 任务执行顺序 | 1 |\r
| 基金代码 | 6位基金代码 | 000001 |\r
| 基金名称 | 基金全称 | 华夏成长混合 |\r
| 基金类型 | 场外基金 / ETF基金 | 场外基金 |\r
| 监控时间 | 该任务的执行时间 | 14:30 |\r
| 间隔(分钟) | 相对前一任务的间隔 | 1 |\r
| 是否启用 | 任务状态 | 是 |\r
| 最新净值 | 最近一次监控的净值 | 1.4512 |\r
| 压力位 | 计算得出的压力位 | 1.5234 |\r
| 支撑位 | 计算得出的支撑位 | 1.3789 |\r
| 更新时间 | 最后一次数据更新时间 | 2026-03-24 14:31 |\r
\r
#### 查看备份历史\r
\r
```bash\r
# 列出 C:\fund_monitor_backup\ 下所有备份文件\r
python fund_monitor_wechat.py backup list\r
```\r
\r
输出示例:\r
```\r
📁 备份文件列表:C:\fund_monitor_backup\\r
────────────────────────────────────────────────────\r
fund_tasks_2026-03-24_143000.csv 2.3 KB\r
3月23日_fund_tasks.xlsx 8.1 KB\r
fund_tasks_2026-03-22_143000.csv 2.1 KB\r
3月22日_fund_tasks.xlsx 8.0 KB\r
────────────────────────────────────────────────────\r
📋 共 4 个备份文件\r
────────────────────────────────────────────────────\r
end\r
```\r
\r
### 传统批量监控(兼容旧版)\r
\r
```bash\r
# 查看监控配置\r
python fund_monitor_wechat.py times\r
\r
# 添加监控时间\r
python fund_monitor_wechat.py addtime 14:30\r
python fund_monitor_wechat.py addtime 10:00\r
\r
# 删除监控时间\r
python fund_monitor_wechat.py removetime 14:30\r
\r
# 立即执行全部监控\r
python fund_monitor_wechat.py monitor\r
\r
# 执行监控并发送到企业微信\r
python fund_monitor_wechat.py monitor --wechat\r
```\r
\r
### 企业微信推送设置\r
\r
```bash\r
python fund_monitor_wechat.py webhook https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx\r
```\r
\r
### 多渠道推送设置\r
\r
#### 钉钉机器人\r
\r
```bash\r
python fund_monitor_wechat.py push add dingtalk https://oapi.dingtalk.com/robot/send?access_token=xxx\r
python fund_monitor_wechat.py push add dingtalk https://oapi.dingtalk.com/robot/send?access_token=xxx --secret SECxxx\r
```\r
\r
#### 飞书机器人\r
\r
```bash\r
python fund_monitor_wechat.py push add feishu https://open.feishu.cn/open-apis/bot/v2/hook/xxx\r
```\r
\r
#### 邮件(SMTP)\r
\r
```bash\r
python fund_monitor_wechat.py push add email --smtp smtp.qq.com --port 465 --from [email protected] --to [email protected] --password xxx\r
```\r
\r
#### 查看/删除推送渠道\r
\r
```bash\r
python fund_monitor_wechat.py push list # 查看所有渠道\r
python fund_monitor_wechat.py push remove dingtalk # 删除钉钉渠道\r
```\r
\r
### 涨跌幅告警\r
\r
#### 设置全局默认阈值\r
\r
```bash\r
# 涨跌幅超过 ±3% 时告警(默认)\r
python fund_monitor_wechat.py alert threshold 3\r
\r
# 改为 ±5%\r
python fund_monitor_wechat.py alert threshold 5\r
```\r
\r
#### 为单只基金设置单独阈值\r
\r
```bash\r
# 000001 涨跌幅超过 ±2% 就告警\r
python fund_monitor_wechat.py alert set 000001 2\r
\r
# 510300(波动大的ETF)设为 ±1%\r
python fund_monitor_wechat.py alert set 510300 1\r
```\r
\r
#### 查看/删除告警阈值\r
\r
```bash\r
python fund_monitor_wechat.py alert list # 查看所有阈值\r
python fund_monitor_wechat.py alert remove 000001 # 删除单独设置,恢复默认\r
```\r
\r
#### 告警触发模式\r
\r
```bash\r
# 盘中估值触发(实时,可能有误差)\r
python fund_monitor_wechat.py alert mode realtime\r
\r
# 收盘确认触发(准确,但延迟到收盘后,默认)\r
python fund_monitor_wechat.py alert mode close\r
```\r
\r
#### 告警报告示例\r
\r
```\r
⚠️ 涨跌幅告警 [2026-03-24 14:15]\r
────────────────────────────────────────────────────\r
【易方达消费行业】110022\r
估算涨幅:+3.52% 🔔 超过阈值 ±3%\r
最新估值:2.1234\r
昨日收盘:2.0510\r
压 力 位:2.1567\r
支 撑 位:1.9523\r
重点关注:1.95\r
────────────────────────────────────────────────────\r
end\r
```\r
\r
### 持仓盈亏追踪\r
\r
#### 记录持仓成本\r
\r
```bash\r
# 买入记录:基金代码 成本价 份额\r
python fund_monitor_wechat.py hold add 000001 1.3500 10000\r
python fund_monitor_wechat.py hold add 000001 1.4200 5000 # 多次买入,自动计算均价\r
\r
# 删除持仓\r
python fund_monitor_wechat.py hold remove 000001\r
\r
# 查看持仓列表\r
python fund_monitor_wechat.py hold list\r
```\r
\r
#### 持仓报告示例\r
\r
```\r
💰 持仓盈亏报告 [2026-03-24 14:30]\r
────────────────────────────────────────────────────\r
【华夏成长混合】000001\r
持仓均价:1.3733\r
持有份额:15000\r
最新净值:1.4512\r
浮动盈亏:+1168.50 (+5.67%)\r
压 力 位:1.5234\r
支 撑 位:1.3789\r
重点关注:1.38\r
\r
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄\r
总持仓成本:20600.00\r
总 市 值:21768.00\r
总浮动盈亏:+1168.00 (+5.67%)\r
────────────────────────────────────────────────────\r
end\r
```\r
\r
### 系统自检\r
\r
```bash\r
python fund_monitor_wechat.py doctor\r
```\r
\r
输出示例:\r
```\r
🏥 系统自检报告 [2026-03-24 14:30]\r
────────────────────────────────────────────────────\r
✅ Python版本:3.10.0\r
✅ requests库:已安装 (2.31.0)\r
✅ openpyxl库:已安装 (3.1.2)\r
✅ 数据目录:data/ 可读写\r
✅ 日志目录:data/logs/ 可读写\r
✅ 天天基金API:连通正常 (120ms)\r
✅ DoctorXiong API:连通正常 (200ms)\r
⚠️ 腾讯财经API:响应较慢 (1500ms)\r
✅ watchlist.json:格式正确,3只基金\r
✅ config.json:格式正确\r
✅ cron任务:3个运行中,0个异常\r
✅ 企业微信Webhook:可达\r
⚠️ 备份目录:不存在(首次backup时自动创建)\r
\r
📋 总结:10项通过 / 2项警告 / 0项异常\r
────────────────────────────────────────────────────\r
end\r
```\r
\r
### 版本信息\r
\r
```bash\r
python fund_monitor_wechat.py --version\r
```\r
\r
输出示例:\r
```\r
fund-005 v2.1.0\r
基金监控技能 · 多源API降级 · 独立任务模式 · 涨跌幅告警 · 持仓盈亏追踪\r
```\r
\r
## 数据存储\r
\r
### 配置文件\r
\r
| 文件 | 用途 |\r
|------|------|\r
| `data/watchlist.json` | 自选基金列表 |\r
| `data/config.json` | 监控配置、任务配置、备份配置 |\r
| `data/push_channels.json` | 多渠道推送配置 |\r
| `data/alert_config.json` | 涨跌幅告警阈值配置 |\r
| `data/holdings.json` | 持仓成本与份额数据 |\r
| `data/holidays.json` | 法定节假日日期列表 |\r
| `data/workdays.json` | 调休补班日期列表 |\r
| `data/logs/YYYY-MM-DD.log` | 每日运行日志 |\r
\r
### 监控配置示例\r
\r
`data/config.json`:\r
\r
```json\r
{\r
"monitor_times": ["14:30"],\r
"webhook_url": "",\r
"default_ma_period": 20,\r
"alert": {\r
"default_threshold": 3,\r
"mode": "close"\r
},\r
"backup": {\r
"format": "csv",\r
"path": "C:\\fund_monitor_backup",\r
"auto_backup": false,\r
"auto_backup_schedule": "weekly"\r
},\r
"tasks": {\r
"000001": {\r
"time": "14:30",\r
"interval_min": 1,\r
"order": 0,\r
"enabled": true,\r
"cron_id": "fund-task-000001",\r
"last_nav": 1.4512,\r
"last_date": "2026-03-24",\r
"last_pressure": 1.5234,\r
"last_support": 1.3789\r
}\r
}\r
}\r
```\r
\r
## 技术实现\r
\r
### 多源API降级策略\r
\r
采用三梯队API自动降级,按优先级依次尝试:\r
\r
#### 第一梯队:天天基金(主用)\r
- 实时估值:`http://fundgz.1234567.com.cn/js/{code}.js`\r
- 历史净值:`http://fund.eastmoney.com/f10/F10DataApi.aspx?type=lsjz&code={code}&page=1&per=20`\r
- 基金信息:`http://fund.eastmoney.com/js/{code}.js`\r
\r
#### 第二梯队:备用API(天天基金不可用时降级)\r
- 实时净值:`https://api.doctorxiong.club/v1/fund?code={code}`\r
- 历史净值:`https://api.doctorxiong.club/v1/fund/netWorth?code={code}`\r
- 基金搜索:`https://api.doctorxiong.club/v1/fund/search?keyword={keyword}`\r
\r
#### 第三梯队:兜底API\r
- 基金实时数据:`https://qt.gtimg.cn/q=ff{code}`(腾讯财经)\r
- ETF行情:`https://hq.sinajs.cn/list=ff_{code}`(新浪财经)\r
\r
### 依赖清单\r
\r
| 库名 | 用途 | 是否必需 |\r
|------|------|----------|\r
| `requests` | HTTP请求 | ✅ 必需 |\r
| `json` | 数据解析(标准库) | ✅ 必需 |\r
| `re` | JSONP正则提取(标准库) | ✅ 必需 |\r
| `csv` | CSV导出(标准库) | ✅ 必需 |\r
| `openpyxl` | XLSX导出 | ⚡ 仅XLSX需要 |\r
| `smtplib` | 邮件发送(标准库) | ⚡ 仅邮件推送需要 |\r
\r
安装命令:\r
```bash\r
pip install requests\r
pip install openpyxl # 仅需XLSX导出时安装\r
```\r
\r
### 计算公式\r
\r
- MA20 = 最近20个交易日净值平均值\r
- 压力位:\r
- 若 (MA20 × 1.05) > 当前净值:压力位 = MA20 × 1.05\r
- 若 (MA20 × 1.05) ≤ 当前净值:压力位 = 当前净值 × 1.05\r
- **支撑位**:\r
- 若 (MA20 × 0.95) \x3C 当前净值:支撑位 = MA20 × 0.95\r
- 若 (MA20 × 0.95) ≥ 当前净值:支撑位 = 当前净值 × 0.95\r
\r
### 输出格式规范\r
\r
所有终端和推送输出遵循统一格式规范:\r
\r
```\r
┌─ 标题行 ──────────────────────────────────────────┐\r
│ Emoji + 报告名 + [日期 时间] │\r
├─ 分隔线 ──────────────────────────────────────────┤\r
│ 固定52个 ─ 字符,所有报告统一使用 │\r
├─ 内容区 ──────────────────────────────────────────┤\r
│ 缩进:首级2空格,次级4空格 │\r
│ 冒号对齐:中文冒号后对齐数值 │\r
│ Emoji状态标记: │\r
│ ✅ 正常 ⚠️ 警告 ❌ 异常 📊 数据 │\r
│ 📋 列表 ⏰ 时间 💰 金额 🔔 告警 │\r
├─ 汇总行 ──────────────────────────────────────────┤\r
│ 可选,多只基金时显示汇总 │\r
└────────────────────────────────────────────────────┘\r
```\r
\r
#### 格式细则\r
\r
| 项目 | 规范 | 示例 |\r
|------|------|------|\r
| 分隔线 | 固定52个 `─` | `────────────────────────────────────────────────────` |\r
| 时间格式 | `YYYY-MM-DD HH:MM` | `2026-03-24 14:31` |\r
| 净值精度 | 保留4位小数 | `1.4512` |\r
| 百分比 | 带正负号,保留2位小数 | `+3.52%` / `-1.20%` |\r
| 金额精度 | 保留2位小数 | `+1168.50` |\r
| 重点关注 | 支撑位保留2位小数,紧跟支撑位下方显示 | `重点关注:3.55` |\r
| 缩进 | 标题2空格,明细4空格 | 见下方示例 |\r
| 结尾标记 | 所有报告统一加 `end` | — |\r
\r
### 监控报告示例(单只基金任务推送)\r
\r
```\r
📊 基金监控 [2026-03-24 14:31]\r
────────────────────────────────────────────────────\r
【华夏成长混合】000001\r
最新净值:1.4512\r
压 力 位:1.5234\r
支 撑 位:1.3789\r
重点关注:1.38\r
────────────────────────────────────────────────────\r
end\r
```\r
\r
## 注意事项\r
\r
1. **基金代码格式**:\r
- 场外基金:6位数字(如000001)\r
- ETF基金:6位数字(如510300)\r
\r
2. **交易日**:周末和节假日可能无法获取完整数据,task模式默认仅工作日执行\r
\r
3. **API降级**:脚本内置三梯队API自动降级(天天基金 → DoctorXiong → 腾讯/新浪),无需手动切换。若全部不可用会跳过该基金并记录日志\r
\r
4. **数据目录**:可通过环境变量 `LOOK_FUND_DATA_DIR` 自定义\r
\r
5. **任务间隔**:建议间隔至少1分钟,避免天天基金API限流\r
\r
6. **任务数量**:单用户建议不超过20个并发任务\r
\r
7. **备份导出**:\r
- CSV格式无需额外依赖,XLSX格式需安装`openpyxl`库\r
- 默认导出到 `C:\fund_monitor_backup\`(Windows),其他系统请用 `--path` 指定路径\r
- Linux/Mac示例:`python fund_monitor_wechat.py backup --path ~/fund_backup`\r
\r
8. **task vs 批量监控**:\r
- `task` 模式:每只基金独立任务,间隔执行,互不影响,单只失败不影响其他\r
- `monitor` 批量模式:一次性查所有基金,适合快速查看\r
\r
9. **涨跌幅告警**:\r
- 盘中估值模式可能有误差(±0.5%),收盘确认模式更准确\r
- 建议设置合理的阈值,过低会导致频繁告警\r
\r
10. **持仓盈亏**:\r
- 成本价和份额由用户手动录入,脚本不对接券商API\r
- 多次买入自动计算加权均价:`均价 = Σ(价格×份额) / 总份额`\r
\r
11. **多渠道推送**:\r
- 同一条监控消息会推送到所有已启用的渠道\r
- 钉钉机器人需配置加签密钥(`--secret`),否则消息可能被拦截\r
\r
12. **均线周期**:\r
- 切换均线周期后,压力位/支撑位会立即按新周期重新计算\r
- 均线数据不足时(如设60日但只有30个交易日),用可用数据计算并提示\r
\r
## 完整命令参考\r
\r
### 自选基金管理\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `add \x3C代码> \x3C名称> \x3C类型>` | 添加自选基金 |\r
| `remove \x3C代码>` | 删除自选基金 |\r
| `list` | 查看自选基金列表 |\r
| `watchlist export [--path]` | 导出自选基金列表 |\r
| `watchlist import \x3C文件> [--overwrite]` | 导入自选基金列表 |\r
\r
### 任务管理\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `task add \x3C代码> [时间] [间隔]` | 为单只基金创建监控任务 |\r
| `task batch \x3C时间> \x3C间隔>` | 批量创建所有基金的监控任务 |\r
| `task remove \x3C代码>` | 删除单只基金的任务 |\r
| `task clear` | 删除所有任务 |\r
| `task enable \x3C代码>` | 启用某只基金的任务 |\r
| `task disable \x3C代码>` | 禁用某只基金的任务(保留配置) |\r
| `task list` | 查看所有任务状态 |\r
\r
### 监控执行\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `times` | 查看监控时间配置 |\r
| `addtime \x3CHH:MM>` | 添加监控时间点 |\r
| `removetime \x3CHH:MM>` | 删除监控时间点 |\r
| `monitor` | 立即执行全部监控 |\r
| `monitor --wechat` | 执行监控并推送企业微信 |\r
| `monitor-single \x3C代码>` | 监控单只基金 |\r
\r
### 均线配置\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `ma period \x3C天数>` | 设置全局默认均线周期 |\r
| `ma set \x3C代码> \x3C天数>` | 为单只基金指定均线周期 |\r
| `ma list` | 查看当前均线配置 |\r
\r
### 涨跌幅告警\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `alert threshold \x3C%>` | 设置全局涨跌幅阈值 |\r
| `alert set \x3C代码> \x3C%>` | 为单只基金设置单独阈值 |\r
| `alert remove \x3C代码>` | 删除单只基金的单独阈值 |\r
| `alert mode \x3Crealtime/close>` | 设置告警触发模式 |\r
| `alert list` | 查看所有告警阈值 |\r
\r
### 持仓盈亏\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `hold add \x3C代码> \x3C成本价> \x3C份额>` | 记录买入成本 |\r
| `hold remove \x3C代码>` | 删除持仓记录 |\r
| `hold list` | 查看持仓盈亏 |\r
\r
### 推送渠道\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `webhook \x3CURL>` | 设置企业微信Webhook(快捷方式) |\r
| `push add \x3C类型> \x3CURL> [options]` | 添加推送渠道 |\r
| `push remove \x3C类型>` | 删除推送渠道 |\r
| `push list` | 查看所有推送渠道 |\r
\r
### 备份导出\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `backup [options]` | 导出任务明细表格 |\r
| `backup list` | 查看历史备份文件 |\r
\r
### 系统\r
\r
| 命令 | 说明 |\r
|------|------|\r
| `doctor` | 系统自检 |\r
| `--version` | 查看版本信息 |\r
\r
## 资源\r
\r
### scripts/\r
本技能包含可执行脚本:\r
\r
- `fund_monitor_wechat.py` - 基金监控主脚本\r
- 完整实现所有基金监控功能\r
- 支持独立任务模式、涨跌幅告警、持仓盈亏追踪\r
- 多渠道推送:企业微信、钉钉、飞书、邮件\r
- 备份导出:CSV/XLSX格式\r
- 系统自检功能\r
\r
### references/\r
参考文档和API信息:\r
\r
- `api_endpoints.md` - 所有可用API端点列表\r
- `calculation_methods.md` - 压力位/支撑位计算方法详解\r
- `workflow_diagrams.md` - 工作流程图\r
\r
### assets/\r
配置模板和示例文件:\r
\r
- `config_template.json` - 配置文件模板\r
- `watchlist_example.json` - 自选基金列表示例\r
- `backup_template.csv` - 备份文件模板\r
\r
安全使用建议
This skill's code is consistent with a fund-monitoring tool, but it ships with a hard-coded Feishu webhook URL and will, by default, send monitoring messages to that endpoint unless you change the configuration. Before installing or running: (1) review and remove or replace the webhook URL(s) in data/config.json and data/push_channels.json if you do not control them; (2) search the script for any functions that create cron/task-scheduler entries and confirm they only modify scheduler entries you expect; (3) set LOOK_FUND_DATA_DIR explicitly if you want files written to a known location, and verify backup path settings (SKILL.md mentions C:\ by default but bundled config differs); (4) if you plan to use email, provide SMTP credentials only in a secure local config and not shared publicly; (5) run the script in an isolated environment (or with network access restricted) until you are comfortable it behaves as expected. These inconsistencies are suspicious but not definitive of malicious intent — inspect and reconfigure before use.
功能分析
Type: OpenClaw Skill
Name: fund-168
Version: 1.0.0
The skill bundle is classified as suspicious primarily due to the inclusion of a hardcoded Feishu Webhook URL (d8c64276-f53b-4c76-b88f-a1e3e04e6b62) in both 'data/config.json' and 'data/push_channels.json', which would result in user financial data and holdings being sent to an external endpoint by default. Furthermore, there is a significant discrepancy between the documentation and the code: 'SKILL.md' describes advanced features such as automated cron task management and local system backups that are entirely absent from the 'scripts/fund_monitor_wechat.py' implementation, suggesting the bundle is either misleading or incomplete.
能力评估
Purpose & Capability
Name/description match the included Python implementation: it fetches fund NAVs, computes MA-based pressure/support, tracks holdings, supports backup and multi-channel push. The bundled code and data files are generally proportionate to the stated fund-monitoring purpose. Minor mismatch: SKILL.md mentions a default enterprise-wechat webhook and default backup path C:\fund_monitor_backup\, whereas the included data/config.json and push_channels.json contain a Feishu webhook and backup path is empty — inconsistent defaults but not necessarily malicious.
Instruction Scope
The SKILL.md and the script perform network requests to multiple public fund APIs and also send push messages to webhooks and SMTP. The shipped data/config.json and push_channels.json already include a Feishu webhook URL, so by default the skill will push monitoring results to that external endpoint unless reconfigured. The code also mentions creating and managing per-fund scheduled tasks (cron), writing backups to disk, and writing logs; these actions go beyond read-only monitoring and will modify system state and create files. Additionally the script honors an environment variable LOOK_FUND_DATA_DIR (not documented in SKILL.md) which affects where files are read/written — a hidden configuration surface.
Install Mechanism
No install spec or external installer; the package contains a standalone Python script and local JSON data files. No downloads or archive extraction are performed by the skill itself. This is low install-risk.
Credentials
The skill declares no required environment variables publicly, but the script reads LOOK_FUND_DATA_DIR to change its data directory (undocumented in SKILL.md). More importantly, included config files hard-code a Feishu webhook URL (present in data/config.json and data/push_channels.json). That means sensitive monitoring data (watchlist, computed pressure/support, holdings/positions and alerts) would be POSTed to an external webhook by default unless the user edits the config. SMTP credentials for email are not declared up front (they are instead expected in runtime config), which is reasonable but should be configured by the user — verify before use.
Persistence & Privilege
always:false and model invocation allowed (normal). The skill implements a 'task' mode that creates per-fund scheduled jobs (cron/task scheduler) and writes backups/logs to disk; creating scheduled tasks is a persistence action and is consistent with the described feature but is powerful — the user should confirm/inspect exactly how cron/task creation is implemented before enabling batch/task creation.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install fund-168 - 安装完成后,直接呼叫该 Skill 的名称或使用
/fund-168触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Fund-168 v1.0.0 — 基金监控技能首发
- 自选基金列表管理:添加/删除场外基金、ETF,导入导出Watchlist。
- 智能技术分析:自动计算压力位、支撑位,支持自定义均线周期。
- 独立任务模式:为每只基金分配定时监控任务,防API并发限制。
- 涨跌幅告警:涨跌幅超设定阈值时主动推送提醒。
- 持仓盈亏追踪:记录买入成本、份额,实时计算盈亏。
- 备份导出:任务明细批量导出为CSV/XLSX,支持历史备份列表。
- 多渠道推送支持:企业微信、钉钉、飞书、邮件可灵活配置。
- 系统自检:一键检查API、数据目录和cron任务状态。
元数据
常见问题
基金监控 是什么?
基金监控技能。管理自选基金列表,监控场外基金、ETF基金的压力位和支撑位。 支持添加/删除自选基金,自动计算压力位 (智能判断:若 20 日均线×1.05 大于当前价格则输出该值,否则输出当前净值×1.05) 和支撑位 (智能判断:若 20 日均线×0.95 小于当前价格则输出该值,否则输出当前净值×0.95)。... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 87 次。
如何安装 基金监控?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install fund-168」即可一键安装,无需额外配置。
基金监控 是免费的吗?
是的,基金监控 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
基金监控 支持哪些平台?
基金监控 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 基金监控?
由 hustjim2026(@hustjim2026)开发并维护,当前版本 v1.0.0。
推荐 Skills