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