跳到主要内容

2 篇博文 含有标签「动量」

查看所有标签

PV 数据包含了股票的价格和成交量信息,这些都是预测股价最核心、最基本的数据。你可以把它们想象成股票的“体温计”和“心跳监测仪”,反映了市场的最基本动态。


股票价格与成交量数据

  • 价格数据:image-20250825004125333
    • 开盘价(Open): 一天中第一笔交易的价格。
    • 收盘价(Close): 一天中最后一笔交易的价格。
    • 最高价(High): 一天中的最高成交价。
    • 最低价(Low): 一天中的最低成交价。
    • 这些价格点共同构成了我们熟悉的K线图(candlestick chart),直观地展示了股票一天的走势。
  • 成交量(Volume):
    • 成交量表示当天买卖的股票总数量。
    • 高成交量通常意味着市场关注度高、交易活跃。
    • 你可以使用 adv20(20 日平均成交量)这样的数据字段,或者用 ts_mean(volume, N) 来计算任意天数的平均成交量。
  • VWAP(成交量加权平均价):
    • 概念: VWAP 是一种更精确地衡量股票日均价的方法。它考虑到每一笔成交量,而不是简单地计算价格平均值。
    • 作用: 有时,收盘价可能只代表最后几笔交易的价格,如果这些交易量很小,就不能反映当天的真实价格水平。而 VWAP 将交易量大的价格赋予更高的权重,因此能更好地代表一天的平均价格。image-20250825004134208

两种核心 Alpha 思想

大多数使用 PV 数据的 Alpha 策略都基于以下两种核心思想:

  1. 动量(Momentum):
    • 核心理念: 强者恒强,弱者恒弱。
    • 理论: 认为过去表现好的股票(比如涨了几个月)未来会继续表现良好,而表现差的股票会继续下跌。
    • 时间周期: 动量效应通常在较长的时间周期(几个月或更久)内比较明显。
  2. 反转(Reversion):
    • 核心理念: 物极必反,回归平均。
    • 理论: 认为如果一只股票在短期内涨得太快,它可能会回调;如果跌得太深,它可能会反弹。
    • 时间周期: 反转效应通常在较短的时间周期(几天或几周)内比较明显。
    • 我们之前创建的 rank(-returns) 就是一个简单的反转 Alpha,因为它假设回报率会反转。

用 VWAP 尝试一个反转 Alpha

现在,让我们把所学的知识结合起来,尝试一个更有趣的反转策略。

  • 策略思想: 比较收盘价(close)*和*VWAP
    • 如果收盘价远高于 VWAP,说明股票在收盘前有大量买入,价格被拉高了。根据反转理论,这只股票明天可能会下跌。
    • 如果收盘价远低于 VWAP,说明股票在收盘前有大量卖出,价格被压低了。根据反转理论,这只股票明天可能会反弹。
  • 实现方式:
    • 我们可以使用 vwap/close 这个表达式。
    • vwap/close 的值大于 1 时,说明 VWAP 高于收盘价,模型会做多(看涨),期望价格反弹。
    • vwap/close 的值小于 1 时,说明 VWAP 低于收盘价,模型会做空(看跌),期望价格下跌。
  • 模拟结果与优化:
    • 当你模拟这个策略时,可能会发现**夏普比率(Sharpe)很高,但换手率(Turnover)**也很高,超出了可提交的标准(通常要求低于 70%)。
    • 这是因为这个策略每天都会可能产生大量的买卖信号。
    • 如何解决? 你可以利用我们之前学过的**衰减(Decay)**设置,或者使用 trade_when 等操作符,来减少交易频率,从而降低换手率。这是一个在实际操作中常见的优化挑战。
交易量化PV成交量VWAP动量反转阅读需 4 分钟

技术分析是一种预测股票未来价格走势的方法。1它基于一个核心假设:市场参与者的行为和心理模式会不断重复。技术分析师通过研究历史的价格和成交量数据,来寻找可以帮助他们预测未来的模式,就像气象学家通过观察过去的天气数据来预测未来的天气一样。2

一些常见且有代表性的技术指标包括:

  • RSI (相对强弱指数): 衡量价格上涨或下跌的力度。3

    布林带 (Bollinger Bands): 在移动平均线上下设置两条带状线,用于判断价格的波动范围。4

    MACD (移动平均线收敛/发散指标): 通过比较短期和长期移动平均线来判断价格趋势的变化。5

    使用 CLV 构建 Alpha 模型

