Quant Factors, Risk & Allocation
Kafal built-ins include statistical transformations, market impact cost modeling, and portfolio risk allocation utilities tailored for factor research and quantitative execution.
Statistical Factors & Transformations
The environment includes built-in functions for normalizing, ranking, and winsorizing feature series prior to model input or signal generation:
// Statistical Transformations & Factor Mining
z_val = zscore(close, 50)
norm_series = normalize(close, 100) // Bounded [0.0, 1.0]
std_series = standardize(close, 100)
// Cross-Sectional Helpers
percentile_rank = rank(close, ascending=true)
clipped_series = winsorize(close, z=3.0) // Outlier clipping
decile_bucket = decile(close, n=10) // Bucketed integer bins [0..9]Risk, Cost & Allocation Models
To bridge research and execution realism, Kafal provides built-ins for transaction cost modeling and volatility targeting:
// Risk, Volatility & Trade Cost Models
// 1. Dynamic ATR Trailing Stop Level
stop_level = atr_stop(close, ta.atr(high, low, close, 14), mult=2.0, direction="long")
// 2. Volatility Regime Classification (0=Low, 1=Medium, 2=High Volatility)
regime = vol_regime(ta.atr(high, low, close, 14), lookback=50)
// 3. Execution & Transaction Cost Modeling
slip = slippage_model(spread=0.02, vol=stdev(close, 20), notional=10000.0)
cost = total_trade_cost(price=close, slippage_price=0.01, impact_pct=0.05, commission_pct=0.0005)
// 4. Volatility Target Position Sizing
weight = vol_target_weight(percent_change(close), target_vol=0.10, lookback=50)