94 lines
5.8 KiB
Markdown
94 lines
5.8 KiB
Markdown
# 投资记录模块-产品设计
|
||
|
||
## 一、投资记录设计思路
|
||
职责清晰:系统负责所有可规则化、基于市场公开事件的处理(被动变更);用户只负责输入自己主动发起的行为结果(主动变更)。
|
||
输入极简:对于任何一笔交易,用户最核心、最确定的输入就是最终的持仓成本和最新的持仓份额。让用户只修改这两项,避免了理解复杂规则(如加权平均计算)的负担,也减少了输入错误的可能性。
|
||
输入极简:对于任何一笔交易,用户最核心、最确定的输入就是最终的持仓成本和最新的持仓份额。让用户只修改这两项,避免了理解复杂规则(如加权平均计算)的负担,也减少了输入错误的可能性。
|
||
|
||
### 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、市场。
|
||
之后展示成本价输入框和份数输入框。(输入时要考虑便捷性)
|
||
|
||
基金:
|
||
不展示搜索框,仅展示输入框,需要用户自己输入。
|
||
之后展示成本价输入框和份数输入框。(输入时要考虑便捷性)
|
||
|
||
现金和其他:
|
||
不展示搜索框,仅展示输入框,需要用户自己输入资产名称。
|
||
直接输入金额即可。
|
||
|
||
确认按钮:点击确认,提交数据到后台,按钮居中展示。
|
||
|
||
**变更资产页**
|
||
最上面不需要在选择资产类型,下边的展示和`新增资产页` 一样。
|
||
|
||
|