Type/to search
2
Follow
484
Followers
从一个爆火的 X 博主出发,我做了一个实时追踪社媒信号的自动交易系统
Discussions
Created 2026-06-05 00:01:03  Updated 2026-06-11 13:54:38
 0
 156

img

最近 X 上有个人火了

如果你最近在刷 X(Twitter),可能已经见过这个账号:@aleabitoreddit,网名 Serenity

img

TA 的简介只有一行:前 Reddit WallStreetBets 知名交易员,AI/半导体供应链分析师,前 RISC-V 基金会成员,前 AI 研究科学家,现在专门交易"那些被忽视的瓶颈公司"。

听起来像是标准的 X 牛皮吹手简介?但数据说话:TA 2025 年 7 月才注册 X,到今年 5 月粉丝就涨到了 35 万以上,订阅人数直逼马斯克。

更让人侧目的是TA 的战绩。TA 自称年化收益率最高峰达到 +501%,目前稳定在 +122% 左右,公开点名了超过 38 个股票标的。有人专门做了一个"Serenity Tracker"网站跟踪TA 的持仓,发现TA 宣称的 3840% 年化收益率主要来自于提前布局 AI 和半导体供应链里不知名的小公司。

有人核查过吗?有。TA 在 Reddit 时代曾因提前推荐 $AXTI(从 12 美元涨到 70 美元)被 WallStreetBets 版主封禁,理由据称是"散户赚太多让版主不舒服"。这个细节倒是蛮有意思的。

当然,社媒上的收益截图永远要打折看。但单从选股能力来说,围绕TA 推荐标的的独立核查结论基本都是——确实很准。于是我就在想:能不能把 TA 的推文信号实时接入交易系统?

img

这类信息的价值在哪里

先说一个背景。

在 A 股,我们习惯看研报、盯主力资金、蹲消息面。但在美股和加密市场,X 上的 KOL 影响力有时候不亚于机构研报——尤其是那些在垂直领域确实有积累的人。

Serenity 的核心方法论叫做 "Chokepoint 理论":从高确定性的终端需求(AI 算力爆发)出发,逐层逆向拆解供应链,找出那些技术壁垒极高、供需严重错配的上游小公司。这些公司往往市值很小,机构没覆盖,但一旦需求爆发,弹性会非常大。

这个逻辑清晰,而且TA 是实名(虽然匿名)持续跟踪的,不是那种喊完就跑的短线博主。

类似的逻辑可以延伸到很多地方:

-- 马斯克在 X 上的一条推文能让 Dogecoin 在几分钟内暴涨
-- 币圈的大 V 喊单一个山寨币,往往是散户接盘的开始(这个反向用也行)
-- 某些传统金融圈的分析师,在 X 上披露持仓往往领先于公开报告

社媒信息本身就是一种 alpha,只是大多数人没有系统性地接入它。


但有个现实问题:我们买不了美股现货

Serenity 推荐的标的大多是美股,比如 NVDA、MRVL、AVGO、SIVE 这些。普通用户没有美股账户,或者不想走那条路,怎么办?

这里有一个思路:币安(Binance)的 TradFi 股票永续合约

币安上线了一批以美股股票为标的的永续合约,用 USDT 结算,支持做多做空,不需要美股账户,7×24 小时交易。目前覆盖了包括 NVDA、MRVL、AMD、AVGO、META、MSFT、AMZN、GOOGL 在内的几十个主流美股标的,而且还在持续扩充。

这意味着:Serenity 推荐了 MRVL,我不需要开美股账户,直接在币安上开 MRVL_USDT 永续合约的多单就行。

当然,这类合约和直接持有股票是有区别的——没有分红,只是价格跟踪,而且有资金费率成本。但对于短中期的方向性交易来说,足够用了。


系统的整体思路

img

想清楚这件事之后,我开始设计这个系统。

整体就三步:

