Alpha 101 contains 11 volatility factors and 12 intraday structure factors. They share the same raw inputs (open, high, low, close, vwap) and a similar economic intuition: extracting signals from price “shape” rather than price “direction.”

The overview introduced the framework. This article picks 5 classic factors for detailed breakdowns.

Alpha#1: Conditional Volatility with Regime Switching

$$\text{Alpha#1} = \text{rank}\Big(\text{ts_argmax}\big(\text{signedpower}(\text{returns} < 0\ ?\ \text{stddev}(\text{returns}, 20)\ :\ \text{close},\ 2\big),\ 5\big)\Big) - 0.5$$

The overview covered this factor’s structure. Here we focus on the signedpower amplification mechanism.

The conditional selection: on down days (negative returns), the signal source is the 20-day return standard deviation (volatility). On up days, the signal source is the closing price.

signedpower(..., 2) squares the input. Daily return volatility typically ranges from 0.01 to 0.05; squaring transforms this to 0.0001 to 0.0025, stretching the relative differences. Close prices in the tens to hundreds are similarly stretched.

The real function of signedpower is not to change the absolute scale (rank normalizes that away), but to spread out the distribution tails. Three stocks with volatilities 0.02, 0.03, 0.05 have linear ratios of 1:1.5:2.5. After squaring: 1:2.25:6.25. The high-volatility stock gets dramatically separated.

ts_argmax(..., 5) finds which day in the past 5-day window had the maximum signedpower value (0 = oldest, 4 = today). If the result is 4, today’s signal is the strongest in the window.

rank(...) - 0.5 normalizes cross-sectionally and centers around zero.

Full economic story: on down days, look at when the volatility extreme occurs. If a stock’s down-day volatility peaked today (ts_argmax = 4), panic is intensifying. The factor gives a positive value (long signal), betting on “peak panic marks the bottom.” On up days, the logic reverses with price extremes.

Why only a 5-day window? Volatility clustering is most pronounced at very short horizons: high volatility today predicts high volatility tomorrow, but the effect decays within a week. The 5-day window captures exactly this short-term clustering phenomenon.

Alpha#34: Short-vs-Long Volatility Ratio + Reversal

$$\text{Alpha#34} = \text{rank}\Big(2 - \text{rank}\big(\text{stddev}(\text{returns}, 2) \,/\, \text{stddev}(\text{returns}, 5)\big) - \text{rank}(\text{delta}(\text{close}, 1))\Big)$$

Two layers of rank nesting. Let’s unpack:

Inner term 1 rank(stddev(returns, 2) / stddev(returns, 5)): the cross-sectional rank of the ratio between 2-day and 5-day volatility. Ratio > 1 means short-term vol spiked above the 5-day baseline (new information arrival). Ratio < 1 means short-term vol is contracting.

Inner term 2 rank(delta(close, 1)): cross-sectional rank of today’s price change. Stocks that rose the most rank highest.

Outer layer rank(2 - A - B): with both A and B in [0, 1], the expression 2 - A - B ranges from 0 to 2. When both A and B are low, the outer rank is highest.

Strongest long signal: short-term volatility is low relative to 5-day vol (A low) + price declined today (B low).

Translation: a stock that fell today, but whose 2-day volatility didn’t spike relative to its 5-day average. In other words, a “calm decline” rather than a “panic sell-off.” Calm declines are more likely random fluctuations, with higher subsequent rebound probability compared to panic-driven drops.

Contrast with Alpha#1: #1 goes long when “panic reaches an extreme” (contrarian play), while #34 goes long during “calm declines” (the drop lacks conviction). The two factors read volatility signals in opposite ways. In a portfolio, they provide complementary signals.

Alpha#101: CLV (Close Location Value)

$$\text{Alpha#101} = \frac{\text{close} - \text{open}}{(\text{high} - \text{low}) + 0.001}$$

The last factor in Alpha 101, and the structurally simplest. Covered briefly in the overview; here we discuss its relationship to other intraday factors.

Numerator: intraday gain/loss (close minus open, keeping absolute values rather than percentage). Denominator: intraday range, with 0.001 added to prevent division by zero.

Output ranges roughly from -1 to +1. Approaching +1: the open was the low and close was the high (full single-direction rally). Approaching -1: open was the high and close was the low (full single-direction decline). Near 0: open and close were similar, intraday movement was noise.

CLV is a close relative of the Williams %R indicator. %R measures where the close sits within the high-low range. CLV measures how far the close traveled from the open within that range. %R captures the endpoint; CLV captures the journey from start to finish.

In practice, CLV is an extremely short-term signal: stocks with full-day rallies (CLV near +1) have a slightly better than 50% chance of continuing the next day. The edge is tiny and barely tradeable on its own. Its value lies in combination with other factors as an “intraday momentum confirmation” layer: when a medium-term momentum factor signals long, a positive CLV on the same day increases signal confidence.

Alpha#42: VWAP Deviation

$$\text{Alpha#42} = \frac{\text{rank}(\text{vwap} - \text{close})}{\text{rank}(\text{vwap} + \text{close})}$$

vwap - close: volume-weighted average price minus closing price. Positive value means vwap > close, indicating that most trading volume transacted at higher prices, with the close settling lower.

The economic interpretation depends on who is trading. VWAP is the benchmark for institutional execution. Many algorithmic trading systems target VWAP as their fill price. If vwap exceeds close, institutional traders’ average execution price was above where the market ultimately settled. Two possible readings:

  1. Institutions distributed (sold) at higher intraday prices, and selling pressure pushed the close down (bearish reading)
  2. Institutional buying pushed prices up during the day, but retail profit-taking at the close brought it back down (neutral to slightly bullish)

Alpha#42 implicitly takes interpretation 1: high rank(vwap - close) translates to a larger factor value. The denominator rank(vwap + close) is nearly constant (vwap and close are usually close), serving mainly as normalization.

As noted in the overview, this factor has a near-zero holding period and is a pure intraday signal. In T+1 markets (like China’s A-shares), it requires a one-day delay and loses some effectiveness.

Alpha#54: Nonlinear Intraday Structure Amplification

$$\text{Alpha#54} = \frac{-1 \times (\text{low} - \text{close}) \times \text{open}^5}{(\text{low} - \text{high}) \times \text{close}^5}$$

This is one of the most “aggressive” formulas in Alpha 101, due to the fifth power.

Simplify: low - close is typically negative (close usually exceeds low), multiplied by -1 makes it positive. low - high is always non-positive. So the overall sign is determined by open^5 / close^5 = (open/close)^5.

If open > close (intraday decline), (open/close)^5 > 1, amplifying the factor’s magnitude. If open < close (intraday gain), (open/close)^5 < 1, compressing it.

How powerful is the fifth-power amplification? If open/close = 1.02 (2% intraday decline), 1.02^5 ≈ 1.10, a 10% amplification. If open/close = 1.05 (5% decline), 1.05^5 ≈ 1.28, a 28% amplification. Larger declines trigger disproportionately stronger amplification: a nonlinear “the more it drops, the more sensitive it gets” design.

Economic reading: when the close is far below the open (large intraday decline), but the close is relatively far above the low ((low-close)/(low-high) near 1, meaning the close is near the intraday high, i.e., “it dropped but bounced back by close”), the long signal is amplified by the fifth power.

This factor captures intraday V-shaped reversals: a sharp decline after open followed by a recovery before close. The fifth power ensures only meaningful V-reversals (with a substantial initial decline) generate strong signals, while minor oscillations are suppressed.

An engineering caveat: fifth powers of prices overflow easily. If close = 500, close^5 = 3.125 × 10^13. In practice, compute (open/close)^5 rather than separately computing open^5 and close^5 and dividing.

Design Characteristics of Volatility and Intraday Factors

Volatility factors (#1, #18, #21, #34, #36, #57, #83, #86, #94, #96, #98) share the use of stddev or price ranges to measure volatility levels or changes, betting on volatility mean-reversion. Time windows concentrate in the 2-to-20-day range, capturing short-to-medium-term volatility dynamics.

Intraday structure factors (#5, #41, #42, #47, #54, #62, #64, #65, #66, #68, #73, #101) use only same-day or 1-2 day OHLCV data, extracting signals from candlestick “shape.” VWAP appears most frequently in this group, reflecting the authors’ focus on institutional trading behavior.

A notable difference: volatility factors mostly require cross-sectional rank to be comparable across stocks (absolute volatility varies enormously). Some intraday factors (#101, #54) use ratio forms that are already dimensionless, making rank optional.

For investors in T+1 markets (like China A-shares), intraday factors that depend on VWAP without any delay (#42, #47, #62) lose effectiveness when forced to apply signals with a one-day lag. Volatility factors are less affected by T+1 constraints since they already use 5-to-20-day windows.

The next and final article in this series: Liquidity, Composite Factors & Portfolio Construction.

Series Navigation

  1. Alpha 101 Full Guide: Factor Classification & Operator Reference
  2. Price-Volume Divergence Factors (32 factors)
  3. Momentum & Reversal Factors (23 factors)
  4. This article: Volatility & Intraday Structure Factors (23 factors)
  5. Liquidity, Composite Factors & Portfolio Construction (23 factors)