GNTA 的全名是 Genenta Science S.p.A.。「S.p.A.」是意大利的股份公司形式(società per azioni),注册地在米兰,办公地址 Via dell'Annunciata 31, 20121 Milan。CIK(SEC 给每家申报人的编号)是 1838716,委员会档案号 001-41115。
它在 SEC 的身份是外国私人发行人(Foreign Private Issuer,简称 FPI)。这个身份决定了三件事,你在 EDGAR 上看到的文件类型就是由它决定的:
| 美国本土公司 | FPI(如 GNTA) | 差别 |
|---|---|---|
| 10-K 年报 | 20-F 年报 | FPI 一年一次,截止期更宽 |
| 10-Q 季报 | 没有强制季报 | FPI 可自愿用 6-K 报半年度,信息频率更低 |
| 8-K 临时报告 | 6-K | 6-K 是「本国已公开就报给 SEC」,触发条件不同 |
| DEF 14A 委托书 | 无(走本国股东会规则) | 股东会信息要去公司网站或 6-K 附件找 |
为什么这对你重要:GNTA 一年只有一份 20-F 有完整财务与股本数据,其余全靠 6-K 碎片。所以要拼出「今天有多少股」,必须拿最近一份 20-F 打底,再用之后的每一份 6-K 逐笔加减——这就是第 04 步要教的台账法。
另外一个 FPI 特点:董事高管历来不用申报 Form 3/4。但 2025-12-18 生效的 Holding Foreign Insiders Accountable Act 改了这条,要求 FPI 的董事与高管自 2026-03-18 起申报 Form 3/4/5。所以你在 GNTA 的申报列表里会看到 2026 年 3 月突然冒出 6 份 Form 3、6 份 Form 4——那不是公司出事,是法律变了。
这一步的原件:20-F FY2025(封面与 Item 6.C) · 8-A12B 上市登记
打开它任意一份 6-K 的首页,会有这么一行勾选框:
Indicate by check mark whether the registrant files or will file annual reports under cover of Form 20-F or Form 40-F. Form 20-F ☒ Form 40-F ☐勾 20-F 的是一般 FPI,勾 40-F 的是加拿大 MJDS 公司。GNTA 每份 6-K 都勾 20-F。
另外 submissions JSON 里 "entityType" 字段 GNTA 是 "other","stateOfIncorporation" 是 "L6"——L6 是 SEC 的国家代码,代表意大利。这比读文件快。
注意:请求头里写你自己的联系方式(SEC 要求声明身份),但不要写别人的邮箱,也不要在公开脚本里留真实私人邮箱。
意大利公司的普通股(ordinary shares)在意大利登记结算,美国投资者不方便直接持有。解决办法是:一家美国银行(这里是 The Bank of New York)把普通股存管起来,在美国发行代表这些股的凭证,叫 ADS(American Depositary Share)。你在 Nasdaq 敲 GNTA 买到的就是 ADS。
第一个必查的数:1 份 ADS 代表几股普通股?这个比例每家公司不同,有 1:1、1:10、1:0.5 各种,算错这个数,后面所有人均数据全错。
GNTA 的答案在招股说明书里反复写着:
ADSs, each representing one (1) Ordinary Share所以 GNTA 是 1 份 ADS = 1 股普通股,最简单的情形。这意味着:ADS 的价格就可以直接当每股价格用,ADS 数量就是股数。本页后面所有「股」与「ADS」可以直接换算,不用乘系数。
还有一个容易忽略的点:ADS 的投票是通过存托行代为行使的。你持有 ADS,投票指示要通过券商传给存托行;没给指示的股份怎么处理由存托协议约定。这一点在第 07 步会变得很重要。
这一步的原件:424B5 2025-10-28(原句所在) · F-3 货架 · 8-A12B
| 词 | 英文 | 意思 | GNTA 的数 |
|---|---|---|---|
| 授权股 | authorized | 章程允许最多发这么多,是天花板,不是已经发了 | 59,700,000 |
| 已发行 | issued | 实际已经发出来的 | 48,216,858(算出) |
| 在外股 | outstanding | 已发行减去公司自己回购持有的库存股 | 48,216,858(算出) |
GNTA 目前没有库存股,所以「已发行」与「在外」相等。很多公司两者不同,回购多的公司差很大,算每股指标时要用在外股。
授权余量能告诉你什么:
意思是:公司不开股东会、不改章程,最多还能再发 1,148 万股。但这个数在 GNTA 身上已经不是真正的约束了——因为 2026-07-29 股东会又给了董事会一个五年内发行最多 120,000,000 股的授权。这就是为什么不能只看授权余量,还要看有没有额外授权。
一个重要的坑:授权为 unlimited(无上限)或无面值的公司,「授权余量 ÷ 在外股」这个比值毫无意义,不要报。GNTA 是无面值(no par value)但授权有具体数,所以余量可以算;但遇到章程写「无限授权」的公司,这一步直接跳过。
这一步的原件:20-F FY2025 资产负债表 · 6-K 2026-07-31(120,000,000 股授权)
SEC 有一个免费接口叫 companyfacts,把公司所有 XBRL 标签的历史值都给你。查授权股只要认一个标签名:us-gaap:CommonStockSharesAuthorized。
本席跑出来的结果:19 条事实,期末日从 2020-12-31 到 2025-12-31,出现在 5 份 20-F 与 4 份 6-K 里,数值全部是 59,700,000,无一例外。
这个方法的好处:不怕漏。手翻年报可能漏掉某一年,XBRL 是公司自己打的标签,一次取全。而且每条都带 accn(申报编号),可以立刻回原件核对。
这个方法的限制:XBRL 只覆盖公司实际打了标签的项目,而且只到最近一份带 XBRL 的申报为止。GNTA 的 6-K 多数不带 XBRL,所以 2026-05-29 那笔 24,625,838 股的发行在 companyfacts 里查不到——这就是为什么还需要第 04 步的台账法。
接口:data.sec.gov/api/xbrl/companyfacts/CIK0001838716.json;对应原件之一:20-F FY2025
做法只有三句话:找最近一份 20-F 拿到一个确定的起点;把之后每一份 6-K / 424B5 翻一遍,把每笔发行的股数记下来;加起来。
GNTA 的台账(每一行都有一手件):
| 日期 | 发生了什么 | 增量 | 累计 | 这个数从哪来 |
|---|---|---|---|---|
| 2021-12-31 | IPO 当年年末 | — | 18,216,858 | 20-F FY2021 封面 |
| 2023 全年 | 旧 ATM(Cantor)卖出 | +100 | 18,216,958 | 20-F FY2023 权益变动表 |
| 2024 全年 | 旧 ATM 续卖 | +72,908 | 18,289,866 | 20-F FY2024 权益变动表 |
| 2025-03 | 新 ATM(Virtu+Rodman)卖出 | +856,602 | 19,146,468 | 20-F FY2025 Note 1 |
| 2025-10-28 | 注册直销 4,285,715 份 ADS @ $3.50 | +4,285,715 | 23,432,183 | 6-K 2025-10-28 |
| 2026-01-28 | ATM 卖出 158,837 份 ADS | +158,837 | 23,591,020 | 20-F Note 19(明写这个总数) |
| 2026-05-29 | A.T.C. 收购对价发新股 | +24,625,838 | 48,216,858 | 6-K 2026-05-29(只写增量,没写总数) |
怎么知道自己没漏?做两个自洽检验。
两个检验都过,说明台账中间没有漏掉整块发行。这种交叉检验是台账法的核心——不做检验的台账等于猜。
最后一行必须标「算出」。48,216,858 是本席自己加出来的,至今没有任何一份 SEC 申报件写出 A.T.C. 发行之后的总股数。所以任何时候引用这个数,都要带上「算出」两个字,并且要说明:若 2026-05-29 之后另有零星发行而未被看到,真实数会更高。这不是谦虚,是让别人知道这个数能承受多少重量。
这一步的原件:20-F FY2025(Note 1 / Note 19 / 权益变动表) · 6-K 2025-10-28 · 6-K 2026-05-29 · 20-F FY2023 · 20-F FY2024
假设你在 2026-05-28 持有 1,000 股 GNTA。当天全公司 23,591,020 股,你占:
第二天公司为买 A.T.C. 发了 24,625,838 股新股给卖方。你手里还是 1,000 股,但分母变了:
这就是摊薄:你没卖任何股票,但你对公司的所有权份额少了一半。换来的是公司多了一家步枪厂(A.T.C. 100% 股权)。摊薄本身不是坏事——关键是换来的东西值不值那么多。这一页不做估值判断,只教你把摊薄算清楚。
换个角度算:公司用什么价格发的?
一个关键区别:前几笔是「拿股票换现金」,公司账上多了钱;这一笔是「拿股票换一家公司的股权」,公司账上没多现金,多了一项资产。所以不能用融资价的逻辑去比这个 €0.39——它是收购协议里双方约定的换股价。
这一步的原件:6-K 2026-05-29(€0.39 与总价) · 20-F Note 19(起点股数)
教科书说要把所有能变成股票的东西都加上,算「完全摊薄股数」。但实务上要看这些工具是实值还是价外。
20-F 自己也这么说:稀释性每股收益「不适用」,因为这些普通股等价物的影响是反稀释的(anti-dilutive)。
Diluted EPS was not relevant at December 31, 2025, 2024, or 2023, as the effect of ordinary share equivalents, in the form of 1.9 million stock options, and 23,502 underwriters' ordinary share warrants, would have been anti-dilutive.所以结论是:GNTA 现在的期权与权证不构成实质摊薄压力,量级只有 4% 且全部深度价外。真正的摊薄压力是两个:已经发生的 A.T.C. 那 51%,和还没动用的 120,000,000 股授权。把注意力放在后者,而不是纠结那 190 万期权。
股票要能卖,得同时过两类关:合同关(锁定协议)与法律关(证券法转售规则)。GNTA 身上最大的一道是合同关:
怎么算「解锁那天供给会变多少」:
这就是「翻倍日」与「过半日」的概念:可售股翻倍的那一天,和可售股首次超过总股本一半的那一天。GNTA 这两个日子是同一天(2029-05-29),因为它的解锁不是分批释放,而是 51% 同时到期。
别忘了还有认沽权。A.T.C. 卖方从发行一周年(2027-05-29)到三周年之间,如果任一季度前三个月的 VWAP 低于 €0.39 超过 30%(即低于 €0.273),可以按 €0.273 把股份卖回给公司。所以这 51% 的股份未必等到 2029 才动——它可能在 2027 年就以另一种方式离场(由公司或公司指定的第三方接走)。
这一步的原件:6-K 2026-05-29(锁定期、认沽权、认购权)
合同锁定到期之后,还有一道法律关。美国证券法规定:未经登记的股份(restricted securities)与关联人(affiliate,通常指董事、高管、控股股东)持有的股份,转售要走 Rule 144。
Rule 144 对关联人的主要约束:
所以 OSR 那 1,896,730 股,按 1% 路径每 3 个月最多卖 482,168 股,全部卖完需要 3.9 个三个月周期 ≈ 1.0 年——而且这是法律上限,不是市场能吸收的量。按第 10 步会算的实际日成交量,这个量根本卖不动。
教学重点:看到「某内部人持股 8%」时,不要想成「随时可能砸 8% 下来」。关联人受 144 限速,而且在 GNTA 这种日均四五万股的票上,真正的约束不是法律上限,是没人接。
GNTA 相关表述:20-F FY2025;Rule 144 条文本身请查 17 CFR 230.144(本页不引二手索引)。
正常情况下一股一票。GNTA 不是。2024-05-02 股东会修改章程第 9 条,引入「忠诚股」(loyalty share)机制:
关键条件:要享受这个待遇,股份必须登记在公司维护的「特别名册」(Special Register)上。而通过券商以街名(street name)持有 ADS 的普通投资者不在这个名册上,所以只有 1 票/股。
结果是这样的(数据来自 20-F 大股东表,2026-03-30):
| 持有人 | 股数 | 占股 | 票数 | 占票 |
|---|---|---|---|---|
| Paracchi(CEO) | 2,432,452 | 10.31% | 22,755,160 | 24.11% |
| OSR 医院 | 1,896,730 | 8.04% | 18,967,300 | 20.10% |
| Naldini(联创) | 1,386,145 | 5.88% | 12,783,667 | 13.54% |
自己验算一遍(这一步很重要,能验证你理解对了):
公众这边呢?
一句话:公众拿着 59% 的股份,只有约 15% 的话语权;三个长期股东(Paracchi、OSR、Naldini)拿着 24% 的股份,有约 58% 的话语权。看这只票的控制权,看股份百分比会得出完全错误的结论。
这一步的原件:6-K 2024-05-03(章程第 9/10/11 条原文) · 20-F FY2025 Item 7.A 大股东表 · SC 13D 2026-05-05(总票数 90,661,553)
2024-05-02 那次修订不只改了第 9 条。6-K 原文说:
Articles 10 and 11 of the Bylaws have been amended accordingly …, stating that the quorum provided for therein to submit the slates for the appointment of directors and Statutory Auditors shall be calculated based on the outstanding voting rights instead of the outstanding number of shares.翻成人话:提名董事与监事名单的门槛,从「按股数算」改成「按投票权算」。
为什么这很关键:假设提名门槛是 2.5%。
所以这一条把多重投票权的效果从「表决环节」延伸到了「提名环节」。这也解释了为什么 2026-06-29 的董事选举里,13D 集团(31.4% 投票权、23.0% 股份)能提出名单并拿到 1 个席位,而普通 ADS 持有人事实上无法自行提名。
原件:6-K 2024-05-03对手方是 Fondazione Enea Tech Biomedical(ETB),一家受意大利政府部门监管的私法基金会。工具叫「强制可转债」(MCB)。「强制」的意思是到期必须转成股票,不是持有人选择。
转股价怎么定(这是重点):
「没有下限」意味着什么?用数字感受一下。假设到期时这笔 €7.5 百万要按不同转股价转股(此处为便于教学,先忽略 29% 上限):
| 假设转股价 | €7.5M 能转出多少股 | 占今在外股(算出) |
|---|---|---|
| €5.00 | 1,500,000 | 3.1% |
| €2.00 | 3,750,000 | 7.8% |
| €1.00 | 7,500,000 | 15.6% |
| €0.70 | 10,714,285 | 22.2% |
| €0.35 | 21,428,571 | 44.4% |
看出来了吗:股价越低,同样的债转出越多股。这就是变量转股价的结构——它把价格下跌的风险转移给了老股东:跌得越多,老股东被摊薄得越狠。上限 $17.64 保护的是高价情形(防止转股价定太高、债权人拿太少股),对老股东毫无保护作用。
但 GNTA 这一笔有一道很硬的保护:29% 上限。原文:
in no event will the application of the Conversion Ratio result in the allotment of a number of Conversion Shares representing an interest in the Company's share capital on the Conversion Date in excess of 29%意思是:不管股价跌到多少,Enea 最多只能拿到转股日股本的 29%。按今天的股本算,上限约 13,982,888 股(算出)。加上转股股还要锁定两年,所以这一笔的摊薄是有天花板、且不会立刻变成卖压的。看可转债一定要找这个 blocker 条款——有没有它,风险差一个量级。
最后一个转折:公司正在起诉 ETB,请求法院判这份可转债协议无效并索赔,2026-01-27 在米兰法院提起。公司的理由是 ETB 在正式签署前修改了金额、分期与其他条款。公司已收到第一批 €7.5 百万。所以这笔债的摊薄不只是「未来事件」,它的法律效力本身还没定。
这一步的原件:6-K 2025-03-19 正文 · Exhibit 10.1 认购协议 · Exhibit 10.2 债券规则 · 20-F FY2025 风险因素与 Note 19
这是一张通用清单。拿 GNTA 的 MCB 当例子填一遍:
| 要找的条款 | 为什么重要 | GNTA MCB 的答案 |
|---|---|---|
| ① 行权价 / 转股价 | 决定能换多少股 | 变量:55% 市价均值 + 45% 独立估值,再打 6% 或 3% 折扣 |
| ② 是否可变价(重置 / 棘轮) | 股价跌会不会自动降价 | 是,随 90 天均价浮动;无下限 |
| ③ 价格上下限 | 风险的天花板与地板 | 上限 $17.64;无下限 |
| ④ 稀释保护 / 调整条款 | 拆并股、增发时怎么调 | 遇反拆或拆股按比例调整转股比例;遇非常交易可调整 |
| ⑤ blocker(持股上限) | 摊薄的硬天花板 | 转股所得不超过股本 29% |
| ⑥ 到期日 / 触发时点 | 什么时候会砸下来 | 2028-03-19;或提前(控制权变更、或 €50M 投资轮) |
| ⑦ 锁定与违约 | 转股后能不能立刻卖;什么情况下要还钱 | 转股股锁定 2 年;违约含ADS 退市、审计否定意见、>€1.5M 交叉违约等 |
怎么用这张表:②③⑤ 三条一起看,就能判断这笔融资对老股东有多危险。最危险的组合是「可变价 + 无下限 + 无 blocker」——那种结构下股价跌到哪,摊薄就到哪,没有底。GNTA 这一笔有 ②③ 的危险,但 ⑤ 的 29% 上限把它封住了,所以严重程度是「有限」而不是「无限」。
另一个提醒:不要只读 6-K 正文的摘要,一定要点开 Exhibit 10.x 读协议原文。GNTA 的 29% 上限、两年锁定、董事会观察员权、以及「遇反拆按比例调整」这几条,正文摘要里有一部分,完整条款在 Exhibit 10.2 的债券规则里。
货架登记(shelf registration):公司先向 SEC 登记一个总额度(GNTA 是 Form F-3,档案号 333-271901,2023-05-24 生效,总额 $100 百万),之后可以在需要时分批发行,不用每次重新登记。像先把货架搭好,随时上架卖。
ATM(at-the-market offering):在货架下面挂一个「按市价随时零售」的通道。公司委托销售代理在二级市场上像普通卖单一样一点点卖股票。GNTA 的 ATM 是 2024-04-26 与 Virtu Americas LLC 和 Rodman & Renshaw LLC 签的,额度 $29,696,999,佣金最高毛额 3.0%。
然后是最容易被忽略的一条:小额货架限制(baby shelf rule)。Form F-3 一般说明 I.B.5 规定:非关联人持股市值低于 $75.0 百万时,任何 12 个日历月内的公开一级发行不得超过非关联人持股市值的三分之一。
结论:ATM 名义上还剩 $26.4 百万,但小额货架规则把 12 个月内实际能卖的压到 $2.7 百万上下。名义额度与可用额度差了一个数量级。看到「ATM 还剩多少」时,一定要接着问「非关联人市值够不够 $75M」。
但这里有一处口径冲突,教学上正好用来演示「并列保留」:2026-01-27 的 424B5 明写公司「不再受 I.B.5 限制」,并据此把 ATM 额度上调到 $26,441,569;而 2026-04-01 的 20-F 仍用条件句描述该限制。两句不必然矛盾(I.B.5 按测算日判定,2025 年 10 月股价冲到 $10 时市值可能一度过线),但公司没有披露测算日与测算值。所以正确的做法是把两句都摆出来、把问题列进不确定项,而不是自己选一个当结论。
这一步的原件:F-3 货架 · EFFECT(F-3 生效通知) · 424B5 2024-04-26(ATM 设立) · 424B5 2026-01-27(修正案三) · 20-F FY2025 Note 1
算法很简单:可售股数 ÷ 每天成交量 = 需要多少个交易日。难点全在分子取什么、分母取什么——这两个口径不写清,数字就没有意义。
为什么要三档?因为均值会被一天的异常放量骗。本机遇过一个真实案例(TPET):某一天的成交量占了 20 日总量的 72.7%,只报含极值均量会把消化速度高估 3–6 倍。
现在算分子。两种分子都要给,因为它们回答不同的问题:
| 分子口径 | 股数 | 含极值均量 | 剔极值均量 | 中位数日量 |
|---|---|---|---|---|
| ① 只算新增供给:2026-05-29 之后新增的可售股(A.T.C. 股锁定、其后未见 ATM 发行) | 0 | 0.0 天 | 0.0 天 | 0.0 天 |
| ② 含在外全部可售:公众 ADS 盘 | 11,582,345 | 211 天 | 227 天 | 271 天 |
怎么读这张表:
一个必须避免的错误:不要把「消化天数」当成「股价会跌多久」的预测。它只是一个量级尺子:告诉你这只票的流动性能承受多大的供给。GNTA 日均四五万股、市值约 $34 百万,任何一笔百万股级别的卖单都没有对手盘——这是事实描述,不是预测。
这一步的原件:20-F FY2025(BNY 记录持股 13,960,661) · SC 13D(集团持 2,317,983 份 ADS) · 6-K 2026-05-29(锁定 36 个月);行情:Nasdaq historical API,2026-09-19 取
这一步很容易算错。存托行 BNY 名下的 13,960,661 股里,有一部分其实是内部人与 13D 集团持有的 ADS,他们受协议与 Rule 144 约束,不该算进「公众自由流通」。
如果不减会怎样:会把 13,960,661 当成自由流通,消化天数算成 273 天而不是 227 天,更要紧的是会得出「公众持股 59%」这种把内部人算进公众的错误结论。
另一个陷阱是日期。BNY 那个数是 2026-03-16 的,13D 那些数是 2026-03-19 的,而 A.T.C. 发行是 2026-05-29。所以严格说,这是「用 3 月的公众盘除以 9 月的总股本」。这样做的理由是:A.T.C. 发的是普通股且锁定,不进 ADS 池,所以公众 ADS 盘本身不受那笔影响。但这个假设必须写出来,而不是默默算过去。
所以反向并股本身不创造也不毁灭价值。那为什么要做?几乎总是为了满足交易所的最低股价要求。GNTA 的授权文件把目的写得很直白:
The reverse stock split is intended to assist the Company in maintaining compliance with Nasdaq's minimum bid price requirement.GNTA 的现状:授权了,但还没做。
换算演示(机械换算,不是预测,因为董事会还没决定):
| 项目 | 现状 | 1:10 | 1:20 |
|---|---|---|---|
| 在外股(算出) | 48,216,858 | 4,821,685 | 2,410,842 |
| 股价(2026-09-18 收) | $0.7012 | $7.01 | $14.02 |
| 公众 ADS 盘(算出) | 11,582,345 | 1,158,234 | 579,117 |
| 授权股 | 59,700,000 | 未见一手件,待查 | 未见一手件,待查 |
为什么授权股那一格故意留空?这是本页最重要的方法论提醒之一。反向并股会不会同时按比例缩小授权股,不是常量——同一家公司两次都可能不同。本机有过实例:GDC 2022 年做 1:30 时没有缩授权,2026 年做 1:250 时缩了。所以不许按「这家上次怎样」或「同类票怎样」类推,每一次都必须去找章程修正案 / 8-K Item 5.03 / 6-K 附件 / 股东会决议原件。GNTA 的反拆决议确实同时修订了章程第 6 条(股本条款),但修订后的全文属于意大利公司登记材料,不在 SEC 申报件里,所以正确写法是「未见一手件,待查」,而不是用 59,700,000 ÷ 10 填上去。
这一步的原件:6-K 2026-07-31(反拆授权决议) · 6-K 2026-06-17(会议通知与触发判据) · 6-K 2026-04-14(Nasdaq 缺陷函提到反拆)
反向并股会不会让可转债的持有人吃亏或占便宜?看协议里的调整条款。GNTA 的债券规则(Exhibit 10.2)原文:
makes a reverse stock split or split of shares, the Conversion Ratio will be proportionally modified with a consequent increase or decrease in the number of Compendium Shares翻译:反拆或拆股时,转股比例按比例调整,相应增减可转股份数量。
教学重点:有调整条款 = 反拆不改变可转债的相对摊薄比例。所以不能指望用反拆来「稀释掉」可转债。同理,GNTA MCB 的 29% 上限在反拆前后同样有效——上限是按股本比例写的,不是按绝对股数写的。
顺便:2026-07-29 那份增发授权里的 120,000,000 股,原文也括注「subject to adjustment in connection with any reverse stock split」,同样是按比例调整的写法。
Nasdaq Capital Market 要求上市证券维持最低买价(bid price)$1.00。连续 30 个营业日低于这个数,公司会收到缺陷函(deficiency letter),然后有 180 个日历日补救。补救标准是:连续 10 个营业日收盘买价回到 $1.00 以上。
GNTA 2026 年走了一个完整循环,正好当教材:
| 日期 | 发生了什么 | 本席用行情数据核对的结果 |
|---|---|---|
| 2026-04-10 | 收到缺陷函,引用 2026-02-26 至 04-09 期间 | 该区间 30 个交易日,收盘价低于 $1 者 30/30;区间收盘 $0.6252~$0.9907 ✓ 对得上 |
| — | 给 180 个日历日至 2026-10-07 补救 | — |
| 2026-06-15 | 恢复合规,引用 2026-06-01 至 06-12 连续 10 个营业日 ≥ $1 | 该区间 10 个交易日,收盘价 全部 ≥ $1($1.60~$2.20)✓ 对得上 |
| 2026-09-18 | 收盘 $0.7012 | 按收盘价口径已连续 12 个交易日低于 $1(起点 09-02;前一个 ≥$1 的是 09-01 收 $1.01) |
一个必须记住的口径差异:Nasdaq 判的是收盘买价(closing bid),而公开行情源(包括 Nasdaq 自己的 historical API)给的是最后成交价(close)。两者在流动性差的票上可以不同。所以正确说法是「按收盘价口径已连续 12 日低于 $1」,不能替 Nasdaq 断言它数到第几天,也不能推算新缺陷函的确切日期。若按收盘价口径延续,30 个交易日大约落在 2026 年 10 月中旬——仅作量级参考。
这一步的教学价值:公司的陈述是可以核对的。你拿到一份说「某期间股价低于某数」的公告,去把那段行情调出来数一遍,两次都对上,你就知道自己的数据对齐方式是正确的——这比盲目相信任何一方都可靠。
这一步的原件:6-K 2026-04-14(缺陷函) · 6-K 2026-06-16(恢复合规);行情:Nasdaq historical API,2026-09-19 取
最常见的错误做法是:取一个窗口,算「窗口最高价 ÷ 窗口最低价」,数字大就说「被拉过」。这是错的,因为它不看先后。
正确做法:强制时序。分别算两个数:
GNTA 近 60 个交易日的正确答案:
| 指标 | 数值 | 路径 |
|---|---|---|
| 最大拉升(先低后高) | 1.393x | $1.22(07-14)→ $1.70(07-22) |
| 最大下跌(先高后低) | −66.7% | $1.95(06-29)→ $0.65(09-18) |
| 最大单日成交量 | 262,741 | = 窗口中位数(55,136)的 4.8 倍;占窗口总量 6.0% |
结论:近 60 个交易日没有被拉。最大拉升只有 1.393 倍,没有放量特征(最大单日只占总量 6.0%),窗口的真实形状是持续下跌 66.7%。
但还有一层,必须说出来:把窗口往前推,就有一次很大的拉升。
所以「近 60 个交易日无 pump」这句话是真的,但它成立的部分原因是窗口边界刚好切在那一波后面。固定长度的回看窗口都有这种边界效应,做筛选时要额外看一眼窗口外面紧邻的那段。
那一波后来怎么了?
怎么读这三个量:拉升期间量放大 10 倍,现在又回到拉升前的水平,说明那一波进来的资金基本走完了,没有留下持续的换手,也没有形成新的价格平台。
这一步的原件:行情:Nasdaq historical API,2026-09-19 取(本席另用 2026-07-03 的同源快照对 43 个重叠交易日逐字段比对,43/43 一致);相关申报:6-K 2026-05-29 · 6-K 2026-06-16
只看收盘价会漏判,这是本机在 IOTR 与 ZJYL 两只票上吃过的教训。原因很简单:拉抬经常在盘中完成并在收盘前回落,收盘价看不出来。
拿 GNTA 自己的数据演示:
成交量同理:价格可以被很小的量推动(GNTA 日均才四五万股),所以判断「是不是被拉」必须同时看量。一次没有量的价格上涨,和一次伴随 60 倍量的上涨,性质完全不同。
还有「按交易日计」这一条:不能按日历日算。GNTA 全期 1,194 个交易日里有 84 天完全没有成交(Nasdaq 返回成交量 N/A,当日开高低收是同一个价)。这 84 天全部在 2026 年之前。如果按日历日算窗口,会把周末、假日、无成交日混进来,「30 个营业日」「60 个交易日」这类口径就全错了。
本席的处理:把这 84 天按成交量 0 记录并保留在序列里(不删行),同时在所有用到的窗口里说明它们是否落在窗口内。本页所有 2026 年的窗口都不含这 84 天。
第一步:拿到申报清单(官方总数)
这里有一个大坑:filings.recent 只是最近一批。申报很多的公司会分片,分片列在 filings.files[] 里,每片有自己的 filingCount,必须累加。GNTA 的 files[] 是空数组,所以 recent 的 113 条就是全量——但你必须先看一眼才能这么说。
第二步:下载某一份原件
第三步:查 XBRL 数字(授权股、在外股等)
第四步:全文检索(查某句话在不在)
三条纪律,比命令本身更重要:
这一步的原件:本页全部数字的原件入口:EDGAR · Genenta Science S.p.A. 申报总览 · 20-F FY2025 · 6-K 2026-05-29
这是一条容易踩、且后果隐蔽的技术纪律。两件事方向正好相反:
| 场景 | 怎么做 | 少做一步会怎样 |
|---|---|---|
| 取字段值 (值由标签名标识:受理时刻、accession、文件名) | 只还原实体,永不剥标签 | 剥掉标签就丢了字段名,只剩一串裸数字,无法判断它属于哪个字段。输出看起来像「这份文件没有这个字段」 |
| 散文检索 (这句话在不在) | 剥标签 → 还原实体 → 再剥一次,另加「只留字母数字」变体,几路取 OR | 少剥第二次,被当数据存进字段的标记还原后变成字面标签混进正文,把整句从中间劈开 |
本席在 GNTA 上的实测,用受理时刻(ACCEPTANCE-DATETIME)演示:
为什么这特别危险:这个 bug 在正文上吃掉的是片段(还能察觉),在受理时刻这种又短又被标签包住的字段上吃掉的是字段本身。下游看到的是「该件没有受理时刻」,像数据源本来就没有。字段越短越危险,因为它没有「剩下半句」来提示你出事了。
还有一个回落链的坑:取受理时刻的回落顺序是 index-headers → 提交件 .txt → API。第一层是转义源、第二层是原样 SGML 源。换源的同时必须换写法,否则第二层得 0,看起来正是「这件没有受理时刻」。另外 index-headers.html 里有两份报头:顶部 HTML 注释里是原样 SGML,<PRE> 段是同一报头的 HTML 转义渲染。脚本若只解析 <PRE> 段又不做实体还原,会得 0。
顺便一个副产品:本席核对 GNTA 86 份能取到受理时刻的申报件,发现 submissions API 给的受理时刻与报头系统性相差 +4 小时(63 份)或 +5 小时(23 份)。这不是坏值——API 报 UTC,报头报美东本地时,+4 是夏令时(EDT)、+5 是冬令时(EST)。知道这一点就不会把它当成数据错误去「修」。
「全库搜过,没有」这类话很容易说,但很难说对。本席报「GNTA 没有实施过反向并股」之前,先做了四件事,每件都可以被别人检查:
① 筛法闸门:先用自造的对照件测检索管线,两类阳性件都要过——词与词之间断标签、以及词内断标签。只拿前者过闸会误判自己合格。再加一份阴性件必须零命中。
② 分母三态分开报。「已扫 N」只能等于「解析出值」,不能用文件清单的长度。
为什么强调:except: continue、errors="ignore" 之后不校验长度、计数器在 read 之前自增——这些都会把分母做假。那不是漏扫几个文件,是「0 命中」这个结论失去了支撑。
③ 对照件的分母靠读原文定,不能让管线自己数(那是自证)。上面五个对照件都只有 80–211 字节,本席整份读过。连「在原始字节上查特征词」都不够——词内断标签会让特征词本身计为 0。
④ 命中不等于结论,一律回看原文。剥标签换空格会把相邻单元格粘成整句,财报里并不罕见。GNTA 的「reverse stock split」命中 6 份、「reverse split」命中 10 份,本席逐条回看原文,结果是:1 份是 IPO 时的明确否定句(「本次发行不会有反向并股」)、多份是风险因素里的假设性表述、1 份是可转债的反稀释调整条款、其余是 2026 年那次授权的通知/延期/决议。没有一条是已实施的反拆。
最后,否定式结论的写法:不许写「基底内 0 笔」,要写成范围明确的句子。本席在 GNTA 上的最终写法是:「官方 113 份(已核 filings.files[] 为空、故 113 即全量)中,主文件解析出值 113、解析失败 0、取件失败 0;全文检索 1,150 个文件解析出值、9 份 PDF 全部转出、0 份转不出;在这个已覆盖全量的范围内,2021-03-01 至 2026-09-11 共 0 笔已实施的反向并股」。
而在限流未恢复、只取到 102 份的那个阶段,正确写法不是上面这句,而是「已解析的 102 份内 0 笔,未取的 11 份是哪类件已列明」。两种写法的区别不是措辞,是结论能承受多少重量——基底不是全量却不写明,等于把一个残缺样本冒充全量。限流恢复后必须回头补齐并重新对账,然后才能把句子升级成全量版。
如果下面每一条你都能说出数字和它的出处,这一页就读完了:
最后一条尤其重要:能把「不知道」和「知道」分开说,比多知道几个数更有用。