跳转至


课程  因子投资  机器学习  Python  Poetry  ppw  tools  programming  Numpy  Pandas  pandas  算法  hdbscan  聚类  选股  Algo  minimum  numpy  回测  数据标准化  algo  FFT  模式识别  配对交易  GBDT  LightGBM  XGBoost  statistics  CDF  KS-Test  monte-carlo  VaR  过拟合  algorithms  machine learning  strategy  python  sklearn  pdf  概率  数学  面试题  量化交易  策略分类  风险管理  Info  interview  career  quant  self-learning  probability  portfolio  risk-management  强化学习  监督学习  AI量化  复权  数据  tushare  akshare  xgboost  PCA  wavelet  时序事件归因  SHAP  alog  paper  multimodal  speech  volatility  深度学习  归一化  BN  LN  WN  machine-learning  quant-trading  dropout  kaggle  boosting  决策树  泰勒展开  finance  model  github  analysis  deep-learning  tcn  time-series  causal-convolution  交易实战  避坑指南  Figures  Behavioral Economics  graduate  arma  garch  人物  职场  Quantopian  figure  Banz  金融行业  买方  卖方  story  量化传奇  rsi  zigzag  穹顶压力  因子  ESG  因子策略  投资  策略  pe  ORB  Xgboost  Alligator  Indicator  factor  alpha101  alpha  技术指标  wave  algorithm  pearson  spearman  套利  LOF  白银  因子分析  Alphalens  涨停板  herd-behaviour  momentum  因子评估  review  SMC  聪明钱  trade  history  indicators  zscore  波动率  lightgbm  顶背离  另类数据  freshman  resources  others  AI  DeepSeek  network  量子计算  金融交易  IBM  weekly  进化论  logic-factor  Agent Skills  Skills Marketplace  VS Code  Tushare  XtQuant  BaoStock  A股  量化  neutralization  basics  LLT  backtest  backtrader  研报  papers  UBL  金融阅读  免费资源  华尔街日报  WSJ  量化学习  quantlib  jupyter-notebook  scikit-learn  pypinyin  qmt  xtquant  blog  static-site  duckdb  工具  colors  free resources  barra  world quant  Alpha  openbb  llm  prompt  CANSLIM  Augment  arsenal  copilot  vscode  code  量化数据存储  hdf5  h5py  OpenClaw  Hermes Agent  Agent  cursor  augment  trae  Jupyter  jupysql  pyarrow  parquet  数据源  quantstats  几何收益  RDAgent  qlib  agent  实盘  clickhouse  polars  滑动窗口  openclaw  notebook  sqlite  sqlite-utils  fastlite  大数据  PyArrow  UV  Pydantic  Engineering  redis  remote-agent  AI-tools  Moonshot  回测,研报,tushare  dividend 

你在同花顺上的每一次点击,都被做成了做空信号

最后更新: 2026-04-25


你在同花顺上的每一次点击,都被做成了做空信号

你以为是自己在选股。实际上,你的每一次点击、每一次浏览、每一次加自选,都被同花顺记录了下来,脱敏后做成了因子,卖给了量化机构。

不是记录你这个人。记录的是"某个用户在某个时间对某只股票做了某个动作"。你的手机号、账号ID都被抹掉了,但你的行为模式被完整保留——你点了哪只股票、什么时候点的、点了多少次、有没有加自选、有没有看新闻。这些行为被汇总、清洗、标准化,最终变成了7个数值。每只股票,每天,7个数值。

然后这些数值被卖给量化私募、券商自营、资管机构。机构用这些数值判断一件事:散户是不是已经疯狂了?如果是,该减仓了。

你在免费使用APP。APP把你的行为,卖给了付费的人。这就是数字时代最基本的交易结构:用户用数据换服务,平台用数据换利润,机构用数据换超额收益。散户在这个链条里,同时扮演了三个角色——消费者、生产者、被收割者。


一、同花顺采集了你的哪7种行为

具体被做成因子的,有7项,每个都有内部代码:

数据项代码 名称
THS_INDEX_AUG1 A股点击量
THS_INDEX_AUG2 A股新闻点击量
THS_INDEX_AUG3 A股自选股
THS_INDEX_AUG4 A股新增自选股
THS_INDEX_AUG5 A股剔除自选股
THS_INDEX_AUG6 A股点击人数
THS_INDEX_AUG7 A股新闻点击人数

