ClinicalTrials.gov是什么,为什么算股票数据
ClinicalTrials.gov是美国国立卫生研究院运营的临床试验登记库。全球制药公司和医院在启动试验时都会在此登记。申请美国上市许可的试验依法必须登记,因此韩国制药公司的主要试验大多也会出现在这里。任何人都可以免费查询,并且有公开API。
登记项目中有一项叫预计完成日,是申办方自己填写的、该试验计划何时结束的日期。这里重要的不是它的准确度,而是它的存在本身。制药与生物科技股价波动最大的事件是试验结果公布,而这个字段意味着该事件大致何时发生是被提前公开的。
用市场数据做预测时永恒的难题是:既不知道会发生什么,也不知道何时发生。临床试验是这个难题被解掉一半的少见领域。你不知道事件的内容是成功还是失败,但大致知道它的时点。这种不对称是整条流水线的出发点。
为什么偏偏是60天
在结果公布当天买入已经晚了。公布是在价格开始消化之后才到来的。回溯77个历史试验事件可以看到,机构净买入与公布日收益的相关性在30天口径上很明显,而涨幅超过5%的个股中相当一部分随后回吐。所谓在传闻中买入、在新闻中卖出,在数据里直接可见。
所以观察区间定为结果公布前的两个月:D-60开始监控,D-30前后做判断,公布之前了结。最初版本把一整年的试验都放进候选池,结果提醒多到无法使用。抱怨出得太多的正是实际使用者也就是我自己,于是候选窗口从365天缩到60天。在代码里这只是一个常量。
这个常量由定时批处理和手动刷新共同引用,改一行两条路径同时生效。想看得更宽可以调大,但一调大就会带进大量低分个股。
筛选流水线是怎么跑的
每天凌晨批处理按顺序运行。第一,从ClinicalTrials.gov取回由韩国制药与生物科技公司发起的试验。第二,只保留预计完成日在7天到60天之间的。近于7天的视为已被消化而剔除。第三,把剩下的试验通过公司名与股票代码的映射表对应到个股。
第四,为每只个股接上最近60天的资金流数据:卖空余额比率、机构净买入、外资净买入。第五,把这段时间序列切成前半段与后半段,看它是否在加速。信号不是机构在买,而是后半段买得更多。
第六,用价格数据分别跑五套技术策略,各自给出做多、做空或中性,再汇总为共识。第七,把以上全部合成一个分数。最后把结果写入数据库并推送到Telegram。
六个维度的百分制在衡量什么
六个轴各自打0到100分,加权合成一个数字。权重由回测校准,但若校准样本不足30例,就丢弃校准值退回默认值。这是防过拟合的装置。
超过75分为强烈买入,超过60分为买入,45分以上为观望,30分以上为持有,再往下为回避。此外还加了一个条件:最高等级的强烈买入,只有在至少三个实测结果支持时才给出。因为未经实测验证的强烈买入,其已实现收益平均为负。
坦率地说,市场维度目前半死不活。相对市场的超额收益数据尚未采集,因此以中性常数50代入。正因如此,当自动校准试图给这个死掉的维度分配大权重时,代码会拒绝。曾经有一次网格搜索给市场维度分了0.4的权重,给一个常数40%不是优化,是过拟合。
| 维度 | 权重 | 看什么 |
|---|---|---|
| 临床 | 25% | 试验期别、距完成日剩余天数、管线活跃度 |
| 资金流 | 25% | 机构与外资净买入和卖空余额的组合形态 |
| 回测 | 20% | 同等级与同技术共识组合的历史实测表现 |
| 技术 | 15% | 五套策略的多空共识 |
| 市场 | 10% | 相对市场的超额收益(未采集时固定为中性50) |
| 适应症 | 5% | 按疾病类别的溢价或折价 |
最强的信号,以及为什么把它的数字从画面上删掉
资金流形态被定义为十种具名组合。表现最好的是:机构买入在后半段加速,同时卖空比率保持在7%以下。历史上平均+8.43%,其中94.12%为正。另一端最差的是机构卖出叠加外资卖出,平均-6.63%,仅10%为正。
94%是个很有吸引力的数字。而这套系统不会在提醒里显示它。
理由很简单。那个94.12%来自17个案例,是16比17。十七例更接近轶事而非样本,条件稍有变动就会剧烈摇摆。把这样的数字当作这只个股的胜率来展示,那不是分析,是广告。这条原则以注释形式写在提醒格式化的代码里:组合常量是未经验证的回测值,不得作为预测暴露;只显示真正实测到的收益率;并在底部透明公开系统的累计成绩单。
所以每条提醒下方都附有实测成绩单。截至8月12日,已确认结果的推荐为15例,平均收益率-2.6%,正收益率27%。以纯多头计,期望值尚未转正。这是一条每天把自己的亏损记录报给自己看的提醒。
把数字做得好看很容易:挑一个有利的区间,不去扩大样本,把回测常量写得像业绩一样。难的是自己动手删掉好看的数字,把难堪的实测值放回那个位置。这条流水线最难的部分不是评分,而是这个决定。
8月12日的提醒里出现了什么,该怎么读
在2026年8月12日凌晨运行的批处理中,有四只个股通过了筛选。三星生物制剂以综合75.9分成为唯一达到买入等级的个股,处于三期且距预计完成日还有20天,同时满足黄金信号条件即买入及以上、三期、综合60分以上。其余三只为Ko Bio Labs 55.3分(观望)、大元制药50.9分(观望)、保宁37.1分(持有)。
不该把它读成荐股的理由,正是上一节的成绩单。这个分数说的不是这只个股会涨,而是这只个股在我设定的六个条件下得了这么多分。它是一套实测期望值仍为负的系统的输出,这一点必须一并读进去。
若问这个数字有什么用,我的回答是用来缩小范围。韩国上市的制药与生物科技公司有数百家,试验数量更多。每天早上把它缩到四只,至少让人有了可以细看的对象。之后的判断仍然由人做出。这套系统不下单。
想接收结果或自己动手做
每天早上产出的结果可以在Telegram公开频道t.me/ClinicalSignalKR原样查看。公司名称、等级、信号组合、试验期别与剩余天数、综合分数、技术共识,以及底部的实测成绩单,发送的正文与运营者收到的完全相同。不存在另行美化过的版本。
如果想自己做,所需材料全部是公开数据。试验日程来自ClinicalTrials.gov公开API。卖空余额与投资者类别买卖动向由韩国交易所公布。收盘价与成交量通过券商或公开行情API即可满足。也就是说不用付费数据也能开始。
如果只改一处构建顺序,我建议改这里:不要先做评分,先做记录实测结果的地方,也就是保存推荐时价格、了结时价格与已实现收益的字段。没有它,你将永远无法证伪自己的回测数字,那么无论做出什么,最终都会去相信那些好看的数。