① 实时获取 Serenity 的推文 ↓ ② 用 LLM 解析推文信号(看多哪个标的?置信度多高?) ↓ ③ 匹配币安 TradFi 合约,执行交易 + 风控

第一步是最关键的——怎么实时获取推文?

Twitter 官方 API 现在要收费,而且价格不便宜。有没有免费方案?

有:RSSHub。这是一个开源工具,可以把各种网站转成 RSS 订阅源,包括 Twitter 推文。配上自己账号的 Cookie,就能把任何用户的推文实时转成 RSS——本质上是用自己的账号去抓取页面,完全免费。


RSSHub 的部署

我把 RSSHub 部署在一台境外服务器上,这样不需要额外处理网络问题,服务器上装的是 Podman(CentOS 系统常见的容器运行时),一条命令搞定:

bash
podman run -d \ --name rsshub \ -p 1200:1200 \ -e NODE_ENV=production \ -e CACHE_TYPE=memory \ -e TWITTER_AUTH_TOKEN="你的auth_token" \ -e TWITTER_COOKIE="auth_token=你的auth_token; ct0=你的ct0" \ diygod/rsshub:latest

其中 auth_tokenct0 是 Twitter 账号的 Cookie,在浏览器开发者工具里能找到(F12 → Application → Cookies → x.com 下面)。

这两个值相当于账号的登录凭证,请只用小号操作,不要泄露。

验证一下:

bash
curl "http://localhost:1200/twitter/user/aleabitoreddit" | head -3

看到 <?xml 开头的 RSS 内容就成功了。之后策略里直接 HTTP 请求这个地址,就能拿到最新推文列表。


动态获取合约表

币安的 TradFi 合约在持续上新,所以合约表不能写死,每次启动和定时刷新:

python
def refresh_equity_contracts(): ms = exchange.GetMarkets() new_map = {} for key, market in ms.items(): info = market.get("Info", {}) or {} sub_type = info.get("underlyingSubType", []) # 筛选 TradFi EQUITY 永续合约 if ( ".swap" in key and "TradFi" in sub_type and info.get("underlyingType") == "EQUITY" ): ticker = key.replace("_USDT.swap", "") new_map[ticker] = key # {"NVDA": "NVDA_USDT.swap", ...} return new_map

这样新上线的合约会自动纳入,LLM 解析推文时也会把最新的合约列表传给它作为参考范围。


让 LLM 读懂 Serenity 的语言

这一步是整个系统最有意思的地方,也是最需要打磨的地方。

直接让 LLM 判断"这条推文看多还是看空"太粗糙了——Serenity 的表达方式很有特点,不了解 TA 的人会误判很多。

比如 TA 经常发这样的推文:

"Wow… new extremely transformative news got released today. Making a certain photonics company the effective upstream laser chokepoint for $NVDA NVLink fusion CPO ecosystem. Can anyone guess the name?"

这条推文本质上是在卖关子引流,下一条才是真正点名的看多推文。如果 LLM 不知道这个习惯,可能会把它判断成对 NVDA 的强看多信号——完全跑偏了。

所以 system prompt 里要把TA 的表达习惯明确写出来:

python
system_prompt = ( "你是一个专门解读Twitter用户「Serenity」推文的交易信号提取器。" "该用户是AI与半导体供应链分析师,你需要理解 TA 特有的表达习惯:\n" "1. TA 很少直接说「买入」,而是通过描述公司供应链地位、壁垒来暗示看多\n" "2. 强烈看多的关键词:「I personally think」「undervalued」「going much higher」" "「chokepoint」「structural」「thesis validated」「go brrr」「bullish」\n" "3. 看空关键词:「avoid」「overvalued」「nuking」「ban」「bearish」\n" "4. 提问式推文(「Can anyone guess?」「Does anyone know?」)" "是卖关子引流,本身不构成交易信号,direction 应为 neutral\n" "5. 宏观趋势描述若未点名具体标的态度,不构成信号\n" "只输出合法 JSON,不输出任何其他内容。" )

