为了享受不同平台的vip福利,所以开了好多账户,比如蚂蚁天天甚至京东。然后因为不同时间点开的户,所以里面的投资风格也是随着开户时候的市场情况,迥然不同。
比如蚂蚁基本都是债基,证券账户买了一堆的科技。
那这个时候,每个账户单独看,都没法反映总体的配置情况。来回切换,又会特别麻烦。
比如常常会看,当科技涨了一波,我打开那个科技账户,仓位占比已经飙到70%了。心里一慌,赶紧犹豫减仓。但是再打开另外两个账户一看,其实科技在我整体资产里只占20%,好像又没有那么大的必要。
账户分散在不同券商和第三方平台,每个平台只能看到自己那一小块。你基于单个账户做出的决策,很可能和整体的资产配置策略是矛盾的。
觉得某个账户太激进了就砍仓,觉得某个账户太保守了就加仓,来回折腾一圈,整体配置反而越做越乱。
我最早的时候,是用韭圈的账本,后来买ETF, 韭圈没法支持场内,所以搞了个 Excel来汇总所有账户的持仓。
说实话,Excel做得也还行,那时候也花了蛮长的时间测试,通过VBA调公开API自动取价格、算净值,该有的功能都实现了。
但用着用着,就会觉得Excel有两个绕不开的问题。
一个是不友好。它终归是一个本地文件,每次要打开电脑,等着跑完取数,才能看到最新的持仓情况。
万一哪天不想开电脑,或者不在电脑旁边,就没法看。
更关键的是,这套表格很难给别人用。逻辑全锁在公式和宏里面,换个人根本看不懂就算了,换台电脑excel版本不对,或者网络环境不对,都导致跑不下去。而且历史切面数据越来越多,就会越来越慢。
另一个问题就是智能程度。我之前在公众号写过,。所以后来一段时间,把自己的记忆、投资框架、研究方法论喂给AI,让它变成一个真正了解我投资风格的助手。
但如果我的持仓数据还锁在Excel里,每次想让AI帮我分析投资策略,就得手动复制粘贴一大堆表格过去。AI的注意力窗口有限,粘多了它也消化不了,粘少了它又理解不到全貌。
所以我需要的不只是一个能算数的表格,而是一个能被AI直接读取的系统,比如说有API接口,能让我的数字分身随时调用持仓数据,给出更准确的建议。
这个系统的功能
所以,就动手开发了个个人版的资产管理后台。
它的主要功能包括把分散在各个平台的账户,券商账户、基金代销平台、银行理财、港美股账户,全部录入这个系统。每个账户有自己的币种和渠道归属。证券字典里维护了所有我持有的基金、股票、ETF的基础信息。
日常操作包括录入交易流水,比如买了什么基金、卖了什么股票、账户之间转了多少钱。系统会自动从天天基金和腾讯股票的公开接口拉取最新净值和行情,然后算出每一笔交易的确认份额和金额。
给标的证券打上不同风格的标签,这样可以更好地知道每一笔交易买的持仓是什么风格。
每天收盘之后,跑一次EOD,相当于每日「跑账」。系统会自动更新所有持仓的市值,生成一张估值表,再算出当天的总资产和单位净值。时间长了,就形成了一条净值曲线。
(笑死,到这个地步还没逃过跑账,不过至少实现了coze平台直接接入,也开发了移动端的页面,所以手机上就能跑账了)
这条平台的意义在于,不再需要去不同平台分别看收益率了。 手机上就能够看到,今天整体赚了还是亏了,今年以来的总回报是多少。
而且加入了「申购、赎回」机制,通过设置了份额的概念,避免还信用卡的钱影响单位净值。 (笑)
更重要的是,我可以看到自己的资产在各个类别上的真实分布。比如红利占了多少、科技占了多少、现金占了多少。不用被单个平台的局部视角误导。
系统也开发支持多币种。如果有港股和美股的持仓,需要把港币和美元按汇率折算成人民币来计算总资产。跨币种转账的时候,系统也能正确处理汇率换算和两边账户的余额变动。
当当当当,last but not least ,这个系统也支持场外理财,因为目前股票和基金是有公开行情的。但是如果买私募就没办法了。所以专门开发了个场外理财的模块,支持场外理财的申购、赎回、净值更新。(不过我自己并没有买私募啦)
开发的平台
用的是扣子(Coze)的编程功能。
市面上能做类似事情的平台有好几个。我选扣子,一开始只是因为套餐便宜。后来功能越做越复杂,还是买了高级会员。但整体算下来,整个系统从零做到现在,大概消耗了价值150块钱左右的积分,对应的就是token的消耗。
当然,「150块钱做出来」这个说法不太准确,因为还有时间隐性成本。
但这个投入我觉得是值得的。扣子的编程功能把写代码、建数据库、部署上线、分配域名这些事整合到了一个地方。不需要分别去注册云服务器、买域名、配数据库,写完就能直接用。对我来说省去了很多折腾。
而且Coze,在大概3月还是4月更新的时候,已经基本实现类似OpenClaw的能力了。所以可以用这个编程出来的平台,用openclaw接入,直接获取你的净值序列,持仓,交易等等,做进一步的分析用途。
Excel选手学到了什么
这个过程比我想象的要折腾得多。
我一开始的想法很简单,就是把Excel里那些计算逻辑搬到网页上就好了,因为excel中通过api获取公开净值的逻辑都已经写好了。
但真正动手之后才发现,Excel和一个程序之间的差距,远不只是「界面好不好看」。
Excel的好处是即时反馈。改一个公式,按回车,结果立刻出来。数据有问题,直接在单元格里改。整个过程所见即所得。
甚至你某天实在不想算了,在excel里直接强增一笔份额也是可以的。
但程序不是这样的。一个计算逻辑,你需要考虑它被哪个组件调用、数据从哪个接口过来、中间经过几层处理、最后写到数据库的哪张表。
改一个地方,可能牵扯到三个文件。如果改错了,不会像Excel那样只是一个单元格显示错误,可能整个页面打不开,或者更糟,数据静悄悄地算错了,在某个页面莫名其妙对了,但是另外一个页面是错的。你得keep questioning your code buddy。
我费过最多的精力,是在多用户扩展上。
一开始我跟AI说,做的时候要考虑多用户。AI也确实在代码架构里埋了一些多用户的设计。但当时核心功能还没做完,多用户只是一个「先预留着」的概念。等到基础功能稳定了,我开始真正让它支持新用户注册和数据隔离的时候,问题就来了。
几乎每一张数据库表都需要加上用户ID的过滤条件。
漏掉任何一个查询,就会出现数据串的问题,A用户看到了B用户的持仓数据。
但每次coding,ai都会改了这个忘记那个。比如交易录入中,申购流水可以记录到正确的用户,赎回流水又错了。估值表分用户了,资产概览又没有了。
反正呆过资管的应该知道,数据隐私是很严肃的问题。
所以我几乎又从头开始,将整个业务流程全部重新让ai改了一遍,测试了一遍。数据也重新编了一套。
我后来数了一下,整个开发过程中记录了21个bug修复,其中7个和数据隔离直接相关。实际上不算bug的修改更多,修这些问题消耗的积分和时间,并不比开发基础功能少。
反正就是边改边反思,这慢慢让我意识到一件事,用AI写代码不等于不需要思考架构。
恰恰相反,如果不从一开始就想清楚数据怎么隔离、接口怎么设计、组件之间怎么通信,后面的维护成本会以倍数增长。
AI能帮你写代码,但它不会替你做设计决策。
从一个组件开始,扩展到一个模块,再到一个完整的系统。每一层扩展都会暴露出之前没考虑到的问题。这大概就是「系统」和「工具」的区别。
Excel是工具,够用但有天花板,而一旦你开始做系统,就必须接受复杂性带来的代价。
当然,这个过程中肯定不可避免的会有模型能力的问题,我我中间也无数次的想要换CC。但最后还是被数据库、服务器、域名这些东西给留下来了。
值不值得
值得,反正才花了150块钱。
当然不仅如此,在这个过程中,我第一次真正理解了一些以前只是模糊知道的事情,比如系统测试环境和数据的备份有多重要,测试多重要,一开始的架构设计有多重要。
我最近把代码放到了Gitee上做了开源。
之所以放到gitee上,是希望实现coze和Google antigravity的互通。我发现因为本身部分控件代码行数太多,每次就该就会积分消耗太大。
所以通过gitee的仓库,我可以先通过antigravity来review代码,修改代码,完成之后推到gitee,再让coze拉取下来。
这个办法……这样可以省一点coze的积分……这个计费周期才过5天,我已经把半个月的积分给用掉了。
至于Gitee仓库地址,可以点击原文查看。
技术栈是Next.js + Supabase + TypeScript。不需要自己搭环境,扣子编程平台上可以直接跑。(这段是coze告诉我的)
当然数据库,云服务器,得自己捣鼓下。
我呢,接下来因为想测试下业绩归因,还是得搞搞测试数据了。
作者:坦桑尼亚老云 | 编辑:栗加
每个视角都是拼凑世界真相的碎片,听真诚的行业观察者讲述独特的故事。我们有深耕行业的资深顾问,连续跨界探索的未来创业者,专注细节的产品匠人,和许多志同道合的你们,如果你有想要分享的故事或者感想,可以留言或者邮件联系(AiysJY@outlook.com),也欢迎点分享给需要的朋友们,记得点一下在看和星标,期待共同在这个行业的宏大叙事中,留下一句诗。:)
热门跟贴