一个基于 Web 的个人财务数据汇总工具,支持 A 股、美股、港股及无风险资产的统一管理与可视化展示。采用极简的 Apple 风格设计,所有数据存储在本地,安全隐私。
体验地址: https://antig-fina2git-22242749-2e386.web.app
Note
在线版本的数据存储在浏览器 IndexedDB 中,不同设备的数据互不共享。建议在常用浏览器中使用并定期导出备份数据。
-
多市场支持:
- A 股:支持沪深股市(如
600519.SS)。 - 美股:支持 NASDAQ/NYSE 等主流交易所(如
AAPL,MSFT)。 - 港股:支持港交所股票(如
0700.HK)。 - 其他资产:支持现金、国债等无风险资产记录。
- A 股:支持沪深股市(如
-
资产管理:
- 手动添加/编辑/删除资产记录。
- 支持 CSV 批量导入(提供标准模板)。
- 自动计算持仓市值。
-
可视化仪表盘:
- 资产分布饼图(按市场分类)。
- 风险资产与无风险资产比例分析。
- 实时总资产汇总(自动折算为人民币)。
-
实时数据汇率:
- 集成实时股票行情 API(Alpha Vantage / FMP)。
- 自动获取 USD/CNY 和 HKD/CNY 汇率,统一以人民币计价。
-
数据隐私:
- 所有数据仅存储在浏览器本地数据库 (IndexedDB) 中。
- 不会上传任何数据到外部服务器,确保隐私安全。
- 核心框架:Vanilla JavaScript (ES Modules)
- 构建工具:Vite
- 样式设计:原生 CSS Variables (Apple-style Design System)
- 数据存储:Dexie.js (IndexedDB Wrapper)
- 图表展示:Chart.js
- 数据处理:Papaparse (CSV 解析)
# 使用 HTTPS(推荐)
git clone https://github.com/YOUR_USERNAME/antig-fina2.git
# 或使用 SSH
git clone git@github.com:YOUR_USERNAME/antig-fina2.git
# 进入项目目录
cd antig-fina2确保您的电脑已安装 Node.js (推荐 v16+)。
npm install选项 A:使用一键启动脚本(Windows)
双击项目根目录下的脚本文件:
- PowerShell 用户:双击
start.ps1 - 命令提示符用户:双击
start.bat
脚本会自动检查依赖、安装(如需要)并启动开发服务器。
选项 B:使用 npm 命令
# 启动开发服务器
npm run dev
# 或自动打开浏览器
npm start启动后,访问终端显示的本地地址(通常是 http://localhost:5173)即可使用。
- 点击 GitHub 仓库页面的绿色 "Code" 按钮
- 选择 "Download ZIP"
- 解压到本地目录
- 按照上述第 2、3 步操作
- 点击页面右上角的 "添加资产" 按钮。
- 输入股票代码或名称进行搜索(支持模糊搜索)。
- 选择正确的市场(A股/美股/港股)。
- 输入持仓数量和成本价。
- 点击保存。
- 进入 "设置" 页面。
- 点击 "下载示例" 获取 CSV 模板。
- 按照模板格式填入资产数据。
- 在资产列表页或导入入口上传 CSV 文件。
- 进入 "设置" 页面。
- 查看当前美元/港币汇率。
- 点击 "刷新汇率" 按钮获取最新数据。
如果需要重置所有数据,可在 "设置" 页面点击 "清空数据" 按钮(请谨慎操作,不可恢复)。
项目默认通过 stockApi.js 连接外部 API 获取行情。默认配置使用的是 Alpha Vantage / Financial Modeling Prep 的免费接口。
如需修改 API Key 或切换提供商,请编辑 src/services/stockApi.js 文件:
// src/services/stockApi.js
// 选择 API 提供商: 'FMP' 或 'ALPHA_VANTAGE'
const API_PROVIDER = 'ALPHA_VANTAGE';
// 修改对应的 API Key
const FMP_API_KEY = '您的_FMP_KEY';
const ALPHA_VANTAGE_API_KEY = '您的_AV_KEY';所有数据都存储在浏览器的 IndexedDB 中,位于本地计算机。不同浏览器的数据是独立的,建议固定使用同一浏览器访问。
只要不清除浏览器数据,IndexedDB 数据会持久保存。建议:
- 定期使用"设置"页面的导出功能备份数据
- 不要使用无痕/隐私模式(数据会在关闭浏览器后清除)
- 避免频繁清理浏览器缓存
编辑 src/services/stockApi.js 文件:
// 选择 API 提供商: 'FMP' 或 'ALPHA_VANTAGE'
const API_PROVIDER = 'ALPHA_VANTAGE';
// 修改对应的 API Key
const FMP_API_KEY = '您的_FMP_KEY';
const ALPHA_VANTAGE_API_KEY = '您的_AV_KEY';免费 API 密钥获取:
- Alpha Vantage: alphavantage.co/support/#api-key
- Financial Modeling Prep: site.financialmodelingprep.com/developer/docs
推荐使用现代浏览器的最新版本:
- ✅ Chrome 90+
- ✅ Edge 90+
- ✅ Firefox 88+
- ✅ Safari 14+
在"设置"页面可以下载标准模板。基本格式:
symbol,name,market,quantity,costPrice
600519.SS,贵州茅台,A股,100,1800
AAPL,苹果公司,美股,50,150
0700.HK,腾讯控股,港股,200,400请参考项目根目录的 GITHUB_SETUP.md 文件,里面有详细的步骤说明。
汇率数据通过 Alpha Vantage API 自动获取。在"设置"页面可以手动刷新汇率,或在 src/services/stockApi.js 中配置其他汇率 API。
antig-fina2/
├── index.html # 主 HTML 文件
├── src/
│ ├── main.js # 应用入口
│ ├── components/ # UI 组件
│ │ ├── navbar.js # 导航栏
│ │ ├── assetForm.js # 资产表单
│ │ └── ...
│ ├── services/ # 业务逻辑
│ │ ├── db.js # IndexedDB 封装
│ │ ├── stockApi.js # 股票 API
│ │ └── csvParser.js # CSV 解析
│ └── styles/ # 样式文件
├── public/ # 静态资源
├── start.bat # Windows 启动脚本
├── start.ps1 # PowerShell 启动脚本
├── GIT_GUIDE.md # Git 使用指南
├── GITHUB_SETUP.md # GitHub 设置指南
└── README.md # 项目说明文档
欢迎贡献代码、报告问题或提出建议!
- Fork 本仓库
- 创建新分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'feat: 添加某个很棒的功能') - 推送到分支 (
git push origin feature/amazing-feature) - 提交 Pull Request
请遵循语义化提交信息:
feat:新功能fix:修复 bugdocs:文档更新style:代码格式调整refactor:重构代码test:测试相关chore:构建/工具配置
npm run build生产版本会输出到 dist/ 目录,可部署到任何静态文件服务器。
npm run preview前提条件: 已安装并登录 Firebase CLI
# 1. 构建生产版本
npm run build
# 2. 部署到 Firebase Hosting
firebase deploy --only hosting部署成功后会返回访问 URL。
首次部署需要初始化 Firebase 项目:
# 选择现有项目或创建新项目
firebase init hosting
# 按提示配置:
# - Public directory: dist
# - Configure as SPA: Yes
# - Set up automatic builds: No (可选)
# 然后部署
firebase deploy --only hosting本项目采用 MIT 许可证。详见 LICENSE 文件。
- 项目仓库:GitHub
- 问题反馈:Issues
- Git 使用指南:GIT_GUIDE.md
- GitHub 设置指南:GITHUB_SETUP.md
注意:本项目仅供个人学习和参考使用,不构成任何投资建议。投资有风险,理财需谨慎。使用本工具进行财务管理时,请自行承担相关风险。