2026-10-07 · 原文发布日
用自然语言做 SEC 营收成长股初筛
Telegram 发一句话或每周定时触发后,GPT-5 把需求解析成排序与阈值,例如季度营收下限与增长上限;系统选取 XBRL 覆盖较稳的最近季度及去年同期,拉 SEC frames 营收与 ticker 映射,过滤排名,无结果就回“没找到”。入围者再取 Yahoo Finance 现价与1/5日涨跌,由 GPT-5 写多空各一句,Telegram 发简表和 TXT 明细,并记录到 Sheets。
原文要点
原工作流由 Telegram 消息或每周定时触发,用 GPT-5 把自然语言解析成排序与阈值(如季度营收下限、增长上限、条数)。自动选取 XBRL frames 覆盖较稳的最近季度及去年同期,从 SEC XBRL frames API 拉两期营收并下载 ticker 映射表解析 CIK;过滤排名,无结果就回“没找到”。入围者再从 Yahoo Finance 取现价与 1 日/5 日涨跌,由 GPT-5 为每家写多空各一句,Telegram 发简表加 TXT 明细附件,并把运行记录追加到 Google Sheets。模板免费。
这次做成什么
搭一条自然语言选股初筛练习流:Telegram 发一句话→GPT-5 解析阈值→SEC 两期营收联表过滤排名→Yahoo 补行情→GPT-5 写多空点评→Telegram 简表+TXT 附件→Sheets 留痕。
准备什么
- n8n 云端或自托管实例
- 用 @BotFather 创建的 Telegram 机器人及 n8n 凭据,先给机器人发过一条消息
- OpenAI 凭据且可用 gpt-5 模型(两个 GPT-5 节点都用)
- 合规的 SEC User-Agent 字符串(公司名+邮箱),SEC 要求标识调用方
- Google Sheets OAuth2 凭据和目标表格(用于运行日志)
具体怎么做
建机器人与配置
在 @BotFather 创建机器人拿 token,n8n 建 Telegram 凭据,用私人测试号给机器人发一条消息取得 chat ID。Config 节点填入 SEC User-Agent(如 MyResearch admin@example-test.com)、admin_chat_id(定时跑时结果发到该聊天)、默认阈值 min_quarterly_revenue_musd、max_growth_pct、default_count 和每周定时时间。
解析自然语言
Telegram Trigger 收到文本后先归一化(去首尾空格、空消息回用法提示),交给第一个 GPT-5 节点按提示词解析成 JSON:sort_order、min_quarterly_revenue_musd、max_growth_pct、count。解析失败或缺字段时回落到 Config 默认值,并把实际采用的阈值写进后续消息让用户知道。
SEC 取数与过滤
计算 XBRL frames 覆盖稳定的最近季度与去年同期(避开刚换季报期覆盖不全的窗口),分别请求 SEC XBRL frames 的公司概念营收数据,再下载 SEC 公司 ticker 映射表把 CIK 解析成可交易 ticker。两期数据按 CIK 关联,计算同比增速,剔除低于营收下限或高于增长上限的,按 sort_order 排名截取 count 条;结果为空时直接给 Telegram 回“没找到符合条件的公司”并终止。
行情、点评与输出
对入围 ticker 逐个从 Yahoo Finance 取现价、1 日与 5 日涨跌幅。第二个 GPT-5 节点为每家公司写一句看多理由和一句看空风险。格式化两条输出:Telegram 简表(排名、ticker、季度营收、增速、现价)和一份含全部数字的 TXT 明细,TXT 以文档形式上传 Telegram,最后向 Google Sheets 追加一行运行日志(时间、输入原文、采用阈值、命中数、入围 ticker 列表)。
可直接复制的材料
需求解析 GPT-5 提示词
本站独立编写的解析提示词,默认值是本示例设定,可在 Config 节点调整。
你是选股条件解析器。把用户的自然语言需求解析成 JSON,只输出 JSON:{"sort_order": "growth_desc|revenue_desc", "min_quarterly_revenue_musd": 数字, "max_growth_pct": 数字, "count": 整数}。规则:用户提到“营收至少/超过X亿”时 min_quarterly_revenue_musd=X*100;提到“增长不超过/低于X%”时 max_growth_pct=X;提到“前N个/找N家”时 count=N;未提及的字段输出 null,由系统填默认值(min_quarterly_revenue_musd=100,max_growth_pct=50,count=10,sort_order=growth_desc)。单位一律换算成百万美元。用户输入:{telegramText}多空点评 GPT-5 提示词
本站编写;点评仅供练习演示,不构成投资建议。
你是股票简评写手。基于以下数据为每家公司写两句话:一句看多理由(bull),一句看空风险(bear),各不超过50个中文字,只基于给定数字,不得编造未提供的业务信息。输出 JSON 数组:[{"ticker": "代码", "bull": "...", "bear": "..."}]。数据:{candidatesJson},字段含 ticker、季度营收(百万美元)、同比增速%、现价、1日涨跌%、5日涨跌%。运行日志表结构
本站设计的日志表方案;ticker 为虚构示例。
{
"sheetTab": "Run Log",
"columns": ["runAt", "inputText", "sort_order", "min_quarterly_revenue_musd", "max_growth_pct", "count", "quarterUsed", "hitCount", "tickers"],
"exampleRow": ["2026-10-07T08:00:00Z", "帮我找季度营收超5亿、增长低于30%的前5家", "growth_desc", 500, 30, 5, "2026Q2 vs 2025Q2", 5, "AAA,BBB,CCC,DDD,EEE"]
}输入与输出示例
本站虚构演示,ticker、数字与点评均为示例,未实际调用 SEC/Yahoo。
输入
Telegram 发送:“帮我找季度营收超5亿美元、同比增长不超过30%的前5家公司,按增速排序”。对应输出
GPT-5 解析 {"sort_order":"growth_desc","min_quarterly_revenue_musd":500,"max_growth_pct":30,"count":5}。筛选后 Telegram 简表:
1. AAA 营收820M 增速+22% 现价45.10(1日+0.8%/5日-1.2%)
2. BBB 营收610M 增速+18% 现价32.55(1日-0.3%/5日+2.1%)
并附 TXT 明细文档。AAA 点评:bull=增速22%且5日回调后估值压力释放;bear=营收规模尚小,增速持续性待验证。Run Log 追加一行记录本次阈值与命中数 5。做完检查这些
- 发空消息或无法解析的句子时,机器人回用法提示并采用默认阈值,不中断流程
- 阈值解析后,Telegram 回复中能看到实际采用的营收下限、增长上限和条数
- 筛选结果为空时收到“没找到”消息,流程不再请求 Yahoo Finance
- TXT 附件中的公司数、营收、增速与 Telegram 简表完全一致
- Run Log 每轮追加一行,inputText 与命中列表和当次发送内容对应
容易卡住的地方
- SEC 要求带公司名和邮箱的 User-Agent,缺了可能被限流或拒绝
- 季报切换初期 XBRL frames 覆盖不全,原文特意选覆盖较稳的季度,别硬取最新季度
- Yahoo Finance 为非官方接口,个别 ticker 可能取不到行情,要做空值兜底
- 两个 GPT-5 节点都需要 gpt-5 访问权限,OpenAI 按用量计费
- 结果是数据初筛与 AI 点评,不构成投资建议;营收口径依赖 XBRL 标注质量
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Screen US stocks by SEC revenue growth with GPT-5, Yahoo Finance and Telegram
- 原作者
- Friedrich Bremer
- 原始发布日期
- 2026-10-07T12:21:34.893Z
- 来源
- https://n8n.io/workflows/20631