这7个指标覆盖了从"看到"(点击)到"关注"(加自选)再到"取消关注"(剔除自选)的完整链条。你的每一个动作,都在暴露你的意图。你以为这只是"看看行情",但在算法眼里,这是一个信号。


二、从原始行为到标准化因子

原始行为数据不能直接用。一只银行股的点击量和一只小盘股的点击量天然差几百倍,直接比没意义。所以要做一系列处理。

第一步:新算法脱敏。

传统热度排名只看"同一天不同股票之间的差异"——这叫截面比较。同花顺的新算法还保留了"同一只股票在不同日期之间的差异"——这叫时序比较。

写成公式就是:

\[\text{热度因子}_i^t = f\left( \text{Rank}_i^t, \Delta \text{Rank}_i^{t \to t-1}, \Delta \text{Rank}_i^{t \to t-5} \right)\]
  • \(\text{Rank}_i^t\):股票 \(i\) 在第 \(t\) 天的热度排名(截面)
  • \(\Delta \text{Rank}_i^{t \to t-1}\):相比昨天,排名变化了多少(短期时序)
  • \(\Delta \text{Rank}_i^{t \to t-5}\):相比五天前,排名变化了多少(中期时序)

一只股票从第100名冲到第10名,和一只一直排第1名的股票,在传统排名里都是"高热度"。但新算法能区分两者——前者是"突然变热",后者是"持续热"。突然变热包含的信息量更大,因为它暗示有某种催化因素正在扩散。

第二步:标准化处理。

不同市值、不同行业的股票,热度基数完全不同。如果不处理,因子会被市值绑架。所以要先做Z-score标准化:

\[\text{Factor}_{i,t} = \frac{\text{RawHeat}_{i,t} - \mu_{\text{sector}}}{\sigma_{\text{sector}}}\]

减去同行业均值,除以标准差。但这样还不够,因为热度天然和市值正相关——大市值股票被点的次数肯定多。所以还要做市值中性化,把热度对市值做回归,取残差:

\[\text{Factor}_{i,t}^{\text{pure}} = \text{Heat}_{i,t} - \left( \alpha + \beta \cdot \log(\text{MV}_{i,t}) \right)\]

这个残差,才是"纯热度"——剔除了市值干扰后的真实热度信号。

处理后的结果是:每只股票每天都有一个标准化的热度因子值,可以直接比较。


三、7个因子的真实表现

处理完之后,同花顺把7个热度因子在全A股上跑了一遍IC检验。

IC(Information Coefficient,信息系数)是量化因子最核心的评价指标,计算公式是:

\[\text{IC}_t = \text{Corr}\left( \text{Factor}_t, \text{Return}_{t+1} \right)\]

也就是今天的因子值,和下周股票收益率的相关系数。

结果:7个因子,IC值全部带负号。

因子代码 含义 IC均值 IC标准差
THS_INDEX_AUG6 A股点击人数 -0.0593 0.1022
THS_INDEX_AUG1 A股点击量 -0.0557 0.0975
THS_INDEX_AUG3 A股自选股 -0.0298 0.0951
THS_INDEX_AUG2 A股新闻点击量 -0.0257 0.0872
THS_INDEX_AUG4 A股新增自选股 -0.0256 0.0875
THS_INDEX_AUG7 A股新闻点击人数 -0.0237 0.0825
THS_INDEX_AUG5 A股剔除自选股 -0.0205 0.0866

IC = -0.0593 是什么水平?在量化因子领域,周频因子的IC绝对值通常在0.02-0.08之间。0.06已经算中等偏强的信号。而且这不是某一个因子偶尔负,是七个全部负

同花顺还做了10组分组回测:把全市场股票按热度因子值从高到低分成10组,看每组未来一周的平均收益。结果呈现出漂亮的单调性——第10组(热度最高)平均收益最低,第1组(热度最低)平均收益最高。从高到低,整整齐齐。

这组数据在同花顺的产品白皮书里写得清清楚楚。他们在向机构推销这份数据的时候,心里比谁都明白:买这份数据的人,大概率会拿它来做空你。IC=-0.0593不是秘密,是卖点。

还有一个细节:IC标准差是0.1022,比IC均值(0.0593)还大。这意味着热度因子不是"永远有效"的——大约有30%的时间,IC是正的。在那些周里,追热点反而是对的。但机构不会告诉你这个,因为他们卖的是"平均有效"的数据,不是"每次都有效"的咒语。