返回统一的 JSON 格式:

python
{ "tickers": ["MRVL", "LITE"], # 只含作者明确表态的标的,必须在合约列表里 "direction": "long", # long / short / neutral "confidence": 85, # 0-100,信号综合强度 "reason": "作者明确表示看多AI网络互联需求" }

置信度的判断标准:

  • 明确表态 + 有具体逻辑支撑:80-95
  • 描述正面事实但未明确表态:55-75
  • 提问/卖关子/互动类:10-40(此时 direction 强制 neutral)
  • 宏观描述无具体标的:30-50(tickers 返回空)

实际跑下来,对"引流推文"的识别准确率挺高,这类推文基本都被正确过滤掉了。


风控设计

信号有了,下单逻辑其实没那么复杂,关键是风控要稳。

仓位管理:
-- 单笔仓位:账户权益的 5%
-- 最大同时持仓:5 个标的
-- 杠杆:1x,不加杠杆

止损:
-- 硬止损:入场价亏损 5% 直接平仓,没有商量余地

止盈:没有固定止盈,只有回撤止盈

这个设计来自于 Serenity 的持仓风格——TA 的逻辑是等供需错配兑现,持仓周期往往比较长,用固定止盈会切掉很多利润。所以改成移动回撤止盈:

python
# 浮盈达到 8% → 启动移动追踪 # 实际回撤阈值 = max(30%, 峰值 × 35%) # 峰值越大,允许回撤越大 giveback_pct = max(30, peak * 0.35) drawdown = peak - pnl_pct if drawdown >= giveback_pct: # 执行平仓

举个例子感受一下:
-- 峰值 +20%,阈值 = max(30%, 7%) = 7%,回撤到 +13% 离场
-- 峰值 +80%,阈值 = max(30%, 28%) = 28%,回撤到 +52% 才离场

大赢家可以充分奔跑,小亏损快速止损——这个结构和 Serenity 自己的持仓风格是匹配的。


一个安全阀:先通知,再交易

策略默认是**"仅通知"模式**:有信号只打日志,不实际下单。等观察一段时间,确认 LLM 的判断符合自己的预期之后,再手动切换到"实际交易"模式。

仪表板有四张表:

内容
系统总览账户权益、模式、持仓数、操作按钮
推文统计强信号数(≥80%)/ 普通信号 / 跳过数 / 信号率
持仓明细入场价、浮盈、峰值、止盈状态、持仓时长
推文历史每条推文的标的、方向、置信度、信号类型

推文历史里有个"信号类型"列,会自动标注每条推文是"💎 强信号"还是"🎭 引流/提问",方便回头校对 LLM 的判断质量。

img


一点延伸思考

这套框架本质上是把特定信息源实时结构化并接入交易系统,Serenity 只是其中一个例子。只要有 RSS 或者可以抓取的数据源,理论上都可以接进来。RSSHub 支持的信息源已经超过几千个,不只是 Twitter。

当然,信号源的质量决定了整个系统的天花板。选一个乱喊单的人,系统再精妙也没用。Serenity 能用,是因为TA 有完整的分析框架,不是那种喊完就跑的短线博主。


最后说几句

整个系统搭下来,真正花时间的地方是两块:一是 RSSHub 的部署(境外服务器 + Cookie 配置),二是 LLM prompt 的调优(让它准确理解特定 KOL 的表达习惯)。

代码部分其实不算复杂,发明者平台的框架把很多底层的东西都封装好了,重点是想清楚业务逻辑。

建议新上手的朋友先跑一段时间通知模式,对着日志看 LLM 的判断有没有明显跑偏,确认稳定之后再切实盘。毕竟跟着社媒信号交易这件事本身就是在押注 KOL 的判断能力——仓位不要太重,分散一点,把止损守好。

策略代码和完整实现在评论区,欢迎交流。

策略代码: 社媒KOL信号跟踪_币安TradFi股票合约

Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)