用OpenClaw构建持仓管理执行中枢:从手动盯盘到纪律化收益
发布时间:2026/10/20 12:34:41 锦皓数字建站

标题写了“一个月赚了3万”我知道很多人第一反应是“又来一个吹牛的”。先把话说清楚我不荐股也不卖课这只是个人实践记录而且我不打算把收益完全归功于某个“神准预测”。这笔收益的核心是我用 OpenClaw 把股票持仓管理这件事彻底流程化之后把过去反复犯的错拦住了。OpenClaw 不负责告诉我哪只股票会涨它负责的是每天收盘后汇总持仓、计算盈亏偏离、检查止盈止损线、生成提醒并且在需要执行的时候通过我预先设定好的接口发出交易指令。这篇文章适合两类人一类是手里有实际仓位、但总觉得“白天没空盯盘、晚上操作又容易拍脑袋”的人另一类是对 AI 智能体有兴趣、想用它做点具体事情、又不想只停留在聊天层面的开发者。我会把整个持仓管理系统的模块划分、配置思路、收益来源和踩过的坑都写出来哪些是个人决策、哪些是工具能力尽量标清楚。1. 为什么是 OpenClaw而不是继续盯盘手动操作1.1 持仓管理真正的痛点不是“不知道买什么”这话说出来可能有点反直觉。玩了几年以后我发现大多数有一定经验的人“买什么”的判断力并没有那么差。真正亏钱的动作通常发生在买入之后拿不住、乱加仓、止损下不了手、赚了 5% 就开始飘。我自己的情况更典型。白天有本职工作行情软件只能抽空瞄一眼。于是问题变成了价格提醒响了我正在开会等开完会看了一眼K线脑子里冒出一句“感觉还能再涨一点”然后完美错过止盈点。反过来也一样跌破了止损线我用“再看一天”安慰自己结果一路躺到更深的坑里。手动盯盘的问题不在于“看不到行情”而在于“看到了也执行不了”。等你有空操作的时候情绪已经替你做了一半决定。所以我需要的不是一个更多的看盘工具而是一个能在我没空、或者情绪上头的时候把“规则”原封不动执行起来的东西。1.2 OpenClaw 在这个场景里扮演什么角色OpenClaw 不是一个炒股软件它是一个可以在本地运行的智能体执行框架。最打动我的地方是它能按自然语言指令做多步工具调用还能跑定时任务和脚本。换句话说我可以把它当成一个“听人话的执行管家”。我要它做的事很具体每个交易日收盘后自动拉取我持仓标的的最新行情计算市值、当日盈亏、累计盈亏检查每个标的距离止盈线、止损线还有多远超过阈值就提醒我根据我预先写好的区间规则生成“拟操作清单”但所有交易指令都必须经过我确认把一天的持仓情况整理成一张表格推送到我手机上。这套流程里OpenClaw 做的事情更接近“搬砖”拉数、计算、比对、提醒。它不靠盘感也没有情绪。它的好处是规则是事先定好的触发了就是触发了不会因为“今天心情好”而放过一次该止损的机会。1.3 和手动盯盘、固定网格机器人、自写脚本的对比我在动手之前其实对比了好几种方案这里直接放一张对比表省得各位挨个踩。对比维度手动盯盘固定网格机器人自写 Python 脚本OpenClaw 方案实时性取决于有没有空高高定时任务条件触发修改策略成本无成本纯看情绪需要改机器人参数需要改代码重新部署自然语言改规则可解释性凭感觉固定规则略生硬高但只有自己懂高规则看得见维护成本低低高改需求太麻烦中等一次搭好日常轻风险管理弱容易破例固定不会变通取决于代码水平规则可配置人工确认固定网格机器人最大的问题是策略一旦跑起来想改参数很别扭而且大多数是云端服务数据都在别人服务器上。自写脚本灵活但我这种非专业开发者每次改一个需求都要翻代码维护成本太高。OpenClaw 的价值正好在中间跑批量的读取用脚本动态的调整用自然语言两者能组合在一起。1.4 先说清楚边界它不是投资顾问我必须泼一盆冷水OpenClaw 不懂得看多还是看空它也没有任何“直觉”。所有的判断依据都必须由你自己先定好。如果你连“什么情况下买、什么情况下卖、最多亏多少”这些规则都说不出来那上任何工具都帮不了你反而可能放大你的操作频率。我把它定位成“执行中枢”不是“决策大脑”。决策大脑是我自己或者说是我提前写进配置文件里的那几条朴素规则。这一步想清楚后面搭建才不会被工具带着跑偏。2. 持仓管理中枢的架构划分一个“执行管家”该有哪些模块2.1 四层结构数据层、策略层、执行层、通知层我搭这套系统的思路是把它拆成四个逻辑层而不是一上来就写一堆纠缠不清的代码。OpenClaw 在这中间主要承担“编排调度”的职责告诉我哪些任务跑完了、哪些条件触发了、下一步需要做什么。数据层负责拿行情和账户数据。行情从公开接口或自己维护的数据源拉取账户持仓和交易流水存在本地数据库里。数据层必须保证口径一致不然后面的计算全是错的。策略层把买入区间、止盈线、止损线、仓位上限这些规则统一放在一个配置文件中。这个文件是 OpenClaw 和“交易纪律”之间的桥梁。执行层把策略层的判断转换成实际动作。我这里采用的是“半自动”模式OpenClaw 生成拟交易清单推给我确认确认后才走合规的交易接口。部分朋友有权限开通自动化交易接口但我个人建议刚开始跑一定要保留人工确认这个环节。通知层把结果推送出来。收盘汇总、风险提醒、异常波动这些信息通过 Webhook 或手机推送渠道发出去。通知信息要简洁只写“触发了什么、我该看什么”不要写一堆废话干扰判断。2.2 规则参数放在哪里以及为什么这么设计很多人在使用 AI 工具时有个习惯喜欢把所有要求都塞进对话里。这在一个长期运行的持仓管理场景里非常不可取因为对话上下文会过期每次重新开窗口规则就丢了。我的做法是把所有交易规则写成一份配置文件例如 config.yamlOpenClaw 每次执行任务时主动去读这份文件。日常想改规则也只需要对它说一句“把某标的止盈线改成 8%”它会去修改配置而不是把临时要求存在聊天记录里。这样规则变更可回溯跑批任务时状态也稳定。# config.yaml 示意不代表任何投资建议 watchlist: - name: 某宽基指数ETF code: example_wide_base buy_zone: [10.00, 10.40] # 买入区间 target: 11.20 # 目标止盈 stop_loss: 9.60 # 止损线 position_limit: 0.15 # 单标的仓位上限占总资金15% - name: 某科技板块ETF code: example_tech_sector buy_zone: [1.20, 1.35] target: 1.52 stop_loss: 1.10 position_limit: 0.20配置文件 数据库 本地脚本构成了整个系统的主干。OpenClaw 作为中间调度者它能读文件、调用脚本、执行定时任务、再把结果发给我。就算某天 OpenClaw 本身崩了我的配置和数据还在本地不影响我做最基础的人工管理。2.3 持仓管家至少需要四个独立模块把任务拆成独立的小脚本比让 OpenClaw 在一个超长上下文里处理所有事情可靠得多。我目前实际在用的模块有几个market_snapshot拉行情计算每个标的的市值、当日盈亏、累计盈亏更新本地数据库。risk_check执行风控检查比对当前价格与止盈止损线的距离检查仓位占比是否超限组合回撤是否到了警戒值。report_generator把检查结果整理成表格生成可读的持仓日报。trade_signal根据策略层的规则生成“拟操作清单”例如“某标的价格进入买入区下沿建议买入 10% 仓位”并在输出中标记“待确认”。四个模块互相独立职责单一。OpenClaw 不需要记住每一只股票的历史走势它只需要知道哪个模块负责哪件事什么条件触发什么调用。3. 让 OpenClaw 跑起来的落地配置和日常指令3.1 环境与依赖数据必须落地不要活在网页里我用的是本地部署方案一个常开的低功耗电脑或小主机装上 Python 环境把脚本和数据库放进去OpenClaw 跑在同一台机器上。依赖很少无非就是请求库、数据库驱动、数据处理相关的几个库。更关键的一点是所有拉回来的数据都要落到本地存储而不是让 OpenClaw 每次都去网上翻。一方面行情接口有时间限制频繁请求容易被限流另一方面数据存在本地可以自己随时核对不至于工具一升级历史记录全没了。为了简单我一开始甚至没有用复杂数据库就是一个 SQLite 文件存每日持仓快照和交易流水。跑了几周之后发现查询和统计足够用。3.2 定时任务与条件触发的配置思路OpenClaw 支持类 cron 的定时任务配置这里我展示一个示意结构不同版本的配置格式会有差异重点看思路。# 示意交易日 16:30 生成持仓日报 [task.daily_report] cron 0 30 14 * * 1-5 # 注意用本地时区收盘后运行 command skill market_snapshot skill risk_check skill report_generator output push_to_phone # 示意每个交易日每小时做一次风控提醒 [task.risk_check_hourly] cron 0 * * * * 1-5 command skill risk_check --alert-only这里有一个很多新手容易踩的坑时区。默认情况下某些定时任务配置用的是 UTC 时间如果不改你会在北京时间凌晨收到“风险提醒”。我的做法是全部统一成本地时区并且加一个“是否交易日”的判断逻辑。这个判断逻辑很重要因为行情接口在周末不更新定时任务如果不跳过会拿周五收盘的价格反复提醒你造成不必要的干扰。3.3 我每天都实际在用的几条指令这套系统跑起来之后我每天真正手动输入 OpenClaw 的指令很少因为大部分是定时任务自动执行的。但有一些场景需要临时交互这里分享几条我高频使用的指令“帮我生成今天的持仓汇总按当日盈亏降序排列标出距离止盈线低于 3% 的标的。”“把某标的的止损线从 -6% 收紧到 -5%最近它的波动率变大了。”“模拟一下如果某标的跌到买区间下沿我再买入 10% 仓位总仓位和现金比例会变成多少。”你会发现这些指令并不需要什么“魔法措辞”把需求说清楚就行。OpenClaw 会去调用对应的 skill读取本地文件跑一遍计算然后把结果告诉我。这套交互方式比传统的“改代码、跑脚本、看输出”轻量太多这也是我坚持用它的原因。3.4 为什么我不推荐一上来就全自动很多人一听“AI 管持仓”第一反应就是让它全自动交易。我的建议是不要这样做至少前两个月不要。全自动意味着你要把下单权限完全交给程序一旦策略有漏洞、行情源异常或者接口逻辑写错损失会在一瞬间发生而且你可能根本来不及介入。我更推荐“半自动 人工确认”的模式OpenClaw 负责监控、计算、生成操作建议最后一步由我确认后执行。这样既保留效率又保留了最终决策权。如果以后想提高自动化程度也应该先拿模拟盘验证一段时间确认逻辑稳定后再放开权限。4. 一个月 3 万 的收益拆解这套系统到底在赚什么钱4.1 核心策略不是预测涨跌而是“区间低吸 纪律兑现”很多人以为我用 AI 做了很复杂的量化模型其实恰恰相反。我的核心策略很简单主仓是一只长期看好的宽基指数 ETF卫星仓有两三个活跃度较高的行业 ETF。我不预测什么时候暴涨而是给每个标的划一个“买入区间”跌进区间就分批买涨到目标线就分批卖跌破止损线就无条件离场。这个策略的价值在于它把不确定性很高的“预测”问题变成了确定性强一些的“执行”问题。我不需要知道一个标的能不能涨到 20%只需要知道它跌到哪个位置我愿意接涨到哪个位置我愿意走。OpenClaw 每天帮我跑一遍所有标的把接近买入区、接近卖点的品种列出来我只需要在它列出来的清单里做最后确认。4.2 风控参数怎么定的放一张实盘参数表所有策略都要落到参数上否则就是空话。下面的表格是我实际使用过的参数设定不代表任何投资建议但思路可以参考。参数项我的设定设计原因标的池1 只宽基指数 2~3 只活跃 ETF不碰没有流动性的小票减少异常波动单标的仓位上限总资金的 15%~20%控制单标的黑天鹅对整体账户的影响每档买入间隔3%~5%避免刚跌一点就打光子弹止盈线8%~12%分批止盈到了目标就执行止损线6%~8%跌破无条件离场不补仓组合回撤提醒10%触发后暂停新增仓位进入复盘状态这些参数不是拍脑袋定的。我的逻辑是买入间隔太小会导致频繁成交手续费都不够覆盖买入间隔太大可能一轮行情根本等不到第二档。止损线定在 6%~8%是因为超过这个幅度之后标的需要涨 10% 以上才能回到成本等回本的难度明显变大。4.3 收益归因3 万 到底从哪里来标题写了“一个月赚了 3 万”这一个月恰好赶上震荡偏上行的行情绝对不是我每个月的常态。我做了一份虚拟的收益归因方便拆解数字来源重点是看结构而不是看具体金额。收益来源金额约说明已实现波段差价1.9 万区间低吸高抛几次 3%~8% 的差价落袋持仓浮盈增加1.4 万主仓标的月度趋势反弹账面浮盈增加纪律止损省下的亏损0.3 万两次触发止损后没有犹豫事后继续下探合计3.6 万其中约 2.7 万落袋0.9 万为浮盈3.6 万里有相当一部分来自“少亏的钱”。这听起来不那么酷但确实是真实收益的一部分。过去我手动操作时两次破了止损纪律第一次是从亏 5% 扛到亏 15%第二次是从应该止盈赚 8% 扛到赚 2%。这两笔钱如果逆向算回来其实就是 3 万里的重要缺口。4.4 别只盯着收益我也经历了一次难受的止损这套系统并不是每次都对。有一回某标的触发了止损提醒我确认卖出结果接下来两天反弹了 10%当时确实有点后悔。但回头看这笔操作是对的之后的波动再次回落若那次不卖大概率会亏更多。执行纪律的最大意义不是每次都能卖在最低点而是避免“一次扛单扛到底”的重创。所以我想得很清楚3 万 是“纪律兑现”的奖励不是“AI 推荐”的功劳。OpenClaw 只是把规则执行得更稳定罢了。5. 踩坑实录AI 管持仓最容易翻车的五个细节5.1 行情数据源的延迟和口径不一致我最早用的免费行情接口行情延迟有几分钟而且不同接口在除权除息日的价格口径不一致。有一次某标的除息接口返回的价格跳变了 2%系统直接算出一笔“巨额亏损”给我推送了一条吓人的风险提醒。解决办法是用同一个数据源作为唯一口径并在代码里做“除权除息过滤”拉回来的历史数据只用于生成报告不参与实时决策每周手动对一次持仓市值确保本地数据库和真实行情软件的数据能对上。5.2 长上下文导致任务“漂移”刚开始使用 OpenClaw 时我喜欢把所有标的的历史记录都塞进对话里让它“顺便分析一下”。结果到后面它开始变得迟缓偶尔会漏掉某个提醒甚至在指令里加上了一些并不存在的标的。原因很简单上下文太长模型在处理大量历史文本时产生混淆。解决方案把任务拆分给不同的 skill每个 skill 只读取自己需要的文件和数据库状态信息写入本地文件或数据库而不是放在聊天上下文里每次对话保持独立尽量“一问一议”。5.3 API Key 和授权安全是最容易被忽略的问题这一条必须重点说。交易接口的密钥一旦泄露后果不堪设想。OpenClaw 在运行时会记录工具调用日志如果你把密钥明文写在配置里等于把钥匙挂在门口。我的做法是密钥通过环境变量加载配置文件里只保留占位符交易接口使用只读模式只有手动确认时才调用下单接口如果平台支持 IP 白名单就只允许自己出口 IP 访问本地日志目录设权限避免其他进程读取。安全措施宁多勿少千万不要在图方便的时候把底线丢了。5.4 你没告诉它“什么不能做”它就会出馊主意AI 本质上是对指令的响应。如果你只告诉它“涨了就提醒”没告诉它“什么情况不能买”当市场出现极端行情时它可能根据你的配置提出追高某个已经连续大涨的标的的建议。我在配置里加了一份明确的“禁止清单”不追涨停不参与开板次新不在开盘 30 分钟内做买入操作避免流动性冲击单日总交易次数不超过 3 次防止情绪化频繁交易某个标的已触发止损后当天不得反向买入同一标的。把边界条件想清楚比写一堆“建议语”可靠得多。5.5 交易日历和时区会造成一连串误报这个问题我踩得比较频繁。一开始定时任务没做“是否为交易日”判断于是周六周日它也会执行行情拉取推送里全是周五的旧数据。后来我改成了本地时区仍然有误报因为节假日没有处理比如长假期间系统安静地误推了几天“风险提示”。解决办法是引入一个交易日历判断交易日才跑完整检查非交易日直接跳过。这个逻辑很简单但加完之后系统的推送质量高了一个量级不会在错误的时间制造焦虑。坑的类别表现原因解决办法数据口径除息后价格跳变推送异常亏盈接口口径不统一固定数据源做除权过滤上下文过长任务漂移漏提醒对话里塞入过多历史拆分 skill状态落到本地权限安全密钥泄露风险明文配置无白名单环境变量只读模式边界缺失提危险操作建议没有禁止清单加白名单和黑名单规则日期时区非交易日误报缺少交易日历判断引入交易日历统一本地时区6. 最后聊聊我不太会说出口的真实体感跑了一个月以后我越来越觉得这套系统真正值钱的地方不是“AI 持仓管理”听起来多厉害而是它逼着我在开始之前把所有交易规则用文字写了一遍。写下来的过程实际上是我第一次认真面对自己的“交易纪律”。OpenClaw 没有帮我做过任何神奇预测它只是把我反复犯过的错误用程序的方式拦了下来。这一个月赚到钱很大程度上是因为我把“止损”从脑子里的想法变成了配置文件里的固定数字。工具只是放大了纪律的威力而不是凭空生成了收益。如果你也打算折腾一套类似的东西我的建议非常朴素先不要碰任何下单权限。让 OpenClaw 跑两周“只读报告”模式每天只汇总持仓、计算偏离、推送提醒。你可能会发现它帮你省下最多的不是盯盘时间而是来回纠结时消耗的情绪。等你自己习惯了跟着规则走再考虑要不要把执行权也交出去。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。