新闻详情

新闻详情

首页 / 资讯中心 / 详情

Tushare量化数据 + AI 智能体 + OpenCLAW:构建全渠道量化数据系统

发布时间:2026/9/28 18:16:18来源:尧图网络
Tushare量化数据 + AI 智能体 + OpenCLAW:构建全渠道量化数据系统
1. 为什么要把 Tushare、AI 智能体和 OpenCLAW 拼在一起如果你做量化大概率经历过这样的循环打开 Tushare 文档翻接口参数写一段pro.daily()跑出来一个 DataFrame然后手动算涨跌幅、画图、截图发群里。数据是拿到了但每次想查点东西都得重新写脚本或者打开 Jupyter 翻旧代码。这套流程在 2020 年没问题放到现在就显得笨重了。Tushare 本身是很扎实的量化数据源行情、基本面、财务指标都能拉接口稳定、字段清晰。但它只负责“给数据”不负责“理解数据”。AI 智能体恰好补上这一环你用自然语言问“贵州茅台最近走势如何”它去调 Tushare 接口、算统计量、生成一段人话报告。而 OpenCLAW 解决的是最后一公里——你不想每次都打开终端或网页而是希望在飞书、钉钉、企业微信这些日常聊天工具里直接问、直接收推送。所以这套组合的分工很明确Tushare 管数据获取AI 智能体管语义理解和报告生成OpenCLAW 管多渠道分发和常驻运行。三者串起来就是一个能“在聊天窗口里查行情”的全渠道量化数据系统。下面我会给出可复制的config.toml和settings.json骨架、OpenCLAW 侧接入参数以及一次从数据拉取到智能体响应的完整验证动作。2. TaoToken 前置统一 Key 与 API 通道在接 AI 智能体之前先解决模型调用的问题。你可能会用多个模型——写报告用 Claude、做代码补全用 GPT、跑 Agent 用国产模型——如果每个都单独配 Key、单独改 base_url配置会散落在四五个文件里。TaoToken 的作用就是把这些统一到一个 Key、一个 API 通道上。它的接入方式兼容 OpenAI 风格的接口所以 LangChain、OpenAI SDK、以及大部分 Agent 框架都能直接指向它。你只需要在 TaoToken 控制台创建一个 API Key然后把 base_url 指向https://taotoken.net/api后续换模型只改 model 字段不用动 Key 和地址。具体操作登录官网后进入控制台在 API Keys 页面新建一个 Key复制保存。这个 Key 会同时用于模型对话和 Coding Plan 场景。如果你后续要跑长期编码任务或 Agent 常驻进程建议单独开一个 Coding Plan 的 Key避免和临时调试混用。注意Key 只显示一次复制后存到环境变量或配置文件里不要硬编码进 Git 仓库。接入文档里有各语言的示例Python 侧核心就是两行from openai import OpenAI client OpenAI(api_key你的TaoToken Key, base_urlhttps://taotoken.net/api)这样你的 AI 智能体就有了统一的模型出口。接下来把它和 Tushare 客户端、OpenCLAW 网关串起来。3. 可复制配置config.toml 与 settings.json 骨架OpenCLAW 的配置分两层config.toml管网关、渠道和插件注册settings.json管模型参数和运行时行为。下面这份骨架你可以直接改字段用。先看config.toml[gateway] host 0.0.0.0 port 18789 log_level info [channels.feishu] enabled true app_id your_feishu_app_id app_secret your_feishu_app_secret [channels.dingtalk] enabled true app_key your_dingtalk_app_key app_secret your_dingtalk_app_secret [channels.wechat_work] enabled false corp_id your_corp_id agent_id your_agent_id secret your_secret [plugins.tushare] path ./plugins/tushare_plugin.py enabled true token your_tushare_token [ai] provider taotoken base_url https://taotoken.net/api api_key your_taotoken_key model claude-3-5-sonnet temperature 0.2 [memory] enabled true type chromadb persist_directory ./data/memory再看settings.json这个文件放在 OpenCLAW 工作目录下管运行时细节{ agent: { name: quant-assistant, system_prompt: 你是一个量化数据助手负责调用 Tushare 接口获取行情和基本面数据并用简洁的中文生成分析报告。, max_iterations: 8, verbose: false }, tools: { tushare: { enabled: true, cache_ttl: 300, default_fields: ts_code,trade_date,open,high,low,close,pct_chg,vol,amount } }, broadcast: { enabled: true, channels: [feishu, dingtalk] }, scheduler: { timezone: Asia/Shanghai, daily_report_cron: 0 16 * * 1-5 } }两个文件的分工config.toml里的[ai]段指向 TaoToken 的 API 地址和 Keysettings.json里的agent段定义智能体的行为边界。Tushare 的 token 放在config.toml的插件段里和模型 Key 分开管理避免混在一起。4. 验证请求从数据拉取到智能体响应配置写完后先别急着接聊天渠道用一次最小验证确认链路通。我试过最快的办法是写一个verify.py直接调 Tushare 拉数据再让智能体生成报告。import tushare as ts import pandas as pd from openai import OpenAI # 1. Tushare 拉数据 ts.set_token(your_tushare_token) pro ts.pro_api() df pro.daily(ts_code600519.SH, start_date20240101, end_date20240131) df[trade_date] pd.to_datetime(df[trade_date]) df df.sort_values(trade_date).reset_index(dropTrue) # 2. 算统计量 stats { count: len(df), avg_close: round(df[close].mean(), 2), max_close: round(df[close].max(), 2), min_close: round(df[close].min(), 2), price_change: round((df[close].iloc[-1] / df[close].iloc[0] - 1) * 100, 2), } # 3. 调 TaoToken 让智能体生成报告 client OpenAI(api_keyyour_taotoken_key, base_urlhttps://taotoken.net/api) prompt f以下是贵州茅台2024年1月的日线统计数据{stats}。请用三段话生成一份简洁的行情简报包含最新收盘价、区间涨跌幅和一句风险提示。 resp client.chat.completions.create( modelclaude-3-5-sonnet, messages[{role: user, content: prompt}], temperature0.2, ) print(resp.choices[0].message.content)跑通后你会看到类似这样的输出贵州茅台在2024年1月区间内收盘价从1685.00元波动至1750.00元区间涨跌幅为3.86%。期间最高收盘价1750.00元最低收盘价1685.00元均价约1712.50元。整体走势偏强但月末出现小幅回调需关注成交量变化带来的短期波动风险。这一步验证了三件事Tushare 能拉到数据、TaoToken 通道能调通模型、智能体能基于结构化数据生成可读报告。确认无误后再把这段逻辑封装成 OpenCLAW 插件。插件侧的核心是handle_message方法收到消息后判断是否包含查询意图提取股票名称或代码调 Tushare 拿数据再走智能体生成回复。OpenCLAW 的插件基类会帮你处理消息路由和渠道适配你只需要关注业务逻辑。from openclaw.plugin import BasePlugin class TusharePlugin(BasePlugin): async def handle_message(self, message): text message.get(text, ).strip() if any(kw in text for kw in [查询, 走势, 日报, 数据]): ts_code self._extract_code(text) if ts_code: report self._generate_report(ts_code) return {status: success, response: report} return {status: ignored} def _extract_code(self, text): # 简化版实际项目可用 NLP 或正则 mapping {贵州茅台: 600519.SH, 平安银行: 000001.SZ} for name, code in mapping.items(): if name in text: return code return None把插件注册到config.toml的[plugins.tushare]段重启 OpenCLAW 网关然后在飞书或钉钉里发一句“贵州茅台最近走势如何”就能收到格式化报告。5. 本篇常见错排查Tushare 返回空 DataFrame最常见的原因是日期格式不对。Tushare 的start_date和end_date必须是YYYYMMDD字符串不能带横杠。另外检查股票代码后缀上交所是.SH深交所是.SZ写错会直接返回空。TaoToken 调用报 401先确认 Key 有没有复制完整前后有没有多余空格。然后检查base_url是不是https://taotoken.net/api注意不要多加/v1或结尾斜杠。如果用的是环境变量确认变量名和代码里读的一致。OpenCLAW 插件不生效检查config.toml里[plugins.tushare]的path是不是相对路径正确以及enabled是否为true。重启网关后看日志有没有插件加载成功的提示。如果插件里抛异常OpenCLAW 默认会静默忽略建议先把log_level调到debug看详细输出。消息发出去没反应渠道配置里的app_id、app_secret要和开放平台后台一致。飞书机器人需要把 Webhook 地址填成ws://你的服务器IP:18789/feishu并且把机器人拉进群。钉钉类似注意安全设置里要加 IP 白名单或关键词。智能体回复太啰嗦或太短调settings.json里的system_prompt明确要求“用三段话”“不超过200字”“包含风险提示”。温度参数temperature建议设在 0.1 到 0.3 之间量化场景不需要太多创造性。6. 下一步把通道接起来链路验证通过后你可以按需扩展。想每天收盘后自动推日报就在settings.json的scheduler段配好 cronOpenCLAW 会按工作日 16:00 触发。想同时推到飞书和钉钉把broadcast.channels改成[feishu, dingtalk]即可。想做价格异动告警加一个 monitor 插件每 5 分钟拉一次实时行情涨跌幅超过阈值就推消息。模型侧如果要从 Claude 换到别的只改config.toml里[ai]段的model字段Key 和地址不用动。需要新建 Key 或查看用量去控制台操作接入细节查接入文档想先试试模型对话效果可以直接在模型对话页面发一条消息感受一下。长期跑编码或 Agent 任务的话Coding Plan 的额度更合适避免临时 Key 被限流。这套系统的价值不在于某个单点技术而在于把“查数据”这件事从打开软件、写脚本、等结果变成了在聊天窗口里发一句话。Tushare 负责数据准确性TaoToken 负责模型通道统一OpenCLAW 负责常驻和多渠道分发。三者各司其职你只需要维护一份配置。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Calibre GDS区域切图:calibredrv与SVRF实战及避坑指南 2026/9/29 4:37:53

Calibre GDS区域切图:calibredrv与SVRF实战及避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Unity Shader入门:渲染管线与纯色Shader实战 2026/9/29 4:37:53

Unity Shader入门:渲染管线与纯色Shader实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
VMware Workstation 安装 Ubuntu 24.04 虚拟机详解:从配置到 SSH 连接 2026/9/29 4:37:53

VMware Workstation 安装 Ubuntu 24.04 虚拟机详解:从配置到 SSH 连接

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Uniapp视频真机黑屏原因与跨端播放解决方案 2026/9/29 4:37:46

Uniapp视频真机黑屏原因与跨端播放解决方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
STM32开发必备:国内参考方案与资源渠道全攻略 2026/9/29 4:37:46

STM32开发必备:国内参考方案与资源渠道全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
PS5核心硬件深度解析:从定制SSD到Tempest Engine的体验革命 2026/9/29 4:37:40

PS5核心硬件深度解析:从定制SSD到Tempest Engine的体验革命

昨晚 Mark Cerny 那场分享,我全程看完了。作为 PS5 的首席系统架构师,他这场面向开发者和玩家的技术说明,信息量比我预想的要密集得多。整个分享没有什么发布会常见的炫酷特效和主持人热场,就是一个人拿着 PPT 和原型机&#xff0…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