TL;DR:对游戏、订阅类上市公司,App 内购与订阅收入是营收的直接构成,应用商店的下载/收入数据因此成为比财报频率更高的"现金流量表"。本文给出从数据获取、因子构建(同比 + 滚动 Z-score)、事件研究验证到 AI Agent 接入的完整工程路径,并讨论第三方预估数据的局限。所有第三方收入数字均为模型估算,不构成投资建议。
一、从一个热点说起:三层框架与它的盲区
2026 年 10 月,一条获得超过 160 万次浏览的推文把"Grok Bot + TradingView"推为最强 AI 交易配置,作者更早的一篇长文系统阐述了 AI 交易系统的三层基础设施:数据、算力、交易,核心论点是"AI 模型是飞行员,基础设施是飞机"——模型月月在换,基础设施才是留存的资产。
这个框架没有硬伤,"没有数据的聪明模型只是更有说服力的猜测"尤其准确。但把它落到工程视角,会发现一个问题:文章说的"数据层"默认指行情数据仓库,而行情数据是一个完全同质化的商品——无论你用彭博还是免费 API,OHLCV 一根不差;全世界的 RSI、MACD、均线,算出来的数值彼此一致。同质化数据的推论很直接:它不构成信息差,而不构成信息差的数据层,很难贡献超额收益。
所以真正值得工程化的问题在数据层的下一层:在所有人都有的行情数据之外,还有什么公开、高频、可验证映射到公司基本面的信号?这就是另类数据(Alternative Data)要回答的问题。
二、另类数据的共同范式:找现金流的"物理代理"
另类数据并非新概念,机构的实践已经持续了十几年,几个经典范式:
- 卫星影像:统计零售商停车场车流量,预判季度营收(Orbital Insight 等的代表场景);
- 网页价格采集:MIT 的 Billion Prices Project 用全网商品价格构建日频通胀指标;
- 信用卡面板:以聚合消费数据追踪门店级流水;
- 招聘数据:职位发布量的变化对应企业扩张与收缩。
这些案例的公共范式可以概括为一句话:寻找一个与上市公司现金流存在物理映射关系的高频公开信号。停车数量之于零售收入、货架价格之于营收,都是"采样"而非"相关性猜测"。
顺着这个范式看游戏与订阅类公司:它们的收入结构里,App 内购与订阅费占大头,财报逻辑本身就是"下载 → 活跃 → 付费转化"的漏斗。于是答案出现了——应用商店的下载量与收入数据,是这类公司现金流的直接日频采样。财报一季度发布一次,App 商店的收入曲线以天为单位滚动。
换个问答的方式表述会更直白——
问:财报发布前,市场对一家游戏公司本季业绩的预期从哪里来?
答:卖方模型的输入是滞后的渠道数据与公司指引;App 收入曲线记录的是每日真实付费行为。当其同比增速在季度内持续偏离一致预期时,"预期差"就出现了。
三、机构实践:这不是民间科学
应用数据进入投资流程已有多年历史。行业侧,Sensor Tower 在 2024 年完成对 data.ai(原 App Annie)的收购,机构订阅客户长期包含对冲基金与资管;2020 年 Robinhood 下载量暴增与散户开户潮的关联,当时即被媒体引用第三方 App 数据实时追踪;TikTok 禁令风波中竞品下载量的瞬时脉冲,同样被用来判断流量迁移。学术侧,近年有多篇实证研究检验应用使用与下载数据对公司业绩的预测力(写作时可于 SSRN / NBER 检索 “app usage firm performance” 等关键词补引)。
也就是说,“数 App” 是写进机构尽调清单的标准动作。问题从来不是有没有用,而是采集工程量:全球应用商店的榜单、收入预估、评论流散落在 170+ 个国家的不同榜单;社媒讨论躲在反爬协议后面;财报日历、公告、竞品动态分散在数百个站点。把这一切变成日频、干净、可直接进模型的数据集,才是散户与小团队面对的真实门槛。
四、数据获取的三条路径
工程上,拿到应用商店结构化数据有三条主流路径,成本与时效各不相同:
路径 A:免费接口与开源数据。苹果提供 iTunes RSS / Search API 可获取应用元数据、评分与部分榜单信息;国内 A 股场景下 AkShare、Tushare 等开源库覆盖行情与财报。但注意:官方 API 不提供收入数据,收入估算只能来自第三方模型,免费路径天然缺这一环。
路径 B:第三方数据集。一类是机构订阅(Sensor Tower、data.ai 等,年费万美元级);一类是新兴的数据集市场——以 AntsData 的 App Store 与 Google Play 数据集为例,产品页显示其覆盖 170+ 个国家、每月更新,包含下载榜单、收入榜单(含应用内购与订阅收入估算)、活跃榜单(DAU/MAU),评论、ASA、ASO、历史榜单等维度支持按国家与字段定制,交付为清洗后的结构化数据。这一路径的优势在于拿到的直接是"分析可用"的数据,劣势是更新频率以月为单位。
路径 C:托管采集 API。需要更高频率(日频/小时级)时,用采集 API 直接拉取应用页面与榜单。各家托管平台(AntsData、Bright Data 等)的核心价值是封装了反爬、代理轮换、验证码与 JS 渲染;以 AntsData 为例,其文档提供 cURL / Python / JavaScript 示例,标准端点平均响应低于 500ms,支持异步任务与回调,输出 JSON/CSV/Markdown,可经 Webhook 推送至 S3、Snowflake 等存储。当然也可以自建爬虫——Scrapy + 代理池 + 验证码方案成熟,只是维护成本随目标站点数量线性增长。
三条路径不互斥,常见的组合是:数据集做历史底仓(回测、季节性分析),采集 API 做日频增量(时效信号)。
以路径 C 为例,拉取单个应用的商店读数大致是这样(参照AntsData 采集接口;端点与字段名以各平台官方文档为准):
importosimportrequests API_KEY=os.environ["SCRAPE_API_KEY"]ENDPOINT="https://api.antsdata.com/v1/scrape"# 示例端点,以官方文档为准payload={"platform":"app_store",# app_store / google_play"target":"https://apps.apple.com/app/roblox/id431946152","fields":["app_name","category_rank","download_estimates","revenue_estimates","rating","reviews"],"format":"json",}resp=requests.post(ENDPOINT,json=payload,headers={"Authorization":f"Bearer{API_KEY}"},timeout=10)resp.raise_for_status()snapshot=resp.json()["data"]print(snapshot[0].keys())五、因子构建与验证
拿到日频收入序列后,因子构建是最小化的一步。两个基础读数:同比增速(消除星期效应用 364 天对齐)与滚动 Z-score(度量"异常"而非"高低"):
importpandasaspd app=pd.read_csv("app_revenue_daily.csv",parse_dates=["date"])# 日频收入(第三方预估口径)fin=pd.read_csv("earnings_calendar.csv",parse_dates=["report_date"])# 同比:shift(364) 对齐星期app["rev_yoy"]=app.groupby("app_id")["revenue"].transform(lambdas:s/s.shift(364)-1)# 90 日滚动 Z-scoreapp["rev_zscore"]=app.groupby("app_id")["rev_yoy"].transform(lambdas:(s-s.rolling(90).mean())/s.rolling(90).std())# 财报日前 30 日的因子读数window=app.merge(fin,on="app_id")window=window[(window["date"]<=window["report_date"])&(window["date"]>=window["report_date"]-pd.Timedelta(days=30))]signal=(window.groupby(["app_id","report_date"])["rev_zscore"].last().rename("app_factor_pre_earnings"))print(signal.sort_values(ascending=False).head(10))验证环节建议用事件研究法:统计历史上"财报前 30 日因子读数"与"实际业绩惊喜(Earnings Surprise,实际值超出一致预期的幅度)"的对应关系,分行业计算胜率与假信号率,并做分年度稳健性检验。两个工程要点:其一,因子在样本内好看毫无意义,跨年份、跨市场的复现才是标准;其二,构建"股票 ↔ App"映射表时宁可标的少而准——App 收入占比不高的公司,这个因子的信噪比会迅速恶化。
情绪信号可以作为补充维度:用采集 API 拉取社媒上围绕 ticker 的讨论(字段通常含帖子文本、互动指标、嵌套评论树),过一遍 LLM 打分即可得到日频情绪序列。App 收入回答"花了多少钱",情绪回答"为什么花"。
六、接入 AI Agent
如果交易研究已经跑在 Agent 工作流上(Claude、Cursor、n8n、LangChain 等),数据能力可以通过 MCP 协议接入,让 Agent 以工具调用的方式自主取数,而不是人工导出 CSV。各家数据平台陆续提供 MCP Server,配置模式基本一致(以 AntsData 为例,安装命令见其官方文档):
{"mcpServers":{"antsdata":{"command":"<见对应平台的官方文档>","env":{"API_KEY":"<your-api-key>"}}}}之后在 Agent 的系统提示里加一条职责即可,例如:"每日收盘后拉取映射表内 App 的排名与收入估算变动,环比偏离超过阈值时上报,作为独立信号源供交叉验证。“这一步的本质是把"人盯数据"变成"工具调用盯数据”——对个人团队来说,这是本轮 Agent 浪潮里最实际的收益之一。
七、局限与合规:四个必须知道的坑
其一,预估不等于确认。第三方 App 收入是模型估算值,与财报确认收入之间存在口径差与时滞,财报发布后的对账环节不可省略。
其二,覆盖有盲区。安卓第三方渠道与中国市场渠道服的覆盖通常弱于 App Store,涉及相关标的时失真风险更高,使用前应逐标的核对覆盖范围。
其三,下载量会骗人。买量投放能短期制造下载脉冲而付费率不动;看收入,别只看下载。
其四,合规边界。另类数据必须来自公开可得的聚合信息,避免接触任何重大非公开信息(MNPI);本文为方法论探讨,不构成投资建议。
结语
回到"飞行员与飞机"的比喻:AI 是飞行员,基础设施是飞机,另类数据是雷达。行情数据的同质化决定了信息差只能向数据层的下一层去找,而应用商店恰好是少数"公开、高频、与现金流直接映射"三性兼备的信号源。
当数据集、采集 API 与 MCP 把获取成本压到个人团队可承受的水平,剩下的门槛只有两个:映射表的严谨,和验证的纪律。
常见问题
问:第三方 App 收入估算数据是怎么来的?
答:主流方案以传感器数据( Sensor Tower 类)为基础,结合榜单排名、下载量、内购价格表与历史财报建立计费模型反推。它与公司确认收入存在口径差与时滞,适合做方向性信号,不适合做精确值使用。
问:免费途径能拿到收入数据吗?
答:拿不到。苹果与谷歌官方 API 只提供元数据、评分与部分榜单,收入口径只能来自第三方模型。免费路径可行的替代是"榜单排名 + 评论量"做弱代理,但信噪比明显更低。
问:如何验证这个因子是否有效?
答:事件研究法。以财报日为事件窗,统计因子读数与业绩惊喜的关联,分行业、分年度检验胜率与假信号率;样本外(留出最近一两年)复测不可省略。单凭一两次"猜中"不构成证据。
问:A 股公司适用这套方法吗?
答:有限适用。游戏公司(如以手游为主营的标的)映射相对直接,但国内安卓渠道数据覆盖弱、买量干扰强,需要额外核对渠道口径;非 App 收入占主导的公司不适用。
问:除了应用商店数据,还有哪些适合个人团队的另类数据源?
答:常见入门源包括:电商价格与评论(价格监控)、招聘数据、App 评分与评论趋势、社媒讨论量。选取标准仍是同一条:与目标公司现金流有可验证的映射关系,且公开可得。
相关资源
- App Store 与 Google Play 数据集(本文所述数据集产品页):https://antsdata.com/cn/datasets/app-store-google-play-datasets/
- Web Scraper API 文档入口:https://antsdata.com/products/web-scraper-api/
- MIT Billion Prices Project:http://www.thebillionpricesproject.com/
作者注:本文方法论部分首发于 AntsData 技术博客,数据与产品功能描述以官方文档为准。文中第三方收入数字均为公开渠道模型预估值,仅供参考,不构成投资建议。