当前位置: 首页 > article >正文

用 OpenClaw + 飞书 Agent 打造 AI 自主模拟炒股系统:从零到实盘全记录

作者海风 日期2026年3月17日本文记录了我用 OpenClaw 2026.3.8 搭建 AI 自主模拟炒股系统的完整过程。trader Agent 拥有 5 万元虚拟资金每天自主选股、自主决策买卖、自主管理仓位——完全不需要人类干预交易决策。一、背景为什么让 AI Agent 炒股2026 年AI Agent 已经从聊天机器人进化到能自主执行复杂工作流的智能体。我一直在想如果给一个 AI Agent 一笔钱让它在 A 股市场上自主投资它能做得怎么样这不是一个理论问题——借助OpenClaw一个开源 AI Agent 框架我们真的可以搭建这样一个系统。于是在某个周二的傍晚我开始了这个实验。我的目标给 trader Agent5 万元虚拟资金让它完全自主选股、买卖、管理仓位严格遵守 A 股交易规则T1、涨跌停、手续费每天自动运行我只看结果验证 AI Agent 的投资决策能力二、技术栈一览组件技术选型用途Agent 框架OpenClaw 2026.3.8多 Agent 协作平台前端交互飞书 Agent「多多助理」人机交互界面接收 Agent 报告大模型Kimi 2.5Agent 的大脑负责推理决策行情数据TuShare 高级 APIA 股日线、基本面、交易日历信息搜索SearXNG Jina Reader搜索财经新闻辅助决策金融数据 SkillTuShare 官方 Skillwaditu-tushare220 接口龙虎榜、资金流向、财务报表等服务器阿里云 ECS7×24 小时运行OpenClaw 支持多子 Agent 架构我配置了 4 个子 Agentresearcher研究员、coder程序员、writer写手和trader交易员。本文的主角就是trader。三、系统架构设计3.1 两阶段每日循环整个系统的核心是一个两阶段每日循环graph TD A[16:30 收盘分析] -- B[拉取全市场行情] B -- C[更新持仓市值] C -- D[评估持仓持有/卖出/加仓] D -- E[基础选股筛选2000只] E -- F[精选候选标的3-5只] F -- G[生成次日交易计划 trade_plan.json] G -- H[推送分析摘要到飞书] I[09:45 开盘执行] -- J[解冻 T1 冻结仓位] J -- K[读取交易计划] K -- L[获取今日开盘价] L -- M[自主判断执行/调整/放弃] M -- N[逐笔执行交易] N -- O[推送成交报告到飞书] H -.-|过夜| I O -.-|等待收盘| A3.2 目录结构~/.openclaw/workspace/trading/ ├── data/ │ ├── portfolio.json # 账户与持仓 │ ├── strategy.md # Agent 自主维护的策略文档 │ └── trade_plan.json # 次日交易计划 ├── scripts/ │ ├── tushare_helper.py # TuShare 数据助手 │ ├── check_trade_day.py # 交易日判断 │ └── trade_engine.py # 模拟交易引擎 └── logs/ ├── trade_log.csv # 交易日志 └── cron.log # 定时任务日志3.3 关键设计原则Agent 决策脚本执行Agent 负责分析和决策Python 脚本负责数据拉取和交易执行严格模拟真实规则T1、涨跌停限制、手续费一个不少防止 Agent 作弊所有数据必须来自 TuShare禁止编造行情禁止直接修改 portfolio.json策略自主进化Agent 自己维护strategy.md每周复盘更新四、核心代码实现4.1 TuShare 数据助手tushare_helper.py这是 Agent 的眼睛——封装了所有行情数据接口# 核心函数一览 def get_trade_date(offset0): # 获取最近交易日 def is_trade_day(date_strNone): # 判断是否交易日 def get_daily_data(trade_date): # 全市场日线行情 def get_daily_basic(trade_date): # 基本面指标PE/PB/换手率 def get_stock_history(code, days): # 个股历史K线 def get_open_price(codes): # 获取开盘价 def screen_stocks(trade_date): # 基础选股筛选选股筛选逻辑——这是 Agent 选股的第一道过滤网def screen_stocks(trade_dateNone): basic get_daily_basic(trade_date) daily get_daily_data(trade_date) merged pd.merge(daily, basic, on[ts_code, trade_date]) # 选股范围上证A股 深市A股 创业板 # 排除科创板(688xxx)、北交所、ST股 filtered merged[ (merged[ts_code].str.startswith((00, 60, 30))) (~merged[ts_code].str.startswith(688)) (~merged[ts_code].str.contains(ST)) (merged[pct_chg] 9.9) # 排除涨停 (merged[pct_chg] -9.9) # 排除跌停 (merged[total_mv] 50) # 市值 50亿 (merged[turnover_rate] 1) # 换手率 1% ] # 创业板涨跌停为20%需单独处理 is_gem filtered[ts_code].str.startswith(30) gem_limit filtered[is_gem (filtered[pct_chg].abs() 19.9)] main_board filtered[~is_gem] filtered pd.concat([main_board, gem_limit]) return filtered.sort_values(vol, ascendingFalse)选股范围的考量✅上证A股60xxxx大盘蓝筹为主✅深市A股00xxxx中小盘标的丰富✅创业板30xxxx成长性强20% 涨跌停带来更多机会❌科创板688xxx门槛高、波动大暂不纳入❌北交所8/4xxxxx流动性不足4.2 模拟交易引擎trade_engine.py这是 Agent 的手——执行实际的买卖操作def buy_stock(code, name, price, shares, reason): # 1. 涨停检查涨停的股票无法买入 pct_chg get_current_pct_chg(code) limit 19.9 if code.startswith(30) else 9.9 if pct_chg limit: return {success: False, msg: f{name} 已涨停无法买入} # 2. 股数取整到100的倍数 shares (shares // 100) * 100 # 3. 计算费用佣金万2.5最低5元 commission max(amount * 0.00025, 5) # 4. 资金检查、扣款、更新持仓 # 5. T1 冻结当天买入的股票今天不能卖 # 6. 写入交易日志 CSV def sell_stock(code, price, sharesNone, reason): # 1. 跌停检查跌停的股票无法卖出 # 2. T1 检查今天买的不能今天卖 # 3. 计算费用佣金 印花税千1 # 4. 收款、更新持仓、写日志涨跌停硬拦截是一个重要的设计——即使 Agent 的决策出了偏差引擎层面也会阻止不可能的操作。这保证了模拟的真实性。4.3 手续费模型def calc_fee(amount, direction): commission max(amount * 0.00025, 5) # 佣金万2.5最低5元 stamp_tax amount * 0.001 if direction sell else 0 # 卖出印花税千1 return round(commission stamp_tax, 2)与真实 A 股完全一致让模拟结果更有参考价值。五、Agent 的大脑——AGENTS.md 规则配置OpenClaw 通过AGENTS.md文件给 Agent 下达指令。这是 trader Agent 的核心规则精简版## trader 子 Agent 模拟炒股系统 ### 每日工作流程 **阶段一收盘分析16:30** 1. 读取持仓 → 2. 拉行情 → 3. 更新市值 → 4. 评估持仓 → 5. 筛选新标的 → 6. 生成交易计划 → 7. 推送摘要 **阶段二开盘执行09:45** 1. 解冻T1 → 2. 读计划 → 3. 获取开盘价 → 4. 自主判断执行 → 5. 推送成交报告 ### 交易规则硬性 - T1、最小100股、佣金万2.5印花税千1 - 涨停不买、跌停不卖引擎自动拦截 - 仅限上证A股、深市A股、创业板 ### 风控红线 - 单股仓位 ≤ 30%总仓位 ≤ 80% - 单股止损 ≥ 8%总回撤 ≥ 10% 暂停交易 ### 绝对禁止 - 不允许编造行情数据 - 不允许修改历史交易记录 - 不允许绕过 trade_engine.py 直接改 portfolio.json这套规则的设计哲学是给 Agent 足够的自主权去决策但用硬规则约束它不能做危险的事。六、自动化Crontab 定时触发三个定时任务驱动整个系统# 收盘分析每个工作日 16:30 30 16 * * 1-5 /bin/bash ~/trading/scripts/trigger_close_analysis.sh # 开盘执行每个工作日 09:45 45 9 * * 1-5 /bin/bash ~/trading/scripts/trigger_open_execute.sh # 周末复盘每周日 10:00 0 10 * * 0 /bin/bash ~/trading/scripts/trigger_weekly_review.sh每个触发脚本都会先判断是否为交易日调用 TuShare 交易日历非交易日自动跳过。七、实战首秀Agent 的第一次收盘分析搭建完成后我在飞书给 trader Agent 发了第一条指令trader 请执行收盘分析流程这是第一次运行。Agent 的表现让我惊喜7.1 选股结果Agent 从 3699 只股票中经过基础筛选得到约 2400 只再根据自主制定的策略精选出5 只重点关注股票代码名称收盘价Agent 看好理由002475.SZ立讯精密49.83消费电子龙头量价配合300059.SZ东方财富21.56券商互联网龙头600930.SH华电新能6.80新能源赛道低价放量002130.SZ沃尔核材27.51核电概念601899.SH紫金矿业34.90有色资源龙头仅关注未买入7.2 自主制定的策略Agent 写入strategy.md的核心策略核心原则趋势跟踪 量价配合基础筛选价格 5-50 元、成交额 1 亿、涨幅 0-8%技术面MA5 MA10 多头排列仓位控制单股 ≤ 30%总仓位 ≤ 80%风控止损 -8%止盈 15%7.3 生成的交易计划计划明日买入 4 只股票总投入约 4 万元预留约 1 万现金20%完全符合风控规则。这一切都是 Agent 自主完成的我没有干预任何决策。八、测试验证过程在让 Agent 正式上岗之前我做了完整的测试8.1 数据接口测试# TuShare 连接 ✅ $ python3 tushare_helper.py trade_date 20260317 # 基础选股 ✅ —— 筛出 2422 只股票 $ python3 tushare_helper.py screen 共筛选出 2422 只股票 # 个股历史 ✅ —— 平安银行30天K线 $ python3 tushare_helper.py stock 000001.SZ 308.2 交易引擎测试# 初始账户 ✅ $ python3 trade_engine.py summary 初始资金50,000.00 元 当前现金50,000.00 元 # 模拟买入 ✅ $ python3 trade_engine.py buy 000001.SZ 平安银行 12.50 500 测试买入 买入 平安银行 500股 12.5花费 6255含佣金 5剩余现金 43745 # 佣金计算验证12.5 × 500 6250佣金 max(6250×0.00025, 5) 5 ✅ # 总花费 6250 5 6255 ✅所有测试一次通过九、踩过的坑问题原因解决方案tree: command not found阿里云 ECS 最小化安装没有 treeyum install -y tree或用find替代创业板涨跌停与主板不同创业板是 20%主板是 10%选股和交易引擎中分别处理可能买入涨停股选股筛除了但交易时没拦截trade_engine 加入涨跌停硬拦截科创板/北交所混入选股池初始代码只过滤了主板代码明确范围为上证深市创业板十、加装官方 TuShare Skill从够用到专业级前面的tushare_helper.py覆盖了选股和交易的核心需求但 TuShare 其实还有更多宝藏接口。好消息是TuShare 官方发布了一个OpenClaw 专属 Skillskills.sh/waditu-tushare覆盖220 数据接口安装后 Agent 可以直接调用。安装一行搞定# 备份旧版如有 mv ~/.openclaw/skills/tushare ~/.openclaw/skills/tushare.bak.old # 安装官方 Skill npx skills add https://github.com/waditu-tushare/skills --skill tushare # → Installation scope: Global # → Installation method: Symlink (Recommended) # → Proceed: Yes # 重启 Gateway openclaw gateway restart安全评估Gen Safe ✅ · Socket 0 alerts ✅ · Snyk Med Risk效果立竿见影安装后我在飞书问了一句查询今日沪深港通资金流向Agent 立刻返回了一份完整报告沪股通/深股通成交额与北向资金净买入沪股通十大成交股贵州茅台、兆易创新、紫金矿业……深股通十大成交股宁德时代、中际旭创、天孚通信……港股通成交股腾讯、阿里、小米、中海油……关键发现Agent 自动把资金流向数据和交易计划关联——立讯精密在深股通中排名第5获北向资金关注支持明日买入计划最后一条特别惊喜Agent 自主建立了不同数据源之间的关联这说明它的分析已经超越了单一数据维度。双通道架构现在 trader Agent 拥有两个互补的数据通道通道用途接口数tushare_helper.py模拟炒股专用选股、交易执行~10 个TuShare 官方 Skill深度分析龙虎榜、资金流向、筹码、财报、技术因子、新闻……220十一、后续计划手动验证期第 1 周每天手动触发观察 Agent 决策质量全自动运行第 2 周起切换到 crontab 全自动策略进化观察 Agent 是否会根据盈亏自主调整策略增加 Researcher 协作让 researcher Agent 搜索行业新闻trader 综合判断月度/季度收益对比与沪深 300 指数做基准对比十二、写在最后整个搭建过程大约花了一个傍晚。最让我惊喜的不是系统本身而是trader Agent 第一次运行就展现出了合理的投资逻辑——它会看量价关系、会分散仓位、会预留现金、会设置止损线。当然AI 炒股到底能不能赚钱还需要时间来验证。但至少OpenClaw 让我们能够快速搭建这样一个实验平台用极低的成本去探索 AI Agent 在金融领域的可能性。这不是炒股建议这是一次技术实验。但如果你也对 AI Agent 感兴趣不妨动手试试——毕竟5 万虚拟资金输了也不心疼 。相关资源OpenClaw 官方文档GitHubTuShare 数据接口tushare.pro本文完整代码和配置见附属指南页面如果这篇文章对你有帮助欢迎点赞收藏关注后续我会持续更新 trader Agent 的实盘表现和策略进化过程。标签OpenClawAI Agent模拟炒股TuShare飞书Kimi量化投资Python

