基金晴雨
把支付宝里实际持有的基金和天气提醒放进 VS Code:平时扫一眼,细看再展开。
GitHub 仓库
·
问题反馈
重要提示:这不是投资建议。
基金晴雨只做个人持仓记录、数据展示、收益估算、公开数据整理和天气提醒,不提供投资顾问服务。估值、排行、评分、候选清单、收益图表和「每日优选」都可能存在延迟、误差、遗漏或计算口径差异,不能作为投资决策依据,也不构成基金推荐、买入建议、卖出建议、持有建议、收益承诺或风险承诺。
为什么做它
很多基金工具适合认真复盘,却不适合放在工作流里常驻。基金晴雨的目标更克制:你只需要把基金录入一次,之后在 VS Code 侧边栏和状态栏快速看一眼持仓收益、定投状态和天气变化,需要细看时再打开全功能页。
它关注四件事:
| 目标 |
怎么做 |
| 少打扰 |
侧边栏高密度列表,状态栏只展示关键盈亏和天气提示 |
| 看得清 |
仪表盘汇总持仓、收益日历、收益趋势和收益明细 |
| 不忘天气 |
侧边栏展示当前天气、24 小时预报和 7 天预报;状态栏提示异常天气 |
| 少维护 |
持仓金额、定投规则、收益统计起点和导入导出都能维护 |
第一眼
| 区域 |
内容 |
适合场景 |
| 侧边栏 |
自选基金、估算涨跌、今日预估收益、当前天气和 24 小时预报 |
日常盯盘 |
| 状态栏 |
当日累计盈亏、指定基金涨跌、天气和特殊天气提示 |
写代码时扫一眼 |
| 仪表盘 |
总持仓、收益日历、收益分布、近 30 日图表 |
看账户表现 |
| 每日优选 |
候选清单、规则评分、筛选依据、重仓信息 |
浏览公开数据观察对象 |
| 基金详情 |
阶段业绩、风险指标、重仓股、收益趋势 |
查看单只基金 |
核心能力
自选基金
- 添加 6 位基金代码后,活动栏「晴雨」视图会展示自选基金。
- 支持别名、删除、复制代码、设置持仓金额和设置定投计划。
- 支持手动刷新和定时刷新,默认刷新间隔为
8000ms。
- 支持按配置顺序、涨跌幅、持有金额、今日上涨金额排序。
- 侧边栏底部显示当前天气、湿度、风速和未来 24 小时预报。
- 24 小时内有雨雪、雷暴、雾霾、大风等特殊天气时,会显示简短提示。
持仓收益
- 设置当前持仓金额后,插件会按实时估值估算今日收益。
- 净值确认后,持仓金额会按确认净值变化滚动更新。
- 支持设置收益统计起点,用当前持仓金额倒推指定日期的初始金额。
- 状态栏可展示当日累计盈亏,也可展示指定基金的实时涨跌。
天气提示
- 默认使用 Open-Meteo,免 API Key。
- 默认使用 IP 自动定位,也可改成手动城市或经纬度。IP 定位不是 GPS,可能受运营商出口、代理网络和第三方定位库影响;如果想固定到苏州工业园区这类更精确的位置,建议在「配置天气」里改用手动经纬度。
- 可点击侧边栏天气里的「精确定位」,或执行「精确定位天气位置」命令,打开浏览器请求一次系统定位权限;定位页会尽量解析省市区/街道名称,解析失败也会先保存经纬度,后续刷新不需要重复授权。
- 可选 QWeather 和风天气、OpenWeatherMap、Tomorrow.io,API Key 保存到 VS Code SecretStorage。
- 天气状态栏悬浮提示会展示当前天气和未来 24 小时内的异常天气列表。
定投计划
- 支持每周、每两周、每月、每个交易日定投。
- 扣款日遇节假日会自动顺延到交易日。
- 到期后按确认日净值并入持仓,用于后续收益统计。
- 关机数日后重新打开 VS Code,会补处理期间到期的定投记录。
数据备份
- 导出
fund-xl.sync.v1 JSON,用于备份或迁移插件数据。为兼容历史版本,内部同步 schema 保持原名。
- 支持从剪贴板或 JSON 文件导入。
- 导入会覆盖当前自选基金、别名、持仓金额、定投计划、排序和刷新间隔。
全功能页
点击侧边栏标题栏的「打开全功能页」,或点击任意基金行,可以打开综合面板。
仪表盘
仪表盘是持仓总览页,适合回答“我现在整体怎么样”。
| 模块 |
你能看到 |
| 汇总卡片 |
总持仓、今日预估收益、昨日确认收益、定投数量 |
| 周期收益 |
本周、本月、今年收益汇总 |
| 收益日历 |
按月份查看每日确认收益,支持切换月份 |
| 图表区 |
持仓占比、收益分布、近 30 日收益走势 |
| 明细表 |
每只持仓基金的今日收益、昨日收益、周/月/年收益和定投状态 |
每日优选
每日优选不是“推荐买什么”,它只是一个公开数据整理器。
它会综合公开排行、阶段涨跌、净值走势、波动回撤和重仓股信息,把候选基金整理成一个观察清单,并展示五维评分、候选排序、筛选依据和前十大持仓。这里的“优选”只代表当前内置规则筛出的观察对象,不代表更值得购买。
| 你看到的 |
应该怎么理解 |
| 候选排序 |
当前规则下的评分顺序,不代表未来收益 |
| 五维评分 |
动量、连续性、回撤控制、持仓质量、趋势等指标的规则化结果 |
| 筛选依据 |
为什么它被当前规则选中,不是买入理由 |
| 前十大持仓 |
帮助了解持仓集中度和行业暴露 |
| 页面风险提示 |
候选与评分仅供观察,不构成投资建议、买卖建议或收益承诺 |
使用前请记住:历史涨跌不能预测未来,公开接口可能延迟或异常,基金选择仍需结合公告、费率、风险等级、持仓结构和个人风险承受能力自行判断。
基金详情
基金详情是单只基金的观察页。
- 支持按基金代码或名称搜索。
- 展示阶段业绩、风险指标、重仓股和持仓信息。
- 收益趋势默认展示近 7 天。
- 可切换近 7 天、近 30 天、近 365 天。
- 趋势图包含两条折线:当日收益、累计收益。
- 可在详情页保存持仓金额,并立即刷新收益趋势。
收益口径
| 名称 |
说明 |
| 今日预估收益 |
根据实时估值涨跌幅和当前持仓金额估算,交易时段内会变化 |
| 昨日确认收益 |
根据已确认净值计算,通常比盘中估值更稳定 |
| 周/月/年收益 |
基于确认净值收益序列汇总 |
| 累计收益 |
从收益统计起点开始累计,受持仓金额、定投记录和校准记录影响 |
| 定投入账 |
到期后按确认日净值并入持仓,节假日会顺延 |
估值和确认净值不是同一套数据。估值适合看盘中变化,确认净值适合做收益统计。
快速开始
npm install
npm run compile
开发调试:
- 用 VS Code 打开项目目录。
- 按 F5 启动扩展开发宿主。
- 点击活动栏的「晴雨」图标。
- 使用侧边栏标题栏的「添加基金」输入基金代码,例如
161725、005827。
打包 VSIX:
npx @vscode/vsce package
生成 .vsix 后,可在 VS Code 中通过「从 VSIX 安装」安装。
常用命令
| 命令 |
说明 |
| 添加基金 |
添加 6 位基金代码到自选列表 |
| 刷新 |
手动刷新基金估值 |
| 刷新天气 |
手动刷新天气 |
| 配置天气 |
设置天气服务商、位置、API Key 和状态栏显示方式 |
| 精确定位天气位置 |
打开浏览器获取一次系统定位权限,并保存天气经纬度 |
| 切换排序 |
在不同排序方式之间切换 |
| 设置收益统计起点 |
为持仓基金统一设置收益统计起点 |
| 打开全功能页 |
打开仪表盘、每日优选和基金详情 |
| 导出基金数据 |
复制同步 JSON,也可保存为 JSON 文件 |
| 导入基金数据 |
从剪贴板或 JSON 文件导入数据 |
| 基金行右键菜单 |
设置别名、持仓金额、定投计划、复制代码、删除基金 |
配置项
| 配置 |
说明 |
默认 |
fund-watch.funds |
自选基金代码列表 |
["161725", "005827", "000001"] |
fund-watch.updateInterval |
自动刷新间隔,单位毫秒,最小 3000 |
8000 |
fund-watch.statusBarFunds |
需要在状态栏展示的基金代码 |
[] |
fund-watch.fundAmount |
各基金当前持仓金额,用于收益估算 |
{} |
fund-watch.fundAmountUpdatedAt |
内部使用:持仓金额对应的确认净值日期 |
{} |
fund-watch.fundPlans |
各基金定投计划 |
{} |
fund-watch.fundAlias |
各基金自定义别名 |
{} |
fund-watch.sortType |
排序方式:0 不排序、1 涨跌降序、2 涨跌升序、3 持有金额降序、4 今日上涨金额降序 |
0 |
fund-watch.showColor |
是否按涨跌着色 |
true |
fund-watch.weather.enabled |
是否启用侧边栏和状态栏天气 |
true |
fund-watch.weather.provider |
天气服务商:Open-Meteo / QWeather / OpenWeatherMap / Tomorrow.io |
open-meteo |
fund-watch.weather.locationMode |
定位方式:IP 自动定位、城市、经纬度 |
autoIp |
fund-watch.weather.city |
天气城市或自定义位置名称 |
"" |
fund-watch.weather.latitude |
手动纬度 |
null |
fund-watch.weather.longitude |
手动经度 |
null |
fund-watch.weather.refreshInterval |
天气刷新间隔,最小 10 分钟 |
1800000 |
fund-watch.weather.statusBarMode |
天气状态栏显示方式:始终显示、仅预警显示、只显示当前 |
always |
主题颜色
可通过 workbench.colorCustomizations 覆盖涨跌颜色:
{
"workbench.colorCustomizations": {
"fundWatch.gainColor": "#f04848",
"fundWatch.lossColor": "#13b865"
}
}
数据来源
| 数据 |
来源 |
| 基金估值 |
https://fundgz.1234567.com.cn/js/{code}.js?rt={timestamp} |
| 基金排行 |
东方财富基金排行公开数据 |
| 净值历史、基金详情、重仓股 |
东方财富公开页面与接口 |
| 默认天气和城市搜索 |
Open-Meteo 公开接口 |
| 默认 IP 定位 |
优先 https://api.ip.sb/geoip,异常时兜底到 ipapi.co、ipwho.is |
| 浏览器精确定位 |
本机 localhost 临时页面调用浏览器 Geolocation,用户授权后保存经纬度,并尽量解析地址 |
| 精确定位地址反查 |
BigDataCloud Reverse Geocoding,失败时兜底 Photon,用于把经纬度解析成省市区/街道名称;解析失败不影响经纬度保存 |
| 可选天气服务 |
QWeather、OpenWeatherMap、Tomorrow.io |
估值通常只在交易时段更新,非交易时段会显示最近一次估值。净值确认数据以数据源实际发布时间为准。IP 自动定位只代表当前公网出口的大致位置,不代表真实物理位置。若第三方接口调整、限流、延迟或返回异常,插件展示结果可能受到影响。
开发脚本
npm run compile
npm run watch
npm run lint
npm test
npm run package
项目地址
免责声明
本插件仅用于个人学习、数据整理、基金收益观察和天气提醒参考。插件展示的基金估值、天气、净值历史、收益估算、图表、排行、评分、候选清单和「每日优选」说明,均可能存在延迟、误差、遗漏、第三方接口变更或计算口径差异。
本插件不提供任何形式的投资顾问服务,不构成基金推荐、投资评级、买入建议、卖出建议、持有建议、收益承诺或风险承诺。任何投资决策都应由使用者基于自身情况独立判断,并自行承担风险。