什么是情绪数据?❤️
情绪数据顾名思义,就是用来量化大众对某只股票或整个市场的情绪。这些数据是通过分析各种网络平台(比如新闻、社交媒体、博客、论坛等)上的信息得来的。
通过自然语言处理 (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_~
系列操作符将向量数据聚合为单一的矩阵值,才能进行后续的运算。
Alpha 策略:结合动量与反转 💡
我们可以利用一个名为 nws12_afterhsz_sl
的数据字段来创建 Alpha。这个字段会告诉你,在每条新闻发布后,是做多还是做空更有利。
我们的 Alpha 思想是:动量-反转混合策略。
- 条件: 如果一只股票有更多“做多有利”的新闻事件,就采取动量策略(做多)。
- 否则: 如果这类新闻较少,就采取反转策略(做空)。
这个策略的核心在于,它根据新闻情绪来决定是跟随趋势还是逆势而行。
如何实现?👨🏫
- 聚合新闻信号:
- 由于
nws12_afterhsz_sl
是向量数据,你需要先用vec_avg()
操作符将它聚合起来。vec_avg(nws12_afterhsz_sl)
会计算出当天所有新闻事件的平均情绪值,从而得到一个单一的矩阵值。
- 由于
- 平滑信号:
- 每天的新闻数据可能存在很多噪音,所以我们应该用时间序列操作符来平滑它。
ts_sum
或ts_mean
都是不错的选 择,它们可以计算过去一段时间内的新闻情绪总和或平均值,从而得到一个更清晰、更稳定的信号。
- 设置条件:
- 使用
rank()
操作符对平滑后的数据进行排名,并设置一个阈值。 - 例如,
rank(X) > 0.5
这个条件可以将一半的股票归为“积极”,另一半归为“消极”。
- 使用
- 构建最终的 Alpha:
- 满足条件: 如果条件为真(即新闻情绪积极),你的 Alpha 应该采取动量策略。你可以直接使用一个常量
1
来表示做多。 - 不满足条件: 如果条件为假,你的 Alpha 应该采取反转策略。这通常意味着做空。
- 重要提示: 确保你的动量信号和反转信号的规模是平衡的,这样才能让你的策略按照预期工作。
- 满足条件: 如果条件为真(即新闻情绪积极),你的 Alpha 应该采取动量策略。你可以直接使用一个常量