相关文章:

用 OpenClaw + 飞书 Agent 打造 AI 自主模拟炒股系统:从零到实盘全记录

作者:海风 | 日期:2026年3月17日 本文记录了我用 OpenClaw 2026.3.8 搭建 AI 自主模拟炒股系统的完整过程。trader Agent 拥有 5 万元虚拟资金,每天自主选股、自主决策买卖、自主管理仓位——完全不需要人类干预交易决策。 一、背…...

伪造代码亲缘关系:让系统认我当爹——软件测试从业者的专业指南

在软件测试领域,伪造亲缘关系是一种关键的黑盒与白盒测试技术,尤其适用于血缘关系图谱系统(如家族树或遗传分析工具)。这类系统通过对象关系映射亲缘(如父子、兄弟),而测试中故意伪造关系&#…...

python+Ai技术框架的美食分享平台 美食餐厅活动报名系统django flaskdjango flask

目录 技术选型与框架设计核心功能模块数据库设计AI集成实现部署与优化测试与迭代 项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 技术选型与框架设计 后端框架选择 Django:适合快速开发…...

AI 原生人才管理系统解析,智能人才库简历激活实操攻略

在人力资源管理数字化升级的当下,AI 原生的人才管理系统成为企业优化人才管理效率的核心工具,而智能人才库的运营则是挖掘存量人才价值的关键。很多企业拥有大量简历资源却处于沉睡状态,无法转化为实际的人才储备,而 AI 原生系统能…...