四、为什么点击人数比点击量更重要?

一个有意思的细节:点击人数的IC(-0.0593)强于点击量(-0.0557),而自选股(-0.0298)又弱于点击类因子。

为什么?

一只股票被100个人各点1次,和被10个人各点10次,在传统统计里都是"100次点击"。但前者意味着信息已经扩散到了100个不同的人,后者只是10个人的反复行为。

从信息扩散的角度,100个不同的人关注,比10个人反复关注,更能说明"这只股票正在进入大众视野"。而大众视野的终点,往往是信息饱和——所有人都知道了,没有新的买家了。

换一种说法:100个人各点1次,是"病毒式传播"——这只股票正在突破一个个小圈子,进入大众视野。10个人点10次,是"小圈子自嗨"——同一批人在反复确认自己的判断。股市里,病毒式传播的结局通常是崩溃,因为当第100个人都知道的时候,已经没有第101个人可以接盘了。

这里还有一个反直觉的点:你的"随意行为"比你的"慎重行为"更有预测力。点击(-0.0593)的IC绝对值是自选股(-0.0298)的两倍。随手点的,往往是被算法推送的、被情绪驱动的;加自选的,至少经过了"我觉得值得关注"的思考。但即使是思考过的决策,在统计意义上仍然是错的——只是错得没那么离谱。

这里触及了一个根本问题:人的注意力是有限的。在几千只股票里,散户只能关注到极少数——通常是那些已经涨了、已经上了新闻、已经在群里被讨论的。而当一只股票挤进了大众的有限注意力 slot,说明它的曝光度已经到达顶峰。顶峰之后,通常是回落。

另一个有趣的细节:剔除自选股的IC最弱(-0.0205)。

人们"删掉"一只股票的行为,对预测未来收益的负向影响最小。原因很简单:"删除"是滞后行为。人们通常在股票已经跌了之后才删,而不是在跌之前。删除是结果,不是原因。


五、这些数据卖给谁了?

这些处理后的热度因子,作为数据产品,向量化私募、券商自营、资管机构输出。

你在免费使用行情APP,APP把你的行为模式沉淀成了数据产品。

这里有一个不易察觉的交换:你以为自己在消费一个免费产品,实际上你在生产一个付费产品。你的每一次点击,都在为平台的数据库添砖加瓦;平台的每一次销售,都在把你的行为模式变现。

机构拿到这些数据后,用法很简单:当一只股票的热度因子值排名靠前时,意味着大量散户已经关注并可能买入。后续买盘力量趋于枯竭,价格回调的概率上升。当热度因子值排名靠后时,意味着散户尚未关注,如果基本面有改善,可能存在信息差机会。

换句话说,机构在用你的行为数据,来反向判断你的行为本身。你的每一次点击,都在帮助机构判断"散户是不是已经疯狂了"。

这里还有一个时间尺度的问题。热股榜是日频更新的,但热度因子的IC是周频的。机构每周调仓一次,根据上周的数据决定本周仓位。而你每天打开APP看热股榜,以为"今天最热的就是机会"——你们的时间尺度完全不同步。机构在下一盘周频的棋,你在看日频的盘。


六、热度数据本身在"做空",但换个用法就能"做多"

原始热度数据有三个问题:方向负向、单调性不稳定、时序波动大。

但同花顺没有放弃这些数据。他们用PPO强化学习算法(OpenAI 2017年提出的在线策略优化算法),把原始热度和其他数据(日频量价、市值、财务等)结合,训练出了5个增强因子。

每个增强因子都有明确的因子逻辑描述、IC值、分组表现:

RL_TSSJ_ALPHA1 - 逻辑:反映A股新增自选股数据,个股当天开收盘价,以及盘中VWAP关系 - IC:0.0319 - 多空超额收益:27.29%

RL_TSSJ_ALPHA2 - 逻辑:反映过去一段时间,A股自选股数据在时序上的分布关系 - IC:0.0267 - 多空超额收益:25.17%

RL_TSSJ_ALPHA3 - 逻辑:反映A股点击量数据,以及A股自选股数据在时序上的分布关系 - IC:0.0211 - 多空超额收益:22.40%

RL_TSSJ_ALPHA4 - 逻辑:反映个股市净率、市销率,以及A股点击量在时序上的波动关系 - IC:0.0318 - 多空超额收益:26.35%

