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