等保测评命令——达梦数据库 DM

根据 GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》第三级"安全计算环境" 条款,结合 达梦数据库 DM8 官方安全指南及多家测评机构现场实践,给出可直接落地的 测评命令清单。已在 DM8 2023Q4 / DM8 2024Q1 环境验证通过&#xff0…...

GinCdn内容分发系统V1.0.2发布:企业级CDN架构迎来节点监控全面升级

GinCdn内容分发系统V1.0.2发布:企业级CDN架构迎来节点监控全面升级引言在当今互联网高速发展的时代,内容分发网络(CDN)已成为保障网站和应用高性能、高可用的基础设施。2026年3月16日,GinCdn内容分发系统正式发布V1.0.…...

vue2.0 接入腾讯位置服务

Ip定位为例子(非精确定位场景)(https://lbs.qq.com/service/webService/webServiceGuide/position/webServiceIp) 步骤一:在腾讯申请key步骤二:在代码调用 方式一:手动封装 JSONP 函数 创建 uti…...

Spice Data招聘产品专员,聚焦餐饮数据服务

Spice Data招聘产品专员,明确岗位职责Spice Data正在招聘产品专员(应届毕业生),工作地点位于美国旧金山。该岗位要求应聘者具备较强的数据处理能力,需运用产品思维创建和维护数据映射,清理原始数据。同时&a…...

mathtype加载到WPS灰色无法使用

具体安装教程很多,步骤都是对的,我这只是说一下我安装好几次在自己电脑上的问题,就是把两个文件复制到startup之后,也安装了VBA,但是打开WPS文档还是灰的不能用,我搞了几次发现在工具选项卡里宏无法运行&am…...

规则引擎到底是什么?三分钟让你彻底搞懂

前言:你是不是也被这些词搞晕了?说实话,我刚接触"规则引擎"这个词的时候,也是一头雾水。那时候我在一家金融公司做技术,老板天天把"规则引擎"、"业务流程管理系统"、"决策引擎&quo…...

day02_Python开发环境部署与Python基础语法

写在前面 学习AI之前,Python是必备技能,所以接下来一段时间都会先讲Python的知识。本篇文章主要讲如何部署便于开发Python的环境,以及一些简单的Python入门语法。 我们正生活在一个AI飞速发展的时代,在学习这个领域,…...

Linux 命令:vgchange —— 修改卷组属性

1. 命令简介 vgchange 命令用于修改 Linux 逻辑卷管理器(LVM)中卷组(Volume Group)的属性。其主要功能是激活或停用卷组,这是管理 LVM 存储空间(如创建、删除逻辑卷或卷组)前的关键步骤。一个卷组必须处于非活动状态才能被安全删除。 2. 语法格式 shell vgchange [选…...

Bash脚本学习

1、第一行#!/bin/bash,表示sh脚本默认按bash运行2、set ex #命令失败时立即退出;打印执行的每一条命令 set -o pipefail #管道中任何一个命令失败都算失败3、basepath$(cd "$(dirname "$0")" && pwd) #获取脚本所在路径一、…...

Go 协程与线程性能对比

Go 协程与线程性能对比:轻量并发的革命 在现代高并发编程中,Go 协程(Goroutine)和传统线程(Thread)是两种核心的并发模型。Go 协程凭借其轻量级设计和高效的调度机制,逐渐成为开发者青睐的选择…...

环境测试(二):电动振动试验系统双臂跌落试验机

概述 正弦振动:又分为扫频振动(用于寻找产品的共振频率)和定频振动(用于评估产品在特定频率下的耐久性)。 随机振动:模拟真实世界中的复杂振动,如卡车运输颠簸、路面不平、发动机宽带噪声等&…...

【2026远程技术服务推荐】分子对接代理、分子动力学指导、虚拟筛选与软件安装、生物信息分析 系统重装

远程技术服务推荐:分子对接、分子动力学、虚拟筛选、生物信息分析与各类软件环境安装 一、简介 智澈乐尚网络工作平台 目前向广大研友长期提供 远程技术服务 的平台,主要面向有以下需求的用户: 分子对接:AutoDock、AutoDock Vi…...

草莓遗传转化

草莓遗传转化体系成熟,主要采用农杆菌介导法,以叶盘或子叶为外植体再生转基因植株,森林草莓(如Hawaii 4)转化效率可显著提升至对照的2–3倍,常用于抗病和品质改良。 主流方法比较 方法 外植体 优点 …...

刷题统计【牛客tracker 每日一题】

刷题统计 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题…...

python+Ai技术框架的美食交流宣传系统的设计与实现django flask

目录PythonAI技术框架的美食交流宣传系统设计与实现技术选型分析系统核心模块设计Django实现方案Flask实现方案AI集成方案部署架构设计开发路线图关键技术点性能优化建议测试方案项目技术支持可定制开发之功能创新亮点源码获取详细视频演示 :文章底部获取博主联系方…...

基于金枪鱼群算法优化BP神经网络(TSO-BP)在多输出数据回归预测中的应用及Matlab代码实现

基于金枪鱼群算法优化BP神经网络(TSO-BP)的多输出数据回归预测TSO-BP多输出数据回归 matlab代码注:暂无Matlab版本要求--推荐2018B版本及以上金枪鱼群算法(TSO)遇上BP神经网络会发生什么化学反应?最近在折腾多输出数据回归预测时发…...

COMSOL电池组优化:高倍率充放电下的PCM相变技术结合液冷散热系统

comsol电池组高倍率充放电下PCM(相变)结合液冷散热(COMSOL6.2版本,慎)电池组高倍率充放电时,散热就像给狂奔的野马套缰绳——搞不好直接炸给你看。传统液冷虽然能打,但遇到电流密度飙升的工况,散热速度容易…...

路由器成“二传手”?eNSP实战:一台DHCP服务器如何管遍全网段!(附抓包详解)

摘要 在大型企业网络中,如果每个网段都配一台DHCP服务器,成本高昂且管理混乱。那么,如何用一台DHCP服务器,为多个不同网段的终端自动分配IP地址?答案就是 DHCP中继代理(DHCP Relay)。 本文将摒弃枯燥的理论堆砌,通过华为eNSP模拟器进行实战。我们将搭建“DHCP服务器+…...

【深度学习实战】巧用“噪声”画出心脏:扩散模型(Diffusion Model)在超声影像合成中的破局

白色笔记科研分享,源码或云运行请移步白色笔记 在深度学习中,如果我们缺乏真实的生产数据来测试系统,通常会编写“Mock数据”或使用“Fuzzer(模糊测试)”来生成模拟输入。但在医学影像分析领域,获取带标注的…...

Meta羊驼LLaMA的崛起与争议:开源AI的史诗级故事

本文相对于 DeepSeek 那一版要简单一些,相关知识涉猎不多,故事性要更强一些。只当这篇文章是一个乐子去看,也是极佳。 正文约 14000 字,精读约 36 分钟,建议收藏再看,避免迷路~根据 0/3/1 的高票选择&#…...

操作步骤分享:DeepSeek转Word文档的正确步骤

在撰写学术论文或技术报告时,将DeepSeek生成的数学公式正确转移到Word文档中,可按以下步骤操作。 一、网页端操作流程 1. 生成规范内容 对话时明确要求:“请用LaTeX语法编写数学公式,并用$$符号包裹。” 2. 正确复制内容 获取回…...

51单片机按键控制LED移位

文章目录 一、项目概要 二、硬件设计 三、软件设计 四、编译与下载 五、小结 一、项目概要 本项目基于51单片机,实现两组独立LED灯通过4个独立按键分别控制上下循环移动功能。按键采用低电平有效触发,LED低电平点亮,灯珠移动到头后自动…...

软件闪退处理流程

软件“闪退”(Crash)是软件开发和运维中最棘手的问题之一,因为它通常意味着进程非正常终止,用户来不及看到错误提示。在光伏逆变器监控、数据采集或上位机软件中,闪退可能导致数据丢失或监控中断,后果严重。…...

微网里的风电光伏总像青春期小孩——间歇性抽风。搞共享储能就像给熊孩子们找了个充电宝,但怎么配这个充电宝才不浪费钱?咱们直接上硬菜

考虑微网新能源经济消纳的共享储能优化配置 共享储能是可再生能源实现经济消纳的解决方案之一,在适度的投资规模下,应尽力实现储能电站容量功率与消纳目标相匹配。 对此,提出了考虑新能源消纳的共享储能电站容量功率配置方法,针对…...

WRF安装解决报错

1.参考链接:https://blog.csdn.net/ME1010/article/details/129914778 2.报错: (1)刚开始在服务器安装,因为没有sudo权限,怕修改环境变量影响了其他人,同时因为安装报错 就在本地安装 &#…...

相对于打工的职场,创业就是一个炼狱场,打破你原有的价值观和世界观,到处充满了人性的丑陋一面,自私、贪婪,欲望,虚伪、权谋.... 然后,正是因为人性的丑陋,诚信和坦诚在商业中才显得尤为可贵。

创业炼狱:在人性深渊里,诚信是唯一的救赎如果说打工是在一个被规则保护好的“温室”里修剪枝叶,那么创业就是把你赤身裸体地扔进原始森林的“炼狱”。在这里,没有HR来调解纠纷,没有制度来兜底失误,更没有“…...