跳到主要内容

3 篇博文 含有标签「反转」

查看所有标签

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 分钟

  • 什么是Alpha?

    Alpha (阿尔法) 是一个衡量投资策略表现的重要指标。简单来说,它衡量的是你的投资策略跑赢或跑输大盘(比如股票市场指数)的程度。

    想像一下,你和你的朋友都投资了股票。你的朋友买的是一个大盘指数基金,而你则根据自己的研究买了一篮子股票。一年后,如果大盘指数上涨了10%,而你的股票组合上涨了15%,那么你比大盘多赚了5%。这多出来的5%就是你的 阿尔法

    一个正的阿尔法(Alpha > 0)表示你的策略表现优于市场。

    一个负的阿尔法(Alpha < 0)则表示你的策略表现逊于市场。

    所以,阿尔法可以帮助投资者评估一个基金经理或一个投资策略的真正价值。如果一个策略能持续产生正阿尔法,那就说明它具有独特的优势,而不是仅仅依赖于市场整体的涨跌。

    深入了解Alpha的性能指标

    在你模拟一个投资策略时,会看到一系列的结果,这些结果可以帮助你全面评估这个策略的好坏。下面是一些重要的指标,我会用最通俗的方式为你解释。

    -returns?

    在您提供的例子中,-returns 是一个非常重要的概念,它由两部分组成:

    1. returns (回报率数据): 这个数据字段记录了每只股票在每一天的回报率(即价格变化百分比)。例如,如果一只股票的 returns 是 0.745%,意味着它的价格上涨了 0.745%。
    2. - (负号运算符): 这个负号是一个操作符,它会把 returns 数据的值反转过来。
      • 如果一只股票昨天的回报率很高(比如 +0.745%),那么 -returns 的值就会变成一个很大的负数。
      • 如果一只股票昨天的回报率很低(比如 -0.613%),那么 -returns 的值就会变成一个很大的正数。

    所以,当你的 Alpha 模型使用 -returns 时,它的策略是与股票过去的回报率反向操作。换句话说,模型会预测那些昨天涨得多的股票今天会跌,而昨天跌得多的股票今天会涨。

    这种策略有一个专门的名称,叫做价格反转 (Price Reversion)。这种现象在金融市场中很常见,指的是资产价格在短期内通常会回归到平均水平。通过使用 -returns,你的 Alpha 模型就是利用这种价格反转的特性来盈利。

    PnL(盈亏)图

    image-20250824230035244

    PnL图表显示了你的投资策略在整个模拟周期内的累计收益和亏损情况。

    • 作用: 这是一个最直观的图表,让你一眼就能看出你的策略是赚钱还是亏钱,以及收益是如何随时间波动的。
    • 小贴士: 📈如果你看到PnL曲线持续向上,恭喜你,你的策略很可能赚钱;如果曲线起伏不定,甚至一路向下,那说明你的策略有问题。

    夏普比率 (Sharpe)

    夏普比率衡量的是你的策略在承担风险后获得的超额回报。它回答了一个核心问题:为了获得这些收益,你冒了多大的风险?

    • 计算: 它用你的超额回报(超出无风险利率的部分)除以你的回报波动性(标准差)。公式是: $$ 夏普比率=(年化回报率−无风险利率)/年化回报率的标准差 $$

    • 作用: 夏普比率越高越好。一个高夏普比率意味着你在获得高回报的同时,承担的风险相对较小。两个策略可能都赚了10%,但如果一个策略的净值波动很大,另一个很平稳,那么后者拥有更高的夏普比率,被认为是更好的策略。


    换手率 (Turnover)

    换手率衡量的是你的策略在日常交易中买卖资产的频率。

    • 计算: 它等于每天交易的金额除以你所持有的总资产价值。
    • 作用: 换手率越高,意味着你越频繁地买卖股票。这通常会带来更高的交易成本(佣金、滑点等)。一个过高的换手率可能会“吃掉”你的大部分利润。
    • 小贴士: 🎯在优化策略时,你需要权衡:高换手率可能会带来更高的回报,但也会增加交易成本。

    健壮性 (Fitness)

    健壮性是一个综合指标,它结合了收益、换手率和夏普比率,来给你的策略打一个综合分数。

    • 计算: $$ 健壮性 = 夏普比率∗ ∣回报率∣

      ​ /Max(换手率,0.125) $$

    • 作用: 高健壮性代表一个好的Alpha策略。当你对策略进行调整时,如果健壮性分数提高了,就说明你的改动是有效的。这个指标帮助你找到收益高、夏普比率高但换手率又不过高的“三好”策略。


    回报率 (Returns)

    回报率表示你的策略总共赚了多少钱。

    • 作用: 这是最直接的指标,告诉你你的策略有多赚钱。
    • 小贴士: 💡由于模拟中假设的是“多头-空头”组合(即同时做多和做空),你的总投资额是账户规模的一半。

    最大回撤 (Drawdown)

    最大回撤是指你的账户净值从最高点下跌到最低点的最大跌幅。

    • 作用: 即使是一个赚钱的策略,也可能会经历短期的大幅亏损。最大回撤衡量了策略在最坏情况下的亏损程度。一个过大的回撤可能会让投资者难以忍受, even though it is not defined.
交易量化Alpha绩效反转夏普比率阅读需 5 分钟

技术分析是一种预测股票未来价格走势的方法。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 分钟