RL_TSSJ_ALPHA5(表现最好的一个) - 逻辑:反映个股流通市值、融券余额、A股剔除自选股数据,以及A股点击量关系 - IC:0.0353 - 多空超额收益:27.87%

关键变化:原始热度IC=-0.0593,增强后IC=+0.0353。方向完全翻转。

但有一个细节很少有人注意:原始信号的绝对强度是0.0593,增强后只有0.0353。如果机构只是在简单"反向操作",那增强因子的IC应该是+0.0593左右。但实际情况是,信号变弱了。

这说明什么?机构不是在简单反向操作。他们把你的行为数据当作一个"噪音源",从中提取微弱的结构信号。散户的集体行为里,有-0.0593的"从众噪音",也有+0.0353的"反向信号"。强化学习的作用,就是放大后者、压制前者。你的数据本身没有那么高的价值——单独看,它只是"散户在关注什么"的负面信号。但与其他信息结合、用更复杂的模型处理后,它能提取出完全不同的有效信号。原始热度告诉机构"散户在关注什么",增强因子告诉机构"在考虑市值、财务、价格后,散户的关注行为还残留了多少预测力"。

为什么同花顺既卖原始因子,又卖增强因子?因为客户群体不同。原始因子卖给"初级量化机构"——他们只需要一个简单的反向信号,就可以搭建自己的策略。增强因子卖给"高级量化机构"——他们需要更复杂、更稳定的信号,愿意付更高的价格。同一批原料,做成不同档次的产品,卖给不同预算的客户。


七、7个原始因子,本质上测量的是同一件事

同花顺还做了一个相关性检验,结果很有意思:

原始热度因子之间高度相关。例如,A股点击量(AUG1)与A股点击人数(AUG6)的相关系数高达0.8433。这说明7个原始因子本质上在测量同一件事:你的注意力。同花顺把它们拆成7个SKU卖出去,不是因为它们真的有7种不同的预测力,而是因为"7个因子"听起来比"1个因子"更有价值。这是数据产品的商业逻辑——同一个原料,包装成不同的产品形态,卖给不同的客户。

增强因子与原始因子低相关。例如,RL_TSSJ_ALPHA5与AUG1的相关系数为-0.6042,与AUG6为-0.6042。这意味着强化学习不是简单地对原始数据做线性变换,而是挖掘出了全新的信息维度。

增强因子之间也相对独立。ALPHA2与ALPHA3的相关系数为0.4842,ALPHA1与ALPHA5为0.1261。

从投资组合的角度看,这是关键差异:高度相关的因子组合在一起没有分散效果,低相关的因子组合才能降低风险。 原始7个因子高度相关,放入模型中相当于重复计数;而5个增强因子低相关,组合使用时能真正起到分散作用。


八、写在最后

知道这件事,有什么用?

第一,热度是周频信号,不是日频咒语。 一只股票今天上了热榜,不代表明天跌。它可能再涨几天。但在大量样本下,高热度股票的期望收益为负。

第二,当你看到热股榜的时候,游戏可能已经进入尾声。 热股榜不是"机会榜",而是"散户情绪报告"。当情绪达到顶峰时,后续接盘力量趋于枯竭。

第三,"不追热点"本身就是一种超额收益。 量化基金有数据、有算力、有模型,但他们没有你的"不行动自由"。你可以什么都不买,关掉APP去干别的。而他们必须配置仓位、必须交易、必须跑模型。

第四,你的行为正在被定价。 不是交易你这个人,而是交易"散户群体在关注什么"这个信息。当你点击某只股票的时候,你不仅暴露了你的兴趣,还暴露了你的时机——而这个时机,在统计意义上往往是错的。

具体怎么用?记住一个简单标准:当一只股票上了热榜,同时成交量比过去20天均值放大3倍以上,这就是最危险的信号。热度告诉你"散户已经疯狂了",成交量告诉你"有人在出货"。两个信号叠加,退潮的概率极高。

你以为是你自己在决定看哪只股票。但实际上,APP的推荐算法、热股榜的排名、新闻的推送顺序,都在影响你的"选择"。而你的"选择"又被记录、被建模、被反向利用。

你不是在和市场博弈。你是在和一套专门设计来利用你本能的系统博弈。

而唯一能打破这个循环的,或许是下一次你在热股榜上看到那只"十倍股"时,能问自己一句:我是第几个知道的?如果你发现它已经在榜上了,那最好的操作,可能是什么都不做。


本文内容仅为行业观察与认知分享,不构成任何投资建议。