Jurik Composite Fractal Behavior (CFB)

Jurik Composite Fractal Behavior (CFB) is a multi-scale signal processing pipeline that measures how long price has been trending efficiently. Rather than evaluating velocity, overbought extremes, or trend direction, it acts as an objective stopwatch for market persistence by scanning price displacement against path length across a ladder of fractal depths. The resulting single integer metric tracks trend age in bars, providing a dynamic lookback parameter that self-tunes other indicators to the prevailing market regime.
HISTORICAL CONTEXT
Developed by Mark Jurik of Jurik Research, CFB was created to resolve the static lookback dilemma inherent in modern technical analysis. Traditional indicators rely on arbitrary fixed lookbacks (such as 14-period RSI or 20-period moving averages), which inevitably lag during cycle expansions or get whipsawed during consolidations.
Unlike standard momentum oscillators or volatility bands that gauge the speed or magnitude of price moves, CFB asks an entirely different structural question: how long has the market traveled in an efficient line? This implementation builds on the public reconstruction of Jurik’s algorithm, featuring an intentional enhancement: each depth’s efficiency is smoothed using the Jurik Moving Average (JMA) instead of a simple moving average (SMA). This eliminates significant phase delay and enables the composite to react to trend collapses bars ahead of traditional reconstructions, but makes this indicator very computationally intensive.
HOW IT WORKS
Stage 1: Multi-Scale Fractal Efficiency Ladder
The algorithm evaluates price displacement simultaneously across a fixed ladder of 14 fractal depths (spanning lengths 2 through 192). At each depth, it calculates an efficiency ratio: net price change divided by cumulative path length (weighted linearly so that recent bars exert greater influence). Both components update via running sums, maintaining strict O(1) computational complexity per bar. Pure straight-line movement yields an efficiency of 1.0, while random chop collapses toward zero.
Stage 2: JMA Smoothing and Dual Geometric Chains
Each depth's raw efficiency passes through an independent JMA smoother to eliminate transient noise without adding lag. The smoothed efficiencies are then allocated across two interleaved geometric chains that alternate between even and odd depth indices. Depths are evaluated from longest to shortest; each depth consumes weight proportional to its efficiency and passes the residual weight down to shorter horizons. Persistent trends concentrate weight at the longest depths, whereas choppy action cascades weight down to the shortest bricks.
Stage 3: Composite Synthesis and Adaptive Cascade Filtering
The engine computes a power-weighted composite across active depths. To ensure smooth transitions between discrete ladder rungs, the composite passes through a six-stage cascade of paired exponential moving averages featuring 1.5 / -0.5 lag-canceling combinations. The cascade's smoothing window dynamically contracts and expands based on the composite's own path length. The final output is truncated to an integer representing the effective trend duration.
INPUTS & PARAMETERS
Lengths: The ladder of fractal lookback horizons evaluated by the engine. Can be configured using Jurik's standard depth spans (24, 48, 96, 192). Default: 14-depth ladder (2 to 192).
Smooth: The lookback length for the JMA applied to each individual depth’s efficiency. Filters high-frequency chop out of the ladder. Default: 8.
Phase: Controls the lead/lag profile of the per-depth JMA smoothers (-100 to +100). Positive values increase responsiveness; negative values prioritize smoothness. Default: 0.
SmoothResult: Base period of the adaptive output cascade filter. Controls the smoothness of duration transitions. Setting this to 1 disables the output filter entirely. Default: 5.
HOW TO USE
Self-Tuning Indicator Period Modulator
CFB is designed primarily as an adaptive controller rather than a standalone trigger. Substitute CFB directly into the lookback parameter of standard indicators (e.g., RSI(CFB) or Stochastic(CFB)). In an extended, persistent trend, CFB automatically widens the calculation window to prevent premature reversal signals; during choppy consolidation, it collapses the window, maintaining rapid sensitivity.
Trend Duration and Exhaustion Timing
Plotting CFB directly shows the verified duration of the prevailing trend in bars. Readings that climb toward the maximum span (e.g., 80 to 160+) reveal mature, persistent trends approaching potential exhaustion, while a sudden collapse toward baseline signals structural regime breakdown.
Direction-Agnostic Complementarity
Because CFB measures path efficiency rather than direction, an explosive rally and an identical panic selloff register the exact same value. Pair CFB with directional indicators (such as RSX, MACD, or directional bias filters) to determine trade orientation, using CFB exclusively to manage lookback horizons, trailing stop widths, or trend persistence requirements.
LIMITATIONS
Direction Blindness: CFB tracks structural efficiency, not trend polarity. A parabolic bull run and a catastrophic market crash produce identical rising duration readings.
Extended Warmup Time: Due to the 192-bar depth ladder, per-depth JMA initialization, and the adaptive cascade filter, CFB requires up to 395 bars to reach its fully settled operational state (IsHot). Values before bar 192 remain pinned at 1.
Regime Discontinuities: Because weight shifts geometrically between discrete rungs of the depth ladder, the composite can make abrupt, stepped jumps when the dominant trend scale changes.
Computational Overhead: Updating 14 fractal depths, 14 parallel JMA filter instances, and an adaptive cascade filter on every bar makes CFB considerably more resource-intensive than basic single-line moving averages.
REFERENCES
Jurik, M. "Composite Fractal Behavior (CFB)." Jurik Research Technical Notes, 1999.
Jurik, M. "The Jurik Moving Average (JMA) & Adaptive Smoothing." Jurik Research, 2000.
Mladen. "JCFB Reference Implementation." Wealth-Lab Systems, 2007.
Loxx. "Jurik CFB Reconstruction for Pine Script." TradingView, 2021.
HISTORICAL CONTEXT
Developed by Mark Jurik of Jurik Research, CFB was created to resolve the static lookback dilemma inherent in modern technical analysis. Traditional indicators rely on arbitrary fixed lookbacks (such as 14-period RSI or 20-period moving averages), which inevitably lag during cycle expansions or get whipsawed during consolidations.
Unlike standard momentum oscillators or volatility bands that gauge the speed or magnitude of price moves, CFB asks an entirely different structural question: how long has the market traveled in an efficient line? This implementation builds on the public reconstruction of Jurik’s algorithm, featuring an intentional enhancement: each depth’s efficiency is smoothed using the Jurik Moving Average (JMA) instead of a simple moving average (SMA). This eliminates significant phase delay and enables the composite to react to trend collapses bars ahead of traditional reconstructions, but makes this indicator very computationally intensive.
HOW IT WORKS
Stage 1: Multi-Scale Fractal Efficiency Ladder
The algorithm evaluates price displacement simultaneously across a fixed ladder of 14 fractal depths (spanning lengths 2 through 192). At each depth, it calculates an efficiency ratio: net price change divided by cumulative path length (weighted linearly so that recent bars exert greater influence). Both components update via running sums, maintaining strict O(1) computational complexity per bar. Pure straight-line movement yields an efficiency of 1.0, while random chop collapses toward zero.
Stage 2: JMA Smoothing and Dual Geometric Chains
Each depth's raw efficiency passes through an independent JMA smoother to eliminate transient noise without adding lag. The smoothed efficiencies are then allocated across two interleaved geometric chains that alternate between even and odd depth indices. Depths are evaluated from longest to shortest; each depth consumes weight proportional to its efficiency and passes the residual weight down to shorter horizons. Persistent trends concentrate weight at the longest depths, whereas choppy action cascades weight down to the shortest bricks.
Stage 3: Composite Synthesis and Adaptive Cascade Filtering
The engine computes a power-weighted composite across active depths. To ensure smooth transitions between discrete ladder rungs, the composite passes through a six-stage cascade of paired exponential moving averages featuring 1.5 / -0.5 lag-canceling combinations. The cascade's smoothing window dynamically contracts and expands based on the composite's own path length. The final output is truncated to an integer representing the effective trend duration.
INPUTS & PARAMETERS
Lengths: The ladder of fractal lookback horizons evaluated by the engine. Can be configured using Jurik's standard depth spans (24, 48, 96, 192). Default: 14-depth ladder (2 to 192).
Smooth: The lookback length for the JMA applied to each individual depth’s efficiency. Filters high-frequency chop out of the ladder. Default: 8.
Phase: Controls the lead/lag profile of the per-depth JMA smoothers (-100 to +100). Positive values increase responsiveness; negative values prioritize smoothness. Default: 0.
SmoothResult: Base period of the adaptive output cascade filter. Controls the smoothness of duration transitions. Setting this to 1 disables the output filter entirely. Default: 5.
HOW TO USE
Self-Tuning Indicator Period Modulator
CFB is designed primarily as an adaptive controller rather than a standalone trigger. Substitute CFB directly into the lookback parameter of standard indicators (e.g., RSI(CFB) or Stochastic(CFB)). In an extended, persistent trend, CFB automatically widens the calculation window to prevent premature reversal signals; during choppy consolidation, it collapses the window, maintaining rapid sensitivity.
Trend Duration and Exhaustion Timing
Plotting CFB directly shows the verified duration of the prevailing trend in bars. Readings that climb toward the maximum span (e.g., 80 to 160+) reveal mature, persistent trends approaching potential exhaustion, while a sudden collapse toward baseline signals structural regime breakdown.
Direction-Agnostic Complementarity
Because CFB measures path efficiency rather than direction, an explosive rally and an identical panic selloff register the exact same value. Pair CFB with directional indicators (such as RSX, MACD, or directional bias filters) to determine trade orientation, using CFB exclusively to manage lookback horizons, trailing stop widths, or trend persistence requirements.
LIMITATIONS
Direction Blindness: CFB tracks structural efficiency, not trend polarity. A parabolic bull run and a catastrophic market crash produce identical rising duration readings.
Extended Warmup Time: Due to the 192-bar depth ladder, per-depth JMA initialization, and the adaptive cascade filter, CFB requires up to 395 bars to reach its fully settled operational state (IsHot). Values before bar 192 remain pinned at 1.
Regime Discontinuities: Because weight shifts geometrically between discrete rungs of the depth ladder, the composite can make abrupt, stepped jumps when the dominant trend scale changes.
Computational Overhead: Updating 14 fractal depths, 14 parallel JMA filter instances, and an adaptive cascade filter on every bar makes CFB considerably more resource-intensive than basic single-line moving averages.
REFERENCES
Jurik, M. "Composite Fractal Behavior (CFB)." Jurik Research Technical Notes, 1999.
Jurik, M. "The Jurik Moving Average (JMA) & Adaptive Smoothing." Jurik Research, 2000.
Mladen. "JCFB Reference Implementation." Wealth-Lab Systems, 2007.
Loxx. "Jurik CFB Reconstruction for Pine Script." TradingView, 2021.
Rigorous technical indicators for Pine Script 6 with O(1) streaming, defensible math, and proper initialization. Fully documented, implemented in C#, transcribed to Pine Script, and wrapped for Python.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.
Rigorous technical indicators for Pine Script 6 with O(1) streaming, defensible math, and proper initialization. Fully documented, implemented in C#, transcribed to Pine Script, and wrapped for Python.
면책사항
해당 정보와 게시물은 금융, 투자, 트레이딩 또는 기타 유형의 조언이나 권장 사항으로 간주되지 않으며, 트레이딩뷰에서 제공하거나 보증하는 것이 아닙니다. 자세한 내용은 이용 약관을 참조하세요.