3 min read

股票记录器 - A股投资管理工具

Table of Contents

项目介绍

一款轻量级的股票投资管理工具,帮助投资者记录和跟踪中国A股市场的股票信息。支持实时价格查询、股息率计算、投资笔记记录等功能,所有数据本地存储,保护您的投资隐私。

技术栈:React + Vite + Ant Design + Zustand + Node.js + Express + SQLite

项目地址

核心功能

📊 股票管理

  • 智能搜索 - 支持股票代码和名称模糊搜索,覆盖全部中国A股
  • 自定义名称 - 可为股票设置个性化别名,方便记忆和管理
  • 持久化存储 - 使用 SQLite 数据库,数据安全可靠

💰 实时行情

  • 实时价格 - 显示最新价、涨跌幅、涨跌额等关键指标
  • 自动刷新 - 每 60 秒自动更新价格数据
  • 手动刷新 - 支持手动刷新获取最新行情

📝 投资分析

  • 股息率计算器 - 根据历史股利支付率和预期收益,计算预期股息率
  • 投资笔记 - 为每支股票添加投资想法、分析报告或提醒事项
  • 数据展示 - 股息率自动显示在股票卡片上,便于快速对比

技术架构

前端技术

  • React 19.2.0 - 用户界面框架
  • Vite 7.2.4 - 构建工具和开发服务器
  • Ant Design 6.1.2 - UI 组件库
  • Zustand 5.0.9 - 轻量级状态管理
  • Axios 1.13.2 - HTTP 客户端

后端技术

  • Node.js + Express 5.2.1 - Web 应用框架
  • better-sqlite3 12.5.0 - SQLite 数据库驱动
  • node-cache 5.1.2 - 内存缓存
  • cors 2.8.5 - 跨域资源共享

项目结构

stockPicker/
├── client/                    # 前端应用
│   ├── src/
│   │   ├── components/        # React 组件
│   │   │   ├── StockSearch.jsx
│   │   │   ├── StockList.jsx
│   │   │   ├── StockItem.jsx
│   │   │   └── DividendCalculator.jsx
│   │   ├── services/          # API 服务层
│   │   ├── stores/            # 状态管理
│   │   └── App.jsx
│   └── vite.config.js

├── server/                    # 后端应用
│   ├── src/
│   │   ├── services/          # 业务服务
│   │   ├── db/                # 数据库模块
│   │   ├── routes/            # 路由定义
│   │   └── controllers/       # 控制器
│   ├── data/
│   │   └── a-share-list.json  # A股列表数据
│   └── stocks.db              # SQLite 数据库

核心实现

股息率计算

股息率是衡量股票投资回报的重要指标。项目实现了一个可视化的股息率计算器,帮助投资者评估股票的股息收益潜力。

计算公式:

平均股利支付率 = (2023年股利支付率 + 2024年股利支付率) / 2
预期每股股息 = 平均股利支付率 × 预期每股收益
预期股息率 = (预期每股股息 / 最新股价) × 100%

数据接口设计

后端提供了完整的 RESTful API:

  • GET /api/stocks/search - 股票搜索
  • GET /api/stocks/prices - 获取股票价格
  • GET /api/my-stocks - 获取我的股票列表
  • POST /api/my-stocks - 添加股票
  • PUT /api/my-stocks/:id/dividend - 更新股息数据
  • GET /api/my-stocks/:id/dividend-yield - 计算预期股息率

数据来源

使用新浪财经 API 获取股票数据:

  • 搜索 API: http://suggest3.sinajs.cn/suggest/ - 支持搜索全部 A 股
  • 价格 API: http://hq.sinajs.cn/list= - 获取实时行情数据

服务器端实现了 30 秒缓存机制,避免频繁请求外部 API。

快速开始

一键启动

# 安装所有依赖
npm run install:all

# 启动前后端服务
npm run dev

启动成功后:

分别启动

# 后端
cd server && npm run dev

# 前端
cd client && npm run dev

项目特点

  1. 本地数据存储 - 使用 SQLite 数据库,所有数据存储在本地,保护投资隐私
  2. 实时行情更新 - 自动刷新机制,保持价格数据最新
  3. 完整的投资分析 - 支持股息率计算和投资笔记,帮助做出明智的投资决策
  4. 简洁的用户界面 - 使用 Ant Design 组件库,界面美观易用
  5. 高效的状态管理 - 使用 Zustand 进行轻量级状态管理
  6. 一键启动 - 简化的启动命令,支持同时启动前后端服务

注意事项

  1. 数据准确性 - 新浪财经 API 为免费 API,数据仅供参考,请勿用于实际交易决策
  2. 价格延迟 - 股票价格有延迟,不适用于高频交易
  3. 数据隐私 - 所有数据存储在本地 SQLite 数据库,不会上传到云端