CLV(收盘位置值) 是一个非常简单但有用的技术指标。它告诉你当天的收盘价在全天的价格范围内处于什么位置。这个指标能帮助你洞察在收盘前,市场情绪是看涨还是看跌。

CLV 的计算方法 🎯

CLV 的值介于 -1 到 1 之间。

公式: CLV=((收盘价−最低价)−(最高价−收盘价))/(最高价−最低价)

  • CLV 接近 1 时,意味着收盘价非常接近当天的最高价。这通常表示当天多头力量(买方)非常强劲,在收盘时仍然占据主导地位。
  • CLV 接近 -1 时,意味着收盘价非常接近当天的最低价。这通常表示当天空头力量(卖方)非常强劲,在收盘时仍然在打压价格。

CLV 的 Alpha 策略💡

因为 CLV 衡量的是一天的价格变化,它非常适合用来构建反转(Reversion) 策略,也就是我们之前讲过的“物极必反”思想。

一个常见的 CLV 反转策略是:

  • CLV 很低(接近 -1)时 → 意味着当天大跌,预测第二天会反弹,所以做多(买入)
  • CLV 很高(接近 1)时 → 意味着当天大涨,预测第二天会回调,所以做空(卖出)

结合 CLV 和成交量 🔍

单独使用 CLV 已经是一个不错的策略,但如果将它与**成交量(volume)**结合起来,信号会变得更有意义。例如,你可以假设一个高 CLV(接近 1)且成交量巨大的股票,其上涨趋势更为可信,而一个高 CLV 但成交量很小的股票则可能是一个虚假的信号。通过结合使用这两个指标,你可以更好地过滤掉噪声,找到更可靠的交易信号。

什么是动量效应?🔍

动量效应是金融市场中一个常见的现象:涨的股票倾向于继续涨,跌的股票倾向于继续跌。这就像一个正在奔跑的物体,它会因为惯性而继续向前冲。许多学术研究都证实了这个效应的存在。

动量效应的特点 ⏰

动量效应的强度会随着时间周期的不同而变化:

  • 短期(小于 1 个月): 在这个时间段内,反转效应更强。这意味着,涨得太快的股票可能会回调,跌得太狠的股票可能会反弹。
  • 中期(1 季度到 1 年): 在这个时间段内,传统的动量效应最为明显。这是最适合捕捉动量趋势的时间窗。
  • 长期(超过 12 个月): 动量效应会逐渐减弱。

如何在 BRAIN 中实现动量效应?👨‍💻

最简单的动量策略是计算股票在过去一段时间内的涨幅。例如,如果你想计算过去一年的涨幅,可以这样来做:

  • 公式: ts_delta(close, 250) / ts_delay(close, 250)
    • ts_delta(close, 250):计算 250 个交易日(大约一年)前到现在收盘价的变化量。
    • ts_delay(close, 250):获取 250 个交易日前的收盘价。
    • 整个公式计算的是过去一年的回报率。

然而,这个简单的公式可能不会产生好的 Alpha 结果。 为什么呢?因为过去一年的回报率包含了最近一个月内的短期回报率,而在这个短期内,反转效应可能比动量效应更强。这会导致你的模型信号变得混乱。

优化动量策略的方法 💫

为了更清晰地捕捉中期动量效应,你可以使用以下两种方法来优化你的 Alpha 模型:

  1. 应用延迟(Apply Delay):
    • 思想: 既然短期内反转效应很强,我们就把最近一个月的信号排除在外。
    • 实现: 你可以在计算完一年的回报率后,再施加一个延迟操作符。例如,ts_delay(ts_delta(close, 250) / ts_delay(close, 250), 10) 这个公式会计算过去一年(250 天)的回报率,但会忽略最近 10 天的数据。这能有效排除短期反转效应的干扰,让你更专注于中期动量。
  2. 统计上涨天数(Count Up-Days):
    • 思想: 动量不仅体现在最终的涨幅上,也体现在上涨天数的多少上。一只股票在一年内上涨的天数越多,说明其动量越强。
    • 实现: 你可以使用 ts_sum(returns > 0 ? 1 : 0, 250) 这个公式。
      • returns > 0:这是一个逻辑判断,如果当天的回报率大于 0(即股价上涨),结果为真。
      • ? 1 : 0:这是一个条件操作符。如果 returns > 0 为真,则返回 1;否则返回 0。
      • ts_sum(..., 250):对过去 250 个交易日的结果求和。
交易量化技术分析指标CLV动量反转阅读需 5 分钟