大概三年多以前,我开始彻底厌倦“每天开盘盯盘、收盘复盘、睡前刷一圈消息”这种状态。倒不是说累,而是我发现大部分时间都被重复劳动吃掉了:同样的新闻源、同样的数据检查、同样的复盘格式,每天都要重新走一遍。后来我给自己定了个目标——能不能把这些日常动作压缩到极致,把省下来的时间和精力,留给真正需要人做判断的地方。于是就有了这个系列。前两篇聊了基础的信息架构和任务清单的搭建,这一篇算是第三期,想集中说说日常工作流优化中最容易出效果、也最容易半途而废的几个环节。
这里先说明一下背景。我聊的“alpha”并不是什么神秘的超额收益来源,而是在投入时间几乎没有增加、甚至明显减少的情况下,通过提高执行质量、减少无效动作和情绪干扰,让决策结果比原来更稳定。换句话说:躺平不是不干活,而是把活儿压缩到一晚上只花二十分钟,剩下的时间用来思考、阅读、甚至发呆。这篇文章就是围绕这套思路展开的,适合那些每天被盘中信息、盘后复盘、手动执行折腾到精疲力竭,又想保留自有生活节奏的朋友参考。
1. 第一个想明白的问题:时间到底漏在了哪里
1.1 记录一周时间去向之后,我发现了自己的精力漏斗
动手优化之前,我做了个笨但是有效的动作:拿一张纸,按半小时为单位,记录自己一周内每个时段在做什么。记录本身不需要多精确,我的目的是找出那些“每天都要重复、但对结果没有任何增量”的动作。
一周之后结果非常难看。我发现自己每天花在“打开各种App看行情”上的时间平均超过一个半小时,而且这些时间里几乎没有产生任何决策,只是在不断确认“嗯,还在”。真正的复盘时间反而被挤到晚上十一点,那时候脑子已经转不动了,复盘变成了机械地截图存档。周末想做一点深度研究,又总觉得平时欠的账没还清,结果研究也没做踏实。这就是典型的精力漏斗:时间看起来都花在正事上,实际上全部漏在了重复劳动和低质量确认上。
1.2 把工作流拆成“产生判断”和“消耗判断”两类
后来的复盘让我找到一个很有用的切分标准:把所有工作流动作分成两类。第一类是“产生判断”的,比如判断一个标的的估值是否到位、某个逻辑是否还成立、仓位是否超出风险边界,这一类动作的价值密度很高,必须保证在状态最好的时候完成。第二类是“消耗判断”的,比如把五分钟前的行情再刷新一遍、把公告标题浏览一遍、复制粘贴数据到表格里,这类动作不产生任何判断,只是为判断提供原材料。
大多数人的问题是把注意力大量消耗在第二类动作上,等真正需要做第一类动作时,已经没有认知资源了。我的优化思路很简单:第二类动作尽可能自动化、模板化、批量处理,力争每天只需要几分钟;第一类动作绝对不压缩,反而要预留整块的、不被打扰的时间。
1.3 系列前几篇留下的三条铁律,这次依然适用
这里先同步一下前几篇里陆续验证过、我至今还在遵守的三条铁律。第一,任何重复两次以上的手动操作,都必须考虑脚本化或流程化,哪怕第一次花掉一个下午写脚本也值得。第二,通知和提醒必须收敛,没有触发条件的消息一律不发,宁可漏看不可打扰。第三,任何自动化规则都要留有手动接管的口子,机器负责执行,但最终决定权永远在人手里。这三条是我一切优化的出发点,这一篇里所有细节基本都是它们的具体展开。
如果你的时间记录做下来发现“好像也没什么可优化的”,我建议把粒度细化到“是否产生了决策行为”。很多动作看起来有价值,但它们其实只是在消耗注意力,并没有推动任何决策。
2. 信息处理:把“刷消息”改成“批量收件”
2.1 消息源白名单:先砍掉90%的无效订阅
信息流的痛苦,本质上不是信息不足,而是腰围太粗。最开始我给自己的账号订了几十个消息源,宏观、行业、公司公告、各种观点,来者不拒。结果每一次打开App,我都要从一个几屏长的列表里挑“今天可能重要的东西”,这个过程本身就是巨大的注意力和时间损耗。
我花了一整个晚上做了一次残酷的白名单整治,标准只有一条:过去一个月里,这个源有没有让我做出过任何一次决策或记录。没有,就退订,放到一个单独的观察列表里,半年内不再碰它。砍完之后剩下大概四个源,全部是与持仓直接相关的公告、指数级数据和少数几个深度研究平台。
2.2 定时抓取与落盘:数据一到本地就算我的
砍完信息源之后,我依然不满足于“打开App才能看到”。在我看来,消息只有在两种情形下才有价值:一是它触发了我预设的异常条件,需要我立刻关注;二是它被存到了本地,进入了我每周复盘的检索范围。满足这两个条件的前提,是先把数据抓下来,而不是依赖随时去App里翻。
所以我给自己写了一个几百行的抓取脚本,每天在几个固定时间点运行。它做的事情不多:登录我自己的数据账户,把当天自选池相关的公告、行情、成交量变化拉下来,存到本地的一个表格目录里,文件名带日期。全部动作在后台完成,不需要我打开任何页面。
第一次运行成功的时候,我有点恍惚——原来那些我每天花一个多小时浏览的页面,机器五分钟就干完了,而且干得比我认真,因为它不会走神,不会因为看到一条劲爆消息就停下来读十五分钟。
2.3 晨间简报脚本:三分钟看完当天的关键变化
数据存下来之后还有一道工序:生成简报。我所谓的简报,不是那种塞满各种板块涨跌幅的日报,而是只包含“和我的自选池相关的、且确实发生了异常变化”的几条孤零零的记录。比如某只票发布了新的公告且阅读量高,某个指数出现了显著偏离五日均量的波动,某类新闻标题里出现了和我持仓逻辑相关的关键词。
实现方式不复杂,在抓取脚本后面接一个过滤模块,输出一条纯文本摘要,推送到我手机上。每天早上我用刷牙的时间看完,三分钟之内能判断今天有没有事情值得我打开电脑。这里有一个关键经验:宁可漏报也不要滥报。一开始我做的时候,规则设置得很宽,结果每天早上推送过来十几条,我花十分钟看完然后告诉自己“都没什么”。后来我把触发阈值调高了一倍,推送降到每天两三条,反而每条都会认真看。
2.4 信息处理里的一个悖论:过滤越狠,反应越慢
必须坦白一个代价。信息过滤做得越狠,对于不在白名单里的突发事件的反应就越慢,这是这套工作流的天生短板。我的应对方法是设置了一个“例外通道”:如果盘中出现了我某只持仓相关标的快速拉升超过某个幅度,脚本会绕过所有过滤规则直接弹窗提醒。这种设置相当于给过滤器留了个应急阀门。
我也逐渐接受一个事实:不可能既拥有无比清洁的信息流,又拥有面面俱到的信息覆盖。效率的代价是边界,边界之内我反应很快,边界之外我会慢半拍。这个代价我认了,因为它换回来的是每天晚上至少一小时的整块自由时间。
3. 盘后复盘:从“意志力驱动”改为“流程驱动”
3.1 复盘坚持不下来的原因:它不是一项任务,而是无数项
复盘是几乎所有投资人都知道很重要、但几乎没人能坚持做下来的事。我认为问题不在懒,而在于“复盘”这个词被定义得太粗了。真要做一次复盘,至少包括:检查当天账户变动、逐笔回看交易原因、对比预期和实际走势、更新持仓逻辑、检查风控规则是否触发、记录情绪波动……你把这些叠加在一起,它根本不是一项任务,而是五到六项任务。当一个任务复杂到需要每天重新回忆“到底该做什么”的时候,它执行不下去几乎是必然。
而且,复盘还有一个隐蔽的心理障碍:它要求你面对当天的错误判断,否则就只是流水账。如果复盘流程本身还要消耗大量操作步骤,你的大脑就更容易把它无限期拖延。这跟拖延写周报是同一个道理——不想面对内容时,连表格都懒得打开。
3.2 把复盘做成固定模板+半自动填充
我的解决方案,是先把复盘压缩成一张固定模板,格式固定到可以用“填空题”来形容。模板长这样:
| 板块 | 内容 |
|---|---|
| 当日操作 | 买了什么、卖了什么、数量多少、触发原因 |
| 预期检验 | 昨天或更早形成的判断,今天是否被验证 |
| 异常清单 | 哪些标的出现了我预期之外的波动 |
| 风控检查 | 是否触发减仓线、是否违背仓位约束 |
| 后续动作 | 明天或本周需要跟进的1到3件事 |
关键在第二项。以前我总想复盘“今天发生了什么”,后来改成复盘“我之前的判断怎么样了”,这一个视角的变化让复盘从回顾日记变成了检验科学实验记录。盘中时间段,脚本会实时把当天的操作记录和异常波动导入到一个中间表里,晚上我打开模板时,第一和第二栏已经填好了半成品,我只需要在第三第四栏补充自己的思考。
这个改动远比我想象中的重要。当系统把“发生了什么”自动整理好之后,我面对的就只剩下“为什么”和“怎么应对”,这两个问题才是复盘的灵魂。以前大约需要四十分钟的复盘,现在压缩到了十五分钟,而且质量更高,因为精力全部用在了判断上。
3.3 自动生成的异常标记,取代“凭感觉检查”
复盘过程中最容易漏掉的,是那些盘中根本无感、但事后看很重要的变化。比如某个持仓当天振幅不大,但成交额突然放大到近一个月最高的三倍;再比如我有一只观察标的,连续五天收盘都在一条均线附近晃荡,这种情景靠肉眼盯盘根本发现不了。
我在数据脚本里加了一个异常检测模块,每天收盘后自动跑一遍,检测规则就那么几条:当日成交量偏离近二十日均值的倍数,收盘价与某个关键价位的偏离度,以及最近连续收盘价的标准差变化。脚本把触发异常的项目直接插入复盘模板的“异常清单”栏。我逐渐意识到,很多所谓的经验不足,其实就是数据处理量不够,机器能把这种检查变成每天自动执行的固定动作,相当于帮我把盯盘的颗粒度提高了一个量级。
3.4 复盘输出到周报:让长期视角自动累积
单日复盘再认真,也容易陷入“每天都很忙,但说不清一周忙了什么”的困境。于是我在周五增加了半自动周报:脚本把本周五天的复盘记录汇总,按“判断形成→检验结果→操作执行”三类重新排列,我只需要在最后补一段本周最关键的三条认知变化。这个动作每个礼拜花二十分钟,但累积一个月再看,价值远超过记录本身。
有一点我特别想提醒:周报不是复盘报告的简单堆叠,而是要回答“经过这一周,我对某个逻辑的置信度变强了还是变弱了”。这些问题脚本帮不了你,但如果你前面五天的复盘内容是真实的,那么回答这些问题不会花太多时间。
4. 执行环节:人的任务是做决定,不是盯屏幕
4.1 自动化执行的三级边界:提醒、条件单、程序化
说到自动化执行,很多人的第一印象是写一套程序化交易策略全自动跑。我的观点很保守:自动化的价值不在于替代我交易,而在于把我从“必须时刻盯着屏幕等待时机”的状态里解放出来。按自动化程度从低到高,我平时用的是三级边界。
第一级是提醒,适合“需要我关注、但不需要立即反应”的场景,比如价格触及某个观察区、某个比例接近阈值。第二级是条件单,适合“规则非常明确、不需要临场判断”的场景,比如跌破某个止损位就按预设数量减仓。第三级是完整的程序化,我目前只用在有限几个逻辑完全机械化、回测稳定的策略上,而且都设了总开关。大部分日常持仓不碰第三级,原因倒不是不信任程序,而是我相信人的优势恰恰在于处理规则之外的情况。
4.2 我给“自动化干预”设置的最愚蠢保障机制
这里必须交代一个踩过坑之后才学乖的点。有一次我设置了一条条件单,逻辑很简单:某标的跌破一个价位就卖出某个数量的仓位。结果那天盘中快速下探,条件单成交了,但随后价格立刻反弹,我反而在最低点附近交了筹码。复盘的时候发现,问题不在条件单本身,而在于我完全没有设置“什么情况下这个条件单应该失效”。
从此我给自己定了一条铁律:任何自动执行规则,都必须同时写明它的失效条件。用大白话说,机器要告诉我“按计划做了哪笔动作”,更要告诉我“因为出现什么情况,我今天打算不按原计划执行”。这条铁律看起来很可笑,但绝大多数执行层面的问题,都是因为只写了“做”的条件,没写“不做”的条件。我把失效条件写进脚本之后,感觉整个系统安全了一个量级。
4.3 一致性比胜率更重要:被机器拉住的那几次
在自动化执行这件事上,我必须诚实地说:我最大的收获不是机器帮我多赚了多少,而是机器帮我避免了我自己造成的很多“无谓动作”。人的天性是在浮盈的时候想落袋,在浮亏的时候想扛单,这些冲动在盘中尤为强烈。我给自己定过一个规则:任何盘中手动调仓,必须先在对话框里输入理由,理由不足五个字不准动手——这个操作愚蠢、繁琐,但它真的能劝退大部分冲动交易。
配合自动化条件单之后,我发现一个有意思的现象:一些“当初规则里写了、但当天主观上很想推翻”的动作,因为隔了一层机器,反而更容易被执行。这一致性带来的长期收益,远超过某几次手动操作的灵光一现。代价是,偶尔会觉得自己像个旁观者,但这种旁观感,恰恰是“躺平挖alpha”所需要的状态。
5. 维护成本:优化工作流本身也需要工作流
5.1 流水线“生锈”的信号:开始手动补数据的那一刻
任何自动化系统都会老化,这是逃不掉的。老化最常见的信号不是报错,而是你开始手动补数据。某天脚本没有按时抓到公告,你想着“不差这一次”,手动打开网页复制了一份;又某天行情源改了页面结构,抓回来的字段乱掉了,你想着“先凑合看,周末再修”。这些手动补救一多,就说明流水线已经有一部分实质上是人工在抬轿子,而你自己还没意识到。
我给这种状态起名叫“隐形返工”。做优化最忌的就是优化完之后还要每天分心去维护优化系统,那还不如不优化。所以我给自己定的目标是:每个工作日花在维护检查上的时间不超过五分钟,超过就是哪里出了问题。
5.2 五分钟周体检:日志、存储、规则版本
我每周日晚上会花五分钟做一次系统体检,内容很固定。第一,看脚本运行日志,确认本周每天抓取任务都成功完成,有几个失败重试,失败原因是什么。第二,检查归档目录,数据文件没有因为磁盘空间或者命名冲突而丢失,命名规范有没有被手动操作打乱。第三,更新规则版本,任何本周手动调整过的过滤阈值、提醒条件,都统一同步到配置文件中,保证自动化系统跑的是最新的规则。
这三件事听起来很基础,但我是吃过亏的。有段时间我急着优化新功能,连续两周没做体检,等到用数据做月度回看的时候,发现某个关键字段从某一天起就一直是空的,中间所有的周报异常检测都在一个残缺的数据集上跑。从那以后,体检被我定为雷打不动的周末事务,不做完不开下周的工。
5.3 别把工作流优化做成新的全职工作
这是我最想说的一个原则:优化的最终目的,是让你拥有更多不用管系统的时间,而不是让你更忙。如果你的工作流优化之后,你每天要维护脚本、盯日志、反复调试,那这项优化本身就是负资产。
我自己对任何新优化需求会做一个很简单的成本测算:如果这个脚本能为每天节省十分钟,一个月就是五小时,我会用两三天内的投入去换;如果只是从三分钟变成一分钟,那我就不写了,因为写脚本、调试、维护的成本远大于省下来的那点时间。这个测算帮我挡掉了大量“优化一时爽、维护火葬场”的伪需求。
顺带说一句,别太迷信工具本身。我用的大部分自动化都建立在“简化信息源+固定流程+数据落盘”这三个动作上,并没有用什么复杂系统。真实的工作流优化,往往是从每天最烦的那件事开始,而不是从一套庞大架构开始。
最后再分享一点个人体会
做完这一轮流程优化之后,我最大的变化并不是“省了多少时间”,而是对时间的体感完全不一样了。以前总觉得每天都在忙,但说不清忙了什么;现在每天收盘后基本有一段不受打扰的空闲,但每周的工作日志反而更清晰——因为所有该记录的东西都已经自动化地攒好了,我只需要做最核心的判断。
如果让我给看到这里的人一句总结,我会说:所谓躺平挖alpha,重点在alpha不在躺平。流程优化让你不盯盘、不刷消息、不复盘拖沓,但绝不会让你不做判断。反过来,如果你把判断也一并交给自动化,那就不是躺平,而是放弃责任了。把重复的交给流程,把复杂的留给自己,这条边界划得越清楚,你的日常工作流就越接近一个既省力、又可靠的状态。