Files
invest-mind-store/packages/design-document/我编写的文档/投资记录模块-产品设计.md
2026-02-11 16:01:42 +08:00

94 lines
5.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.

# 投资记录模块-产品设计
## 一、投资记录设计思路
职责清晰:系统负责所有可规则化、基于市场公开事件的处理(被动变更);用户只负责输入自己主动发起的行为结果(主动变更)。
输入极简:对于任何一笔交易,用户最核心、最确定的输入就是最终的持仓成本和最新的持仓份额。让用户只修改这两项,避免了理解复杂规则(如加权平均计算)的负担,也减少了输入错误的可能性。
输入极简:对于任何一笔交易,用户最核心、最确定的输入就是最终的持仓成本和最新的持仓份额。让用户只修改这两项,避免了理解复杂规则(如加权平均计算)的负担,也减少了输入错误的可能性。
### 1.1 持仓变更设计
1. 把所有的表更分为两种:`用户驱动(主动)``系统驱动(被动)`
2. 系统驱动包含:现金分红、送股、拆股、汇率变动等
3. 用户驱动包含:初始买入、追加买入、卖出;
4. 所有的用户驱动,都只需要变更最终的持仓成本和最新的持仓份额,这两项。避免其他复杂的操作
5. 每次用户主动变更,记录成本价和份额的同时,还需要完成如下记录:
- 反向计算本次交易股价和份额,并记录;
- 统计最新的份额和净值,并记录
- 同时引导填下投资复盘和思考。
6. 系统驱动的变更:(万一无法实现,可以降级为用户驱动变更)
- 分红:收盘后获取每股分红金额,最新成本价 = 原成本价 - 分红,市场价逻辑保持不变(使用不复权的股价)
- 送股、拆股等都变更最新的成本价和份额,并记录。
### 1.2 收益记录设计
1. 使用基金净值法(时间加权收益率)来统计收益;
2. 每次主动和被动变更,重新计算总体的资产金额和份额,记录到 daily_snapshots 表。
3. 忘记记录的情况:如果用户忘记记录当日交易,过一段时间后再来记录,需要删除期间的快照数据,并保留期间的交易数据。然后删除期间的快照数据,重新生成。
### 1.3 系统驱动变价记录逻辑
1. 首先需要有一个表记录所有股票的基本信息方便用户在输入code或股票名是进行模糊匹配。这个数据因为不常变更可以放在CDN上。
2. 每日定时把所有用户需要自动变价的持仓(股票/基金)汇总,在收盘后查询这些股票的最新市价、市值、市盈率等信息(所有用的是持仓最新价格应该依赖这个表,减少直接查询外部证券接口的次数)
3. 更新完股票的最新市价后,在定时更新用户持仓表中的持仓数据、收益数据,对应 positions 和 asset_snapshots 表。
## 二、持仓页面详细设计
### 页面概述
页面整体展示三部分内容:
- 资产概览、
- 资产和收益图表(累计资产折线图、收益率折线图)、
- 持仓百分比图
- 我的持仓列表
### 功能需求
#### 资产概览
以卡片形式展示资产概览,左上角显示用户昵称,下边显示记账时长(例如 记账:300天右侧从上到下分别展示总金额大字红色展示、上一个交易日收益、累计收益、累计收益率、年化收益率。
#### 收益图表
- 第一个图表默认展示从记账以来每日总金额的折线图可以切换时间近5日、本月、近一个月、近一年、记账以来、自定义
- 第二个图表默认展示从记账以来每日累计收益率可以切换不同时间段近5日、本月、近一个月、近一年、记账以来、自定义
PS 你在输出设计稿的时候,需要使用 Echarts 来模拟)
#### 持仓百分比
使用环图,展示各个持仓资产项的金额百分比
PS 你在输出设计稿的时候,需要使用 Echarts 来模拟)
#### 我的持仓列表
**展示形式**
title 左侧展示 “我的持仓”,右侧展示一个 圆形的加号(添加资产项) 按钮,可以添加新的资产项。
以卡片形式展示 资产项:
- 左侧依次展示:公司简称(大号字体)、股票代码、市场、持股市场、证券公司简称(这一块你要帮我看看如何排列会更好)
- 中间展示:持股数、持股时长。
- 右侧展示:从上到下依次展示昨日市价、盈亏金额、收益率。
- 右小角展示一个 “更新资产”(名称可以你再帮我想一下) 的按钮点击从底部弹出Popup页变更资产页
**操作形式**
- 点击 圆形的“添加资产项”按钮,从底部弹出 新增资产页。
- 点击 资产项卡片总的“更新资产”的按钮,从底部弹出 变更资产页
## 三、新增资产页/变更资产页
这个页面有两种形态,新增和变更,差别是新增最上面有搜索框,变更没有搜索框。都是冲底部弹出,再上滑,可以变成全屏页面。
**新增资产页**
最上面可以选择资产类型,分别是:股票、基金、现金、其他
股票:
先展示 搜索框用户可以输入code或股票名称自动联想用户选择后确认股票。
然后选择券商,下拉列表展示。
选择后之后依次展示股票名称、股票code、市场。
之后展示成本价输入框和份数输入框。(输入时要考虑便捷性)
基金:
不展示搜索框,仅展示输入框,需要用户自己输入。
之后展示成本价输入框和份数输入框。(输入时要考虑便捷性)
现金和其他:
不展示搜索框,仅展示输入框,需要用户自己输入资产名称。
直接输入金额即可。
确认按钮:点击确认,提交数据到后台,按钮居中展示。
**变更资产页**
最上面不需要在选择资产类型,下边的展示和`新增资产页` 一样。