跳到主要内容

什么是情绪数据?❤️

阅读需 5 分钟
wqz

什么是情绪数据?❤️

情绪数据顾名思义,就是用来量化大众对某只股票或整个市场的情绪。这些数据是通过分析各种网络平台(比如新闻、社交媒体、博客、论坛等)上的信息得来的。

通过自然语言处理 (NLP) 技术,平台可以分析这些文字内容是积极还是消极,从而为我们提供一个量化的情绪指标。这种大众情绪可以作为未来股价走势的一个领先指标

BRAIN 平台为你提供了**情绪(sentiment)社交媒体(social media)**等数据字段,它们都量化了人们在网络空间中对公司的看法。

基于成交量的情绪因子 🔊

将情绪数据与成交量数据结合起来,可以产生非常有效的信号。

  • 核心思想: 如果一只股票在网络上被过度提及(情绪热度很高),但它的成交量却没有相应增加,这可能预示着一些不寻常的事情。
  • 假设: 过度的关注(无论是正面的还是负面的)都可能是一个信号,预示着这只股票可能被高估或低估了。

ts_regression() 操作符 🧮

为了更好地分析情绪和成交量之间的关系,我们可以使用 ts_regression() 操作符。这个操作符可以帮助我们找出两个变量在一段时间内的关系。

  • 用途: 它可以帮你找到一个最佳的线性函数,来描述两个变量(比如成交量和情绪)之间的关系。
  • 输入: ts_regression(y, x, lookback_days, rettype=0)
    • y:因变量(你想要被解释的变量,比如情绪)。
    • x:自变量(用来解释 y 的变量,比如成交量)。
    • lookback_days:你想要回溯的天数。
    • rettype:返回值的类型(默认是 0,代表误差项)。

ts_regression() 最有用的地方在于它的误差项。误差项表示 y 的实际值和根据回归模型预测值之间的差距。如果误差项很大,说明情绪和成交量之间的关系出现了异常。

举例: 你可以用 ts_regression() 来预测每天的情绪,而自变量是每天的成交量。如果今天的实际情绪值远高于你的预测值(误差项为正),说明这只股票在网络上获得了异常高的关注。这可能就是一个有价值的交易信号。

通过这种方式,你可以用这个操作符来捕捉那些“异常”的情绪信号,并将其转化为你的 Alpha 策略。

什么是新闻数据?📰

新闻数据是 BRAIN 平台提供的一种特殊数据类型,它包含了各种影响市场的最新金融新闻。这些新闻可以来自不同的来源,比如:

  • 公司公告: 财报、投资、分红等。
  • 分析师报告: 评级、意见等。
  • 法律事件: 调查、破产等。

通过将这些新闻与股票价格结合,我们可以获得更全面的市场洞察。

美股交易时间 ⏰

你需要了解美股的三个交易时段,因为新闻通常在主交易时段之外发布:

  • 盘前(Pre session): 凌晨 4:00 - 早上 9:30
  • 主时段(Main session): 早上 9:30 - 下午 4:00
  • 盘后(Post session): 下午 4:00 - 晚上 8:00

向量数据字段 🔠

新闻数据是一种特殊的向量数据字段。与我们之前看到的矩阵数据(每天每只股票只有一个值)不同,向量数据可以每天为每只股票存储多个值。例如,如果一只股票在一天内发布了多条新闻,向量数据可以全部记录下来。

在使用这些数据时,你需要先用 vec_~ 系列操作符将向量数据聚合为单一的矩阵值,才能进行后续的运算。image-20250826155409248


Alpha 策略:结合动量与反转 💡

我们可以利用一个名为 nws12_afterhsz_sl 的数据字段来创建 Alpha。这个字段会告诉你,在每条新闻发布后,是做多还是做空更有利。

我们的 Alpha 思想是:动量-反转混合策略

  • 条件: 如果一只股票有更多“做多有利”的新闻事件,就采取动量策略(做多)。
  • 否则: 如果这类新闻较少,就采取反转策略(做空)。

这个策略的核心在于,它根据新闻情绪来决定是跟随趋势还是逆势而行。


如何实现?👨‍🏫

  1. 聚合新闻信号:
    • 由于 nws12_afterhsz_sl 是向量数据,你需要先用 vec_avg() 操作符将它聚合起来。vec_avg(nws12_afterhsz_sl) 会计算出当天所有新闻事件的平均情绪值,从而得到一个单一的矩阵值。
  2. 平滑信号:
    • 每天的新闻数据可能存在很多噪音,所以我们应该用时间序列操作符来平滑它。
    • ts_sumts_mean 都是不错的选择,它们可以计算过去一段时间内的新闻情绪总和或平均值,从而得到一个更清晰、更稳定的信号。
  3. 设置条件:
    • 使用 rank() 操作符对平滑后的数据进行排名,并设置一个阈值。
    • 例如,rank(X) > 0.5 这个条件可以将一半的股票归为“积极”,另一半归为“消极”。
  4. 构建最终的 Alpha:
    • 满足条件: 如果条件为真(即新闻情绪积极),你的 Alpha 应该采取动量策略。你可以直接使用一个常量 1 来表示做多。
    • 不满足条件: 如果条件为假,你的 Alpha 应该采取反转策略。这通常意味着做空。
    • 重要提示: 确保你的动量信号和反转信号的规模是平衡的,这样才能让你的策略按照预期工作。
分享这篇文章
Loading Comments...