Table of contents
Open Table of contents
为什么想做这个项目
最开始的想法比较简单:能不能把推特上的交易相关内容先保存下来,再尝试从中整理出一些比较明确的信息?
例如:
- 讨论的是哪个标的;
- 是准备买入、已经入场,还是准备卖出;
- 使用的是市价、限价还是突破条件;
- 有没有给出入场价、止损价和目标价;
- 后续有没有改价、撤销或更新计划。
这些事情人当然可以做,但如果关注的 KOL 多了,或者需要回看几天甚至更长时间的内容,手工整理就变得比较麻烦。
另外,推文里有很多内容并不是交易信号,可能只是市场观点、技术分析或者普通闲聊。如果不先做区分,最后保存下来的东西会混在一起,很难用于后续统计。
所以我想试试用大模型做第一轮整理,再把结果和行情、模拟成交放到同一个界面里观察。
IntentTrade 是什么
IntentTrade 是一个非商业的交易研究工具。它会读取指定 KOL 的推文,使用 LLM 判断内容类型,并尝试提取其中比较明确的交易意图。
目前项目主要围绕下面这条流程:
推文 → 意图解析 → 保存结构化信息 → 结合行情模拟 → 回看结果
解析出来的信息包括标的、交易方向、计划状态、入场方式,以及可能出现的入场、触发、止损和止盈价格。
如果推文包含和交易有关的图片,项目也可以在判断为相关内容后,再尝试识别图片中的 K 线或价格标注。图片不是每条推文都会下载和分析,这样可以减少不必要的处理。
对于同一个 KOL 后续发布的改价、成交确认、撤销或反向操作,项目会结合近期历史记录进行处理。这样一来,原来的计划不会只停留在一条孤立的推文上,而是可以放到同一个标的的事件时间线上观察。
为什么先做模拟跟单
这里的“跟单”目前指的是 paper 跟单,也就是满足价格条件后记录一笔模拟成交,而不是连接券商直接下单。
这样做主要有两个原因。
第一,推文里的自然语言并不总是明确的。模型可能理解错标的、方向或者价格条件,也可能把一句市场观点误认为交易操作。如果一开始就连接真实账户,风险太高。
第二,我更想先看看这套方法本身有没有研究价值。比如不同 KOL 的表达方式是否稳定,解析结果的误判和漏判有多少,模拟成交和实际价格之间又有多大差异。
在这些问题没有弄清楚之前,模拟记录比直接做实盘更合适。它至少可以让结果留下来,后面再回头检查当时的判断是否合理。
目前的界面
现在的界面主要分成几个部分。
总览
总览页会列出抓取到的原始推文、解析出来的交易方向、价格条件、执行状态和模型置信度。这样可以先快速看最近有哪些内容被识别成了交易相关信息。
原帖和解析结果
查看原帖时,可以同时看到对应的结构化结果。原文和解析结果放在一起,比较方便检查模型有没有理解错上下文。
标的时间线
时间线会把 K 线和相关事件放在一起,包括计划、做多或做空、模拟成交、计划调整以及一些普通笔记。
我比较看重这一部分,因为单独看一条推文很容易忽略前后关系。把这些事件放到时间线上之后,才比较容易回看一个交易计划是怎样形成和变化的。
当前已经实现的部分
项目目前已经可以完成一些基本工作:
- 从 mock 数据或不同推文数据源拉取 KOL 内容;
- 保存推文历史,即使源端之后删除,第一次归档的内容仍然保留;
- 对文本进行分类,区分交易操作、技术分析、持仓更新、市场观点和非交易内容;
- 提取标的、方向、价格条件和计划状态;
- 按需分析交易相关推文中的图片;
- 根据价格条件进行 paper 成交,并处理止损和止盈;
- 统计模拟结果,并在 K 线时间线上展示;
- 使用 Binance、OKX、yfinance 等来源获取部分加密资产和美股相关行情。
项目也支持通过 Agent 工具搜索和登记新的标的别名。不过行情源和标的匹配仍然可能遇到例外情况,不能把解析结果直接当成准确无误的交易指令。
还处于实验调试阶段
IntentTrade 目前仍然是一个开发中的实验项目,接口和实现都会继续调整。仓库里的 README 也明确写了这一点:它不是生产级交易系统,也不是投资建议工具。
现在比较适合用它来观察这些问题:
- 模型能否理解不同 KOL 的表达习惯;
- 交易内容和普通市场观点能否较好地区分;
- 图片中的价格和标注能否被正确识别;
- 改价、撤单和后续更新能否和之前的计划关联起来;
- paper 跟单的记录方式是否足够合理。
至于实盘经纪商下单,目前还没有实现,也没有把它当成近期必须完成的目标。先把信息抓取、意图整理和模拟复盘这几部分做稳定,可能更重要一些。
如何试用
如果只是想看看当前界面,可以直接打开:
项目源码在 GitHub:
https://github.com/luoyeETH/IntentTrade
本地运行的大致步骤如下:
git clone https://github.com/luoyeETH/IntentTrade.git
cd IntentTrade
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# 根据需要填写自己的 LLM 和推文数据源配置
仓库里也提供了 mock 数据和 demo 脚本,可以先离线查看流程,不必一开始就接入真实推文源。
项目采用 PolyForm Noncommercial License 1.0.0,允许个人学习、研究和其他非商业用途。商业使用需要另外联系授权。
结语
IntentTrade 并不是一个已经完成的产品,更像是我对一个具体问题的尝试:如何把推特上零散的交易信息保存下来,整理成可以回看的记录。
LLM 能不能真正理解这些交易意图,解析结果是否足够可靠,模拟跟单有没有统计价值,现在都还需要继续验证。
目前我会把它作为一个实验项目慢慢调试,先观察结果,再决定后面应该继续往哪个方向做。