☰
用OpenClaw构建持仓管理执行中枢:从手动盯盘到纪律化收益
2026/10/20 12:34:40 网站建设 项目流程

标题写了“一个月赚了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.yaml,OpenClaw 每次执行任务时主动去读这份文件。日常想改规则,也只需要对它说一句“把某标的止盈线改成 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 跑两周“只读报告”模式,每天只汇总持仓、计算偏离、推送提醒。你可能会发现,它帮你省下最多的不是盯盘时间,而是来回纠结时消耗的情绪。等你自己习惯了跟着规则走,再考虑要不要把执行权也交出去。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询