Paper deep dive
Beyond Forecasting: Recasting Volatility Control as a Routing Problem
Hongji Pu, Leyang Zhou
Intelligence
Status: succeeded | Model: Gemma-4-26B-A4B | Prompt: intel-v1 | Confidence: 91%
Last extracted: 8/13/2026, 5:20:08 AM
Summary
The paper introduces VolRouter, a modular framework that reformulates volatility control as a state-conditioned routing problem over estimator-controller pairs. By separating market state inference, switch review, and pair selection, VolRouter dynamically selects the most appropriate risk control policy for current market conditions. Empirical evaluations on S&P 500, Multi-Asset, Bitcoin, and USDT demonstrate that VolRouter achieves superior risk-adjusted performance (higher Sharpe ratios, lower drawdowns and CVaR) compared to fixed-rule, regime-aware, and other adaptive baselines, particularly in volatile or changing market regimes.
Entities (15)
Relation Signals (14)
VolRouter → evaluatedon → S&P 500
confidence 95% · We evaluate VolRouter across S&P 500, Multi-Asset, Bitcoin, and USDT volatility-control settings.
VolRouter → evaluatedon → USDT
confidence 95% · We evaluate VolRouter across S&P 500, Multi-Asset, Bitcoin, and USDT volatility-control settings.
VolRouter → evaluatedon → Bitcoin
confidence 95% · We evaluate VolRouter across S&P 500, Multi-Asset, Bitcoin, and USDT volatility-control settings.
VolRouter → evaluatedon → Multi-Asset
confidence 95% · We evaluate VolRouter across S&P 500, Multi-Asset, Bitcoin, and USDT volatility-control settings.
VolRouter → improves → Sharpe Ratio
confidence 95% · VolRouter achieves the highest Sharpe ratio in three of four settings.
VolRouter → reduces → CVaR
confidence 95% · reducing maximum drawdown from 15.10% to 12.58% and daily CVaR from 1.76% to 1.32%.
VolRouter → reduces → Maximum Drawdown
confidence 95% · On S&P 500, it improves Sharpe from 0.952 for RV + Naive Scaling to 1.222 while reducing maximum drawdown from 15.10% to 12.58%
VolRouter → outperforms → Mixture-of-Experts
confidence 90% · Table 1 shows VolRouter Sharpe 1.222 vs Mixture-of-Experts 0.958 on S&P 500
Cypher Suggestions (0)
No Cypher suggestions yet.
Abstract
Abstract:Volatility control converts risk estimates into portfolio exposure, yet existing approaches often rely on a fixed volatility estimator or a pre-defined control rule that may not adapt to changing market conditions. We propose VolRouter, a modular framework that formulates volatility control as state-conditioned routing over estimator-controller pairs. VolRouter first summarizes market conditions into a control-relevant state profile and then performs routing through three stages: state inference, switch review, and pair selection. The Router can be implemented using rule-based, learnable, or LLM-based decision modules, while portfolio actions remain generated by predefined control policies. We evaluate VolRouter across S&P 500, Multi-Asset, Bitcoin, and USDT volatility-control settings. VolRouter achieves the highest Sharpe ratio in three of four settings. On S&P 500, it improves Sharpe from 0.952 for RV + Naive Scaling to 1.222 while reducing maximum drawdown from 15.10% to 12.58% and daily CVaR from 1.76% to 1.32%. On Multi-Asset, it improves Sharpe from 1.498 to 1.540 and reduces CVaR from 1.56% to 1.18%. Bitcoin shows similar improvements in risk-adjusted performance, while USDT provides a boundary case where simpler state-aware selectors remain competitive. Ablation and sensitivity analyses show that the improvement comes from relative policy evaluation and selective persistent switching rather than simply expanding the policy library. These results suggest that volatility control can be viewed as a policy-selection problem when risk management requirements vary across market states.
Tags
Links
- Source: https://arxiv.org/abs/2608.10375v1
- Canonical: https://arxiv.org/abs/2608.10375v1
Trouble viewing inline? Open PDF directly →
Full Text
109,254 characters extracted from source content.
Expand or collapse full text
Beyond Forecasting: Recasting Volatility Control as a Routing Problem Hongji Pu hongjip2@illinois.edu University of Illinois, Urbana-ChampaignUrbanaIllinoisUSA and Leyang Zhou leyangz3@illinois.edu University of Illinois, Urbana-ChampaignUrbanaIllinoisUSA (2026) Abstract. Volatility control converts risk estimates into portfolio exposure, yet many existing approaches rely on a fixed estimator or a pre-specified control rule across changing market conditions. We propose VolRouter, a modular framework that formulates volatility control as state-conditioned routing over estimator–controller pairs. VolRouter summarizes the current market environment into a control-relevant state profile and separates routing into state inference, switch review, and pair selection. The Router can be instantiated by rule-based, learnable, or LLM-based decision modules, while portfolio actions remain generated by predefined control policies.We evaluate VolRouter on S&P 500, Multi-Asset, Bitcoin, and USDT volatility-control settings. VolRouter achieves the highest Sharpe ratio in three of the four settings. On S&P 500, it increases Sharpe from 0.952 for RV + Naive Scaling to 1.222 while reducing maximum drawdown from 15.10% to 12.58% and daily CVaR from 1.76% to 1.32%. On Multi-Asset, it improves Sharpe from 1.498 to 1.540 and reduces CVaR from 1.56% to 1.18%. Bitcoin shows a similar improvement in risk-adjusted performance, whereas USDT provides a boundary case in which simpler state-aware selectors remain competitive. Ablations and sensitivity analyses further indicate that the gains depend on relative policy evaluation and selective, persistent switching rather than simply enlarging the policy library. Overall, the results support viewing volatility control as a policy-selection problem in settings where control requirements vary across market states. volatility targeting, routing, risk control, portfolio management †copyright: acmlicensed†journalyear: 2026†conference: ACM International Conference on AI in Finance; 2026; TBD†ccs: Computing methodologies Machine learning†ccs: Applied computing Economics 1. Introduction Volatility control is a central component of dynamic portfolio management (Markowitz, 1952; Fleming et al., 2001; Moreira and Muir, 2017; MSCI, 2021). Existing work often assumes that more accurate risk estimation leads to better position adjustment and, in turn, better investment performance (Fleming et al., 2001; Moreira and Muir, 2017). In real markets, this link is often unstable. The same increase in estimated volatility can call for very different responses across market states. At crash onset, rapid de-risking may be appropriate. During a noisy reversal, a smoother adjustment may be preferable. In a low-volatility regime, preserving exposure may matter more. Volatility control is therefore a decision problem about how to map risk signals to actions under the current market state. In practice, this mapping often involves discretionary design choices, and risk-management frameworks have long emphasized judgment beyond purely mechanical analytics (Longerstaey and Zangari, 1996; Almgren and Chriss, 2001). Once this process is made explicit as a layered pipeline of state understanding, policy selection, and control execution, the high-level controller becomes a system component that can be modeled directly. Under this view, a large language model can be studied as one possible high-level controller that coordinates, selects, and dispatches candidate control policies based on market context, risk characteristics, and portfolio objectives (Shen et al., 2023; Wu et al., 2024; Yao et al., 2023). Existing research mainly focuses on better risk forecasting or stronger single control rules. It does not usually treat the question of which policy should control under the current state as a problem in its own right. The first line of work is based on traditional time-series modeling and aims to improve volatility estimation. Common approaches use realized volatility (Barndorff-Nielsen and Shephard, 2002; Andersen et al., 2003), exponentially weighted moving averages (EWMA) (Longerstaey and Zangari, 1996), ARCH/GARCH-family models (Engle, 1982; Bollerslev, 1986; Nelson, 1991; Hansen and Lunde, 2005), downside volatility or semivariance (Barndorff-Nielsen et al., 2008; Wang and Yan, 2021), and implied-volatility-based measures such as the VIX (Whaley, 2009; Božović, 2024). The second line of work studies the effectiveness of specific volatility-management rules, such as target-volatility scaling (Moreira and Muir, 2017), index-level risk-control methodologies (MSCI, 2021; S&P Dow Jones Indices, 2025), VIX-based portfolio control (Božović, 2024), drawdown-sensitive dynamic control (Nystrup et al., 2019), or regime-aware allocation (Hamilton, 1989; Ang and Bekaert, 2002). These directions have produced important insights. Yet many methods still assume that, once a risk estimate is formed, the same pre-specified rule converts it directly into a position (Moreira and Muir, 2017; MSCI, 2021; S&P Dow Jones Indices, 2025). This assumption is restrictive because market states change quickly, and a fixed mapping from risk estimates to positions cannot capture the dynamics of real control decisions. Three-panel schematic comparing fixed-rule volatility control, regime-aware control, and VolRouter. VolRouter adds a state-profiling and policy-routing layer before execution. Figure 1. Comparison of three volatility-control paradigms. (a) Fixed-rule control uses one estimator–controller pair across states. (b) Regime-aware control adapts a fixed control design using state-dependent rules. (c) VolRouter makes policy selection explicit: it profiles the current state, reviews whether the active pair should be retained, and routes to a replacement pair when needed. The distinction is policy-pair routing rather than fixed-rule execution or adaptation within one controller. Estimator and controller labels in this schematic are illustrative and do not define experiment-specific candidate eligibility. This reveals a missing decision layer between risk estimation and portfolio action. The system must determine not only which control policy fits the current market state, but also whether the active policy should be replaced. Once this layer is explicit, volatility control becomes a state-dependent routing problem over estimator–controller pairs. We call the module responsible for this decision the Router. Because control is path-dependent, routing must account for noisy market states, recent policy performance, switching costs, and unnecessary policy changes (Nystrup et al., 2019; MSCI, 2021; S&P Dow Jones Indices, 2025). The key problem is therefore when to adapt and which policy should take control. To model this process, we reformulate volatility control as persistent, state-conditioned routing over a library of estimator–controller policies. Based on this view, we propose VolRouter. It summarizes the market into a control-relevant state profile and follows three stages: state inference, switch review, and pair selection. A replacement is selected only when switching is justified, after which the chosen estimator–controller pair produces the portfolio action. This separates market interpretation, policy selection, and execution while discouraging unnecessary switching. The Router may be rule-based, learnable, or LLM-based (Shen et al., 2023; Wu et al., 2024), while portfolio actions remain constrained to predefined policies. Empirically, VolRouter achieves the highest Sharpe ratio in three of four settings, with clear gains on S&P 500, Multi-Asset, and Bitcoin. The improvements primarily reflect better risk allocation rather than uniformly higher raw returns. USDT provides a boundary case where simpler state-aware selectors remain competitive. Ablations show that relative candidate evaluation, temporal state context, dynamic selection, and switching persistence are important, while sensitivity tests show that neither more frequent switching nor a larger policy library guarantees better performance. Together, the results suggest that routing is most valuable when control requirements genuinely differ across market states. Our contributions are threefold: A routing formulation of volatility control. We identify policy selection as an explicit layer between risk estimation and portfolio execution, shifting the objective from finding one universally best rule to selecting the appropriate control policy for the current state. A modular VolRouter framework. We propose VolRouter, which combines a heterogeneous policy library with state inference, switch review, and pair selection, and supports rule-based, learnable, and LLM-based Routers. Empirical characterization of when routing helps. Across equity, cross-asset, and digital-market settings, experiments, ablations, sensitivity analyses, and backbone comparisons show that routing improves risk-adjusted control when policy requirements vary across states, while simpler adaptive rules can suffice in more stable environments. 2. Related Work Traditional volatility control. Research on volatility control has largely followed two lines. The first improves volatility estimation using realized volatility, EWMA, ARCH/GARCH-family models, realized-volatility measures, downside risk measures, and implied-volatility-based signals (Longerstaey and Zangari, 1996; Engle, 1982; Bollerslev, 1986; Nelson, 1991; Barndorff-Nielsen and Shephard, 2002; Andersen et al., 2003; Hansen and Lunde, 2005; Wang and Yan, 2021; Whaley, 2009). The second studies fixed control rules that map risk estimates to portfolio exposure, including volatility-managed portfolios, target-volatility scaling, VIX-based control, and drawdown-aware dynamic control (Fleming et al., 2001; Moreira and Muir, 2017; Božović, 2024; Nystrup et al., 2019; MSCI, 2021; S&P Dow Jones Indices, 2025). Our work differs from both lines by treating policy selection itself, rather than estimation or a single rule, as the central control problem. Portfolio regimes and execution frictions. Classical portfolio theory links risk estimates to allocation, while later work highlights estimation error, regime shifts, and trading costs in dynamic allocation and execution (Markowitz, 1952; Hamilton, 1989; Ang and Bekaert, 2002; DeMiguel et al., 2009; Almgren and Chriss, 2001). VolRouter follows this decision-oriented view, but focuses on selecting among reusable volatility-control policies rather than solving a full cross-sectional allocation problem. Routing architectures. Routing is a standard design pattern in computer science for selecting specialized experts conditioned on the input. This idea appears in mixture-of-experts, sparse conditional computation, and more recent model-routing systems and contextual bandits (Jacobs et al., 1991; Li et al., 2010; Shazeer et al., 2017; Fedus et al., 2022; Ong et al., 2025). These methods separate state representation from expert selection, which provides the architectural template for our approach. We adopt this perspective in finance by routing over estimator–controller pairs instead of neural or language-model experts. LLMs as routers. Recent LLM systems show that language models can act as high-level controllers that reason over context, choose tools or experts, and coordinate downstream execution (Yao et al., 2023; Shen et al., 2023; Wu et al., 2024). This view moves LLMs beyond pure prediction or text generation and positions them as decision modules for orchestration. Our work builds on this capability and studies an LLM as the Router for volatility-control policies. 3. Methodology 3.1. Preliminaries We consider a discrete-time investment setting indexed by t=1,…,Tt=1,…,T, following standard volatility-timing backtests (Fleming et al., 2001; Moreira and Muir, 2017). At date t, the system observes market information ℐtI_t and constructs a control-relevant state (1) st=ϕ(ℐt),s_t=φ(I_t), which summarizes volatility, trend, drawdown, and execution conditions. We define a library of K estimator–controller pairs, (2) =p1,…,pK,pk=(ek,ck).P=\p_1,…,p_K\, p_k=(e_k,c_k). Each estimator produces a risk object (3) ρ^t(k)=ek(ℐt), ρ_t^(k)=e_k(I_t), and its paired controller maps that object, the current state, and the previous portfolio action into a new action, (4) t(k)=ck(ρ^t(k),st,t−1).w_t^(k)=c_k\! ( ρ_t^(k),s_t,w_t-1 ). For single-asset settings, ρ^t(k) ρ_t^(k) is a scalar volatility estimate and tw_t reduces to a scalar exposure. For Multi-Asset, ρ^t(k) ρ_t^(k) may be a covariance estimate and tw_t is a vector of portfolio weights. Traditional volatility targeting keeps one pair fixed across market states (MSCI, 2021; S&P Dow Jones Indices, 2025); VolRouter instead allows the active pair to change when the current control requirement changes. 3.2. Routing Formulation We formulate volatility control as persistent state-dependent routing over P, analogous to expert selection in mixture-of-experts and model-routing systems (Jacobs et al., 1991; Shazeer et al., 2017; Ong et al., 2025). The Router separates three decisions: state inference, switch review, and pair selection. Let ztz_t denote the inferred state, kt−1k_t-1 the active pair, and t⊆C_t the feasible candidate set. We write (5) zt z_t =ℛθ(ℐtstate), =R_θ(I_t^state), (6) gt g_t =θ(zt,ℐtroute,kt−1)∈hold,switch, =G_θ\! (z_t,I_t^route,k_t-1 )∈\hold,switch\, (7) kt k_t =kt−1,gt=hold,θ(zt,ℐtroute,t∖kt−1),gt=switch. = casesk_t-1,&g_t=hold,\\ S_θ\! (z_t,I_t^route,C_t \k_t-1\ ),&g_t=switch. cases Thus, pair selection is invoked only when the switch-review layer decides that the current pair should not be retained. Persistence constraints such as minimum holding periods or hysteresis can further restrict admissible switches. The selected pair then determines the portfolio action, (8) ρ^t=ekt(ℐt),t=ckt(ρ^t,st,t−1). ρ_t=e_k_t(I_t), _t=c_k_t\! ( ρ_t,s_t,w_t-1 ). This yields the decision chain (9) ℐt→st→gt→kt→t,I_t→ s_t→ g_t→ k_t _t, which separates market interpretation, policy replacement, and execution. Reported portfolio returns charge transaction costs generated by changes in portfolio weights, (10) Rt+1net=t⊤t+1−λto∥t−t−1∥1,R_t+1^net=w_t r_t+1- _to _t-w_t-1 _1, with the corresponding cash leg included in the Multi-Asset implementation. Pair switching is controlled primarily through the hold/switch gate and persistence rules. A separate monetary penalty for changing pair identity is not imposed uniformly across all reported runs, so it is not included in Eq. (10); Appendix M gives the implementation-level accounting. Routing decisions use only completed historical transitions. For each candidate, the Router receives trailing diagnostics over (11) ℋt=t−H,…,t−1,H=63,H_t=\t-H,…,t-1\, H=63, including recent risk-adjusted performance, drawdown, volatility tracking, turnover, estimation diagnostics, and feasibility where available. No routing diagnostic at date t contains rt+1r_t+1 or later realized portfolio outcomes. Exact timing conventions are detailed in Appendix G. 3.3. LLM-Based Routing The Router can be instantiated by rules, learnable selectors, contextual bandits, or LLMs. For the LLM Router, numerical market-state and pair diagnostics are converted into structured records containing only decision-time information. The LLM is used for the same three routing stages: it returns a regime label for state inference, a hold/switch action for switch review, and, only after a switch decision, a valid pair identifier from the supplied candidate set. It does not predict returns or directly generate portfolio weights. All outputs are parsed as structured JSON and checked against the admissible labels and candidate set. Invalid or failed outputs are resolved by deterministic fallback logic rather than unconstrained generation. The exact prompt schemas, parsing procedure, and fallback behavior are given in Appendix E, with the full routing specification in Appendix A. VolRouter pipeline from market information to a state profile, switch review and pair selection, selected estimator and controller, and final portfolio action. Figure 2. Overview of VolRouter. Market information is summarized into a control-relevant state profile. The Router infers the current state, reviews whether the active estimator–controller pair should be held or replaced, and selects a replacement only when switching is justified. The selected pair then produces the risk estimate and portfolio action. For single-asset settings the risk object is a volatility estimate; for Multi-Asset it may be a covariance estimate. 4. Experimental Setup 4.1. Tasks and Datasets We evaluate VolRouter in four out-of-sample volatility-control settings covering substantially different risk environments. The two primary benchmarks are S&P 500, which evaluates single-asset volatility targeting on broad U.S. equity exposure, and Multi-Asset, which evaluates routing over covariance-estimator and portfolio-controller pairs in a diversified cross-asset portfolio. We further include Bitcoin and USDT as digital-market stress tests. Bitcoin represents a high-volatility environment with large and persistent risk shifts, whereas USDT provides a low-volatility setting in which aggressive dynamic control is less obviously necessary. Together, these settings test whether state-conditioned routing remains useful across equity, cross-asset, high-volatility, and low-volatility markets. The four settings use task-specific risk budgets and execution conventions. S&P 500 uses a 10% volatility target, 5 bp transaction cost, 252-day estimation window, and 252-day annualization; Multi-Asset uses 10%, 5 bp, 126 days, and 252 days; Bitcoin uses 35%, 8 bp, 90 days, and 365 days; and USDT uses 2%, 2 bp, 90 days, and 365 days, respectively. All estimator inputs and market-state features are constructed only from information available before the corresponding portfolio action, and the resulting action is evaluated on subsequent returns. Calibration, candidate construction, and model selection use only pre-evaluation data. Detailed preprocessing, timing conventions, and evaluation protocols are provided in the appendix. 4.2. Baselines and Evaluation Routing and strategy-selection methods draw from the same eligible estimator–controller library, while fixed baselines use the corresponding fixed policies. The library spans realized- and EWMA-based estimators, GARCH/HAR-style models, machine-learning and market-specific risk estimators, together with scaling, regime-aware, trend, drawdown, tail-risk, and multi-asset portfolio controllers. The implementation-level library and eligibility rules are documented in Appendix B. We compare VolRouter with alternatives at increasing levels of adaptivity. RV + Naive Scaling and EWMA Targeting represent classical fixed volatility-control rules; Regime-Aware Fixed embeds state dependence inside a fixed control policy; Mixture-of-Experts combines specialized policies through expert weighting; and Contextual Bandit performs explicit context-dependent strategy selection. Where applicable, router-level baselines use the same state information, eligible candidate library, historical diagnostics, and pre-evaluation calibration data as VolRouter. This limits information-set differences when comparing alternative selection mechanisms. The main evaluation reports annualized return, annualized volatility, Sharpe ratio, maximum drawdown (MDD), and daily 95% CVaR. Annualized volatility is interpreted relative to the setting-specific risk target rather than as a metric to minimize unconditionally. Secondary analyses examine Sortino ratio, rolling Sharpe, turnover, volatility-tracking quality, switching behavior, and sensitivity to execution and routing choices. Portfolio returns are evaluated after the transaction costs specified for each setting. 5. Results 5.1. Overall Performance Table 1. Main out-of-sample results across four volatility-control settings. Ann. Ret. and Ann. Vol. denote annualized return and annualized volatility; MDD denotes maximum drawdown; and CVaR denotes daily 95% conditional value-at-risk. Higher annualized return and Sharpe are better, whereas lower MDD and CVaR are better. Annualized volatility should be interpreted relative to the setting-specific volatility target rather than minimized unconditionally. Within each market block, colors are measured relative to RV + Naive Scaling. Method Ann. Ret. (%) Ann. Vol. (%) Sharpe MDD (%) CVaR (%) S&P 500 RV + Naive Scaling 11.11 11.67 0.952 15.10 1.76 EWMA Targeting 10.31 10.85 0.951 14.02 1.63 Regime-Aware Fixed 10.28 12.39 0.830 15.85 1.81 Mixture-of-Experts 10.45 10.90 0.958 15.06 1.66 Contextual Bandit 9.35 10.45 0.895 13.41 1.60 VolRouter 10.84 8.87 1.222 12.58 1.32 Multi-Asset RV + Naive Scaling 16.35 10.91 1.498 7.84 1.56 EWMA Targeting 11.62 9.05 1.283 8.88 1.32 Regime-Aware Fixed 11.60 8.86 1.309 6.26 1.30 Mixture-of-Experts 12.41 8.88 1.398 6.28 1.27 Contextual Bandit 10.59 8.04 1.318 9.24 1.20 VolRouter 13.20 8.57 1.540 6.60 1.18 Bitcoin RV + Naive Scaling 29.56 39.57 0.747 51.69 4.68 EWMA Targeting 27.26 36.56 0.745 51.95 4.30 Regime-Aware Fixed 1.60 6.73 0.238 7.24 0.99 Mixture-of-Experts 5.99 7.51 0.798 6.85 1.00 Contextual Bandit 10.28 36.27 0.283 51.47 4.56 VolRouter 30.81 27.43 1.123 39.39 3.25 USDT RV + Naive Scaling -4.71 4.37 -1.078 17.75 0.32 EWMA Targeting -3.81 2.99 -1.274 15.95 0.27 Regime-Aware Fixed 4.75 0.52 9.140 0.89 0.05 Mixture-of-Experts 4.10 1.04 3.943 2.70 0.08 Contextual Bandit 4.94 0.52 9.566 0.81 0.05 VolRouter 4.41 0.53 8.379 1.25 0.06 Table 1 shows that the main benefit of routing is improved risk allocation rather than unconditional return maximization. VolRouter achieves the highest Sharpe ratio in three of the four settings. On S&P 500, Sharpe increases from 0.952 under RV + Naive Scaling to 1.222, while maximum drawdown falls from 15.10% to 12.58% and CVaR from 1.76% to 1.32%. Importantly, annualized return is slightly lower (10.84% versus 11.11%), showing that the Sharpe improvement is not obtained by simply increasing return or exposure. A similar pattern appears in Multi-Asset. RV + Naive Scaling produces the highest raw annualized return (16.35%), but VolRouter achieves the highest Sharpe (1.540 versus 1.498) together with substantially lower CVaR (1.18% versus 1.56%). The router therefore sacrifices part of the raw return in exchange for a more favorable allocation of risk across heterogeneous market conditions. The Bitcoin result illustrates the benefit more strongly. VolRouter obtains both the highest annualized return (30.81%) and highest Sharpe ratio (1.123), while reducing maximum drawdown from 51.69% under RV + Naive Scaling to 39.39%. Regime-Aware Fixed and Mixture-of-Experts obtain smaller drawdowns, but their realized volatilities fall to only 6.73% and 7.51% against the 35% Bitcoin target. Their downside advantage therefore comes with substantial under-exposure, whereas VolRouter preserves considerably more of the intended risk budget. USDT provides a useful boundary case. Here, Contextual Bandit and Regime-Aware Fixed obtain higher Sharpe ratios than VolRouter, although all state-aware methods strongly outperform simple volatility scaling. This suggests that explicit pair-level routing is most useful when the appropriate control action varies meaningfully across market states. In an unusually stable and low-volatility environment, a simpler state-dependent rule may already capture much of the available benefit. Six-panel comparison of VolRouter with S&P 500 volatility-control baselines. Five panels show cumulative wealth paths and the final panel ranks methods by Sharpe ratio. Figure 3. Path-level S&P 500 diagnostic. Panels (a)–(e) compare cumulative wealth under VolRouter and representative baselines, and panel (f) reports Sharpe ratios. This diagnostic uses the 10% target-volatility, 2 bp configuration shown in the figure and is therefore not numerically identical to the 5 bp headline S&P 500 setting in Table 1. It is included to visualize when path-level differences accumulate, not as a second estimate of the headline table. Figure 3 provides a separate path-level diagnostic for S&P 500 under the 2 bp configuration stated in the figure. Because this protocol differs from the 5 bp headline setting, its absolute Sharpe values are not compared directly with Table 1. Within the diagnostic run, VolRouter remains close to stronger alternatives during many ordinary periods and separates more clearly over some episodes, illustrating how repeated local routing decisions can accumulate into different portfolio paths. 5.2. What Makes Routing Effective? Component ablations of VolRouter on S&P 500 grouped into state context, reference and candidate evaluation, and adaptive routing. Figure 4. Component ablation on S&P 500. The three panels intervene on (a) state context, (b) candidate reference and evaluation, and (c) adaptive routing. Full VolRouter achieves a Sharpe ratio of 1.47 under the ablation protocol. Error bars summarize variation produced by the ablation driver and should not be interpreted as confidence intervals for Table 1. The strongest degradations occur when information needed for relative policy judgement, temporal state tracking, or dynamic routing is removed. Figure 4 decomposes the routing mechanism into three components: state context, candidate evaluation, and adaptive policy switching. Removing individual market observations generally reduces performance, but the largest losses within the state-context group arise when the Router loses previous-action information or recent trend/return context. Routing therefore depends not only on identifying the current volatility level, but also on understanding how the current policy relates to the evolving market path. The reference-and-evaluation interventions show a similar pattern. Removing relative pair comparison produces a substantially larger loss than removing a single reference signal, while removing risk-aware evaluation also weakens performance. The Router therefore benefits from evaluating candidates relative to one another under the current state, rather than assigning each policy an isolated unconditional score. The adaptive-routing interventions provide the strongest evidence for the routing formulation itself. Replacing dynamic routing with a fixed pair causes one of the largest performance degradations, while removing switching persistence or replacing adaptive decisions with deterministic alternatives also reduces Sharpe. These results indicate that the gain does not come simply from exposing the system to a larger policy library. It comes from combining informative state context, relative candidate judgement, and persistent but adaptive pair selection. 5.3. Sensitivity and Robustness Four sensitivity analyses varying switching aggressiveness, transaction cost, target volatility, and estimator-controller candidate-pool size. Figure 5. Sensitivity of VolRouter to routing and deployment choices. We vary (a) switching sensitivity, (b) transaction cost, (c) target volatility, and (d) candidate-pool size, while keeping the remaining configuration fixed. Dashed reference lines indicate the corresponding canonical base configuration; the base is a reference and is not necessarily one of the displayed sweep points. Performance is most sensitive to the target risk budget and switching behavior, whereas transaction-cost and candidate-pool changes produce more moderate variation. Figure 5 reports one-factor diagnostic sweeps around the corresponding base configurations. The plotted values should be interpreted as sensitivity evidence rather than as a common grid shared by all four panels. The four interventions modify qualitatively different parts of the system: switching sensitivity controls routing responsiveness, transaction cost changes execution friction, target volatility changes the portfolio risk budget, and candidate-pool size changes the diversity of control policies available to the Router. The strongest variation appears in target volatility. Sharpe reaches 1.55 at the 5% target and declines to approximately 0.9–1.0 at the more aggressive 15–25% targets. This behavior is economically intuitive: routing can improve how risk is allocated across states, but it cannot remove the additional portfolio risk induced by a substantially larger exposure budget. Transaction-cost sensitivity is substantially narrower. Across the evaluated cost levels, Sharpe remains within a relatively compact range, indicating that the routing result is not explained by a single favorable friction assumption. Switching sensitivity is more consequential and non-monotonic: both persistent and aggressive routing configurations can materially change performance. The hold/switch decision is therefore part of the control problem itself rather than a purely cosmetic implementation choice. Finally, performance broadly improves as the candidate pool becomes richer, although the relationship is not monotonic at every pool size. This result supports the routing interpretation. A heterogeneous policy library creates additional specialization opportunities, but simply adding policies does not guarantee better performance unless the Router can select among them effectively. 5.4. Router Backbones and Cross-Market Stability Radar plots comparing four router language-model backbones across four markets and a violin-style distribution of 63-day rolling Sharpe ratios. Figure 6. Router-backbone performance and stability across markets. Panels (a)–(d) compare router backbones using normalized annualized return, Sharpe, Sortino, maximum drawdown, and CVaR. Risk axes are oriented so that larger values indicate better performance. Panel (e) shows the distribution of 63-day rolling Sharpe after within-setting normalization; narrower distributions indicate greater temporal stability. Backbone rankings vary across markets and risk dimensions, showing that no single model uniformly dominates every setting. In the S&P 500 backbone sweep, the regime series is precomputed and held fixed, so that panel isolates downstream switch and pair-selection behavior rather than the full end-to-end state-inference pipeline. Figure 6 examines whether downstream routing behavior is specific to a single language-model backbone. In the S&P 500 sweep, the regime series is held fixed across models; accordingly, that comparison concerns switch review and pair selection rather than end-to-end regime inference. The radar plots show that backbone rankings vary across both markets and evaluation dimensions. A model that is stronger on S&P 500 or Bitcoin is not necessarily strongest on downside-risk metrics in USDT or Multi-Asset. There is therefore no uniformly dominant Router backbone across all control environments. The rolling-Sharpe distributions provide a complementary view of temporal stability. Bitcoin exhibits the widest distributions across models, consistent with a market in which the Router faces larger and more frequent changes in risk conditions. USDT is considerably narrower, while S&P 500 and Multi-Asset lie between these extremes. Despite these differences, useful routing behavior appears across multiple backbones. The empirical effect therefore reflects the routing formulation rather than depending exclusively on one particular language model. Summary. Across the four analyses, the results support a common interpretation: routing is most useful in environments where the appropriate estimator–controller policy changes with market state; the gain depends on relative policy evaluation and adaptive but persistent switching; it remains present under meaningful changes in execution assumptions and policy-library size; and it is observed across multiple Router backbones. Together, these findings support treating volatility control as a state-conditioned policy-routing problem rather than as the repeated application of a single volatility forecast and fixed control rule. 6. Analysis Routing Improves Risk Allocation Rather Than Return Prediction. The main benefit of VolRouter is not uniformly higher raw return, but better risk deployment across market conditions. On S&P 500, VolRouter raises Sharpe from 0.952 to 1.222 despite slightly lower annualized return (10.84% vs. 11.11%), while reducing MDD from 15.10% to 12.58% and CVaR from 1.76% to 1.32%. On Bitcoin, return rises from 29.56% to 30.81%, while realized volatility falls from 39.57% to 27.43% and Sharpe rises from 0.747 to 1.123. These patterns are more consistent with improved risk deployment than with a mechanism that simply increases exposure or raw return. The Value of Routing Depends on Control Heterogeneity. Routing is most useful when different market states require genuinely different control policies. VolRouter improves risk-adjusted performance on S&P 500, Multi-Asset, and Bitcoin, whereas USDT provides an important contrast: its Sharpe of 8.379 is below Regime-Aware Fixed (9.140) and Contextual Bandit (9.566). This boundary case suggests that routing adds less value when a relatively stable state-aware policy is already sufficient. Effective Routing Requires Decision Decomposition. The ablations show that routing cannot be reduced to adding more features or repeatedly selecting the highest-ranked strategy. Performance depends on state interpretation, relative candidate evaluation, and the decision of whether switching is justified. Removing candidate-level judgement or temporal context degrades performance, while replacing dynamic routing with a fixed pair produces one of the largest losses among routing ablations. The benefit therefore comes from structured, persistent adaptation rather than simple winner selection. More Routing Freedom Does Not Monotonically Improve Control. Sharpe varies non-monotonically with switching sensitivity, and expanding the candidate pool from 27 to 117 pairs improves Sharpe overall from 0.97 to 1.11 without monotonic gains at every intermediate size. Thus, neither more frequent switching nor a larger policy library guarantees better control. The results favor selective adaptation that balances policy diversity with switching discipline. 7. Conclusion We presented VolRouter, which reframes volatility control as state-conditioned routing over estimator–controller pairs. By separating state inference, switch review, and pair selection, the framework makes policy selection an explicit layer between risk estimation and portfolio execution. Across S&P 500, Multi-Asset, Bitcoin, and USDT, VolRouter achieves the highest Sharpe ratio in three of four settings. The results suggest that routing is most useful when control requirements change materially across states, while simpler state-aware policies can remain competitive in stable environments. Ablations and sensitivity analyses further indicate that effective routing depends on relative policy evaluation and selective, persistent switching rather than unrestricted adaptation. These findings support a broader view of volatility management: beyond estimating risk, a system must decide which control policy should act, and when. Making this decision layer explicit provides a modular direction for adaptive and interpretable risk-control systems. References Moreira and Muir (2017) Moreira, A. and Muir, T. (2017). Volatility-managed portfolios. The Journal of Finance 72(4), 1611–1644. Engle (1982) Engle, R. F. (1982). Autoregressive conditional heteroskedasticity with estimates of the variance of United Kingdom inflation. Econometrica 50(4), 987–1007. Bollerslev (1986) Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics 31(3), 307–327. Andersen et al. (2003) Andersen, T. G., Bollerslev, T., Diebold, F. X., and Labys, P. (2003). Modeling and forecasting realized volatility. Econometrica 71(2), 579–625. Longerstaey and Zangari (1996) Longerstaey, J. and Zangari, P. (1996). RiskMetrics—Technical Document. Fourth Edition, J.P. Morgan / Reuters. Whaley (2009) Whaley, R. E. (2009). Understanding the VIX. The Journal of Portfolio Management 35(3), 98–105. Božović (2024) Božović, M. (2024). VIX-managed portfolios. International Review of Financial Analysis 95, 103353. MSCI (2021) MSCI (2021). MSCI Risk Control Indexes Methodology. MSCI Inc. S&P Dow Jones Indices (2025) S&P Dow Jones Indices (2025). S&P Risk Control 2.0 Indices Methodology. S&P Dow Jones Indices. Nystrup et al. (2019) Nystrup, P., Boyd, S., Lindström, E., and Madsen, H. (2019). Multi-period portfolio selection with drawdown control. Annals of Operations Research 282(1–2), 245–271. Fleming et al. (2001) Fleming, J., Kirby, C., and Ostdiek, B. (2001). The economic value of volatility timing. The Journal of Finance 56(1), 329–352. Glosten et al. (1993) Glosten, L. R., Jagannathan, R., and Runkle, D. E. (1993). On the relation between the expected value and the volatility of the nominal excess return on stocks. The Journal of Finance 48(5), 1779–1801. Corsi (2009) Corsi, F. (2009). A simple approximate long-memory model of realized volatility. Journal of Financial Econometrics 7(2), 174–196. Tibshirani (1996) Tibshirani, R. (1996). Regression shrinkage and selection via the lasso. Journal of the Royal Statistical Society: Series B (Methodological) 58(1), 267–288. Ke et al. (2017) Ke, G., Meng, Q., Finley, T., Wang, T., Chen, W., Ma, W., Ye, Q., and Liu, T.-Y. (2017). LightGBM: A highly efficient gradient boosting decision tree. In Advances in Neural Information Processing Systems 30, 3146–3154. Hochreiter and Schmidhuber (1997) Hochreiter, S. and Schmidhuber, J. (1997). Long short-term memory. Neural Computation 9(8), 1735–1780. Daubechies (1992) Daubechies, I. (1992). Ten Lectures on Wavelets. Society for Industrial and Applied Mathematics. Rockafellar and Uryasev (2000) Rockafellar, R. T. and Uryasev, S. (2000). Optimization of conditional value-at-risk. The Journal of Risk 2(3), 21–41. Sharpe (1966) Sharpe, W. F. (1966). Mutual fund performance. The Journal of Business 39(1), 119–138. Sortino and Price (1994) Sortino, F. A. and Price, L. N. (1994). Performance measurement in a downside risk framework. The Journal of Investing 3(3), 59–64. Yahoo Finance (n.d.) Yahoo Finance (n.d.). Historical market data. Available at: https://finance.yahoo.com/. Accessed April 2026. Databento (n.d.) Databento (n.d.). Historical market data. Available at: https://databento.com/. Accessed April 2026. Wang and Yan (2021) Wang, F. and Yan, X. S. (2021). Downside risk and the performance of volatility-managed portfolios. Journal of Banking & Finance 131, 106198. Barndorff-Nielsen et al. (2008) Barndorff-Nielsen, O. E., Kinnebrock, S., and Shephard, N. (2008). Measuring downside risk—realised semivariance. Economics Series Working Papers No. 382, Department of Economics, University of Oxford. Markowitz (1952) Markowitz, H. (1952). Portfolio selection. The Journal of Finance 7(1), 77–91. Hamilton (1989) Hamilton, J. D. (1989). A new approach to the economic analysis of nonstationary time series and the business cycle. Econometrica 57(2), 357–384. Nelson (1991) Nelson, D. B. (1991). Conditional heteroskedasticity in asset returns: A new approach. Econometrica 59(2), 347–370. Barndorff-Nielsen and Shephard (2002) Barndorff-Nielsen, O. E. and Shephard, N. (2002). Econometric analysis of realized volatility and its use in estimating stochastic volatility models. Journal of the Royal Statistical Society: Series B (Statistical Methodology) 64(2), 253–280. Ang and Bekaert (2002) Ang, A. and Bekaert, G. (2002). International asset allocation with regime shifts. The Review of Financial Studies 15(4), 1137–1187. Almgren and Chriss (2001) Almgren, R. and Chriss, N. (2001). Optimal execution of portfolio transactions. The Journal of Risk 3(2), 5–39. Hansen and Lunde (2005) Hansen, P. R. and Lunde, A. (2005). A forecast comparison of volatility models: Does anything beat a GARCH(1,1)? Journal of Applied Econometrics 20(7), 873–889. DeMiguel et al. (2009) DeMiguel, V., Garlappi, L., and Uppal, R. (2009). Optimal versus naive diversification: How inefficient is the 1/N portfolio strategy? The Review of Financial Studies 22(5), 1915–1953. Gu et al. (2020) Gu, S., Kelly, B., and Xiu, D. (2020). Empirical asset pricing via machine learning. The Review of Financial Studies 33(5), 2223–2273. Jacobs et al. (1991) Jacobs, R. A., Jordan, M. I., Nowlan, S. J., and Hinton, G. E. (1991). Adaptive mixtures of local experts. Neural Computation 3(1), 79–87. Shazeer et al. (2017) Shazeer, N., Mirhoseini, A., Maziarz, K., Davis, A., Le, Q. V., Hinton, G. E., and Dean, J. (2017). Outrageously large neural networks: The sparsely-gated mixture-of-experts layer. In International Conference on Learning Representations (ICLR 2017). Li et al. (2010) Li, L., Chu, W., Langford, J., and Schapire, R. E. (2010). A contextual-bandit approach to personalized news article recommendation. In Proceedings of the 19th International Conference on World Wide Web, 661–670. Fedus et al. (2022) Fedus, W., Zoph, B., and Shazeer, N. (2022). Switch transformers: Scaling to trillion parameter models with simple and efficient sparsity. Journal of Machine Learning Research 23(120), 1–39. Shen et al. (2023) Shen, Y., Song, K., Tan, X., Li, D., Lu, W., and Zhuang, Y. (2023). HuggingGPT: Solving AI tasks with ChatGPT and its friends in Hugging Face. In Advances in Neural Information Processing Systems 36, 38154–38180. Wu et al. (2024) Wu, Q., Bansal, G., Zhang, J., Wu, Y., Li, B., Zhu, E., Jiang, L., Zhang, X., Zhang, S., Liu, J., Awadallah, A. H., White, R. W., Burger, D., and Wang, C. (2024). AutoGen: Enabling next-gen LLM applications via multi-agent conversations. In First Conference on Language Modeling (COLM 2024). Yao et al. (2023) Yao, S., Zhao, J., Yu, D., Du, N., Shafran, I., Narasimhan, K., and Cao, Y. (2023). ReAct: Synergizing reasoning and acting in language models. In The Eleventh International Conference on Learning Representations (ICLR 2023). Ong et al. (2025) Ong, I., Almahairi, A., Wu, V., Chiang, W.-L., Wu, T., Gonzalez, J. E., Kadous, M. W., and Stoica, I. (2025). RouteLLM: Learning to route LLMs from preference data. In The Thirteenth International Conference on Learning Representations (ICLR 2025). Appendix A Full Routing Specification A.1. Unified Routing Formulation Let =pkk=1K,pk=(Ek,Ck),P=\p_k\_k=1^K, p_k=(E_k,C_k), denote the candidate library of estimator–controller pairs. For a single-asset task, EkE_k maps a trailing return window to a scalar volatility estimate; for a multi-asset task, EkE_k maps a trailing return matrix to a covariance estimate. The controller CkC_k maps the estimated risk object, the target risk budget, and the previous portfolio state to a new portfolio action. Both implementations use the same three-layer decision structure: state inference→switch review→pair selection.state inference\;→\;switch review\;→\;pair selection. Let ztz_t denote the inferred market state, kt−1k_t-1 the currently active pair, and t⊆C_t the candidate set. We write (12) zt z_t =ℛθ(ℐtstate), =R_θ(I^state_t), (13) gt g_t =θ(zt,ℐtroute,kt−1)∈hold,switch, =G_θ (z_t,I^route_t,k_t-1 )∈\hold,switch\, (14) kt k_t =kt−1,gt=hold,θ(zt,ℐtroute,t∖kt−1),gt=switch. = casesk_t-1,&g_t=hold,\\[5.69054pt] S_θ (z_t,I^route_t,C_t \k_t-1\ ),&g_t=switch. cases For the single-asset router, zt∈low,middle,high,z_t∈\low,middle,high\, whereas the multi-asset router uses zt∈risk_on,balanced,defensive.z_t∈\risk\_on,balanced,defensive\. Selection is therefore gated by the switch-review layer: a new pair is chosen only after the router decides not to hold the active pair. A persistence constraint is applied through a sticky period. A switch is admissible only when at+1≥Hsticky,a_t+1≥ H_sticky, where ata_t is the active-pair age. The multi-asset router additionally maintains cooldown and hold-gate state. A.2. Execution and Deterministic Reference The routing equations above define which estimator–controller pair is active. The exact estimator equations, controller equations, portfolio execution rules, transaction-cost equations, and deterministic fallback score are collected once, in a single place, in Section D. This avoids using slightly different mathematical conventions in the method overview and the library specification. Appendix B Policy Library B.1. Single-Asset Estimators The repository contains autoregressive, realized-volatility, EWMA, GARCH/GJR-GARCH, HAR, regime-aware, machine-learning, ensemble, and crypto-specific estimators. The effective families used by the router include AR(1), AR(2), EWMA, RealizedVol, NaiveVolEstimator, GARCH, GJR-GARCH, Regime GJR-GARCH, HAR-RV, HAR-RV with rates, regime HAR, Hybrid EWMA Regime, LightGBM, Random Forest, RNN/MLP, XGB-VIX, Dynamic Precision Ensemble, Intraday Realized Volatility, Range-Based Volatility, and Crypto Composite Volatility. Important defaults include EWMA half-life 20; HAR weekly/monthly horizons 5/22; machine-learning refit intervals of 21 trading days in several estimators; annualization 252 for the equity setting and 365 for the crypto estimators. The wavelet implementation is commented out and is not an effective candidate. The master configuration also excludes Lasso/wavelet and buy-and-hold estimator identifiers from router eligibility. B.2. Single-Asset Controllers The controller library includes constant weight, naive scaling, clipped volatility targeting, hysteresis control, trend filtering, variance scaling, regime-switch control, drawdown braking, drawdown modulation, CVaR/ES targeting, priority-stack control, shock throttling, and peg-aware control. The naive controller implements the familiar inverse-volatility rule (15) wtnaive=σ⋆σ^t,w_t^naive= σ σ_t, subject to global exposure bounds and a hard-coded no-trade band of 0.050.05. B.3. Multi-Asset Estimators and Controllers The multi-asset covariance library includes sample, expanding, EWMA, and diagonal EWMA estimators; rolling-correlation and shrinkage estimators; and Ledoit–Wolf, downside, robust-median, regime-switching, VIX-scaled, PCA, and dynamic-blend variants. Representative defaults include EWMA half-life 21, shrinkage 0.25, and three PCA components. Portfolio controllers include equal weight, buy-and-hold, inverse volatility, minimum variance, volatility-capped minimum variance, equal risk contribution, diversified risk parity, momentum tilt, mean variance, regime-aware risk budgeting, drawdown brake, and hysteresis portfolio control. The full single-asset master configuration contains 209 named estimator–controller pairs before experiment-specific eligibility filters. Only executable and eligible pairs enter a given routing candidate set; non-functional or explicitly excluded implementations, including the commented-out wavelet path, are not treated as active candidates. Appendix C Data and Preprocessing Table 2. Canonical evaluation settings and backtest constants. Setting Instrument / Universe σ⋆σ Cost (bps) Annualization Rolling Window S&P 500 SPY / ES futures 0.10 5 252 252 Multi-Asset cross-asset panel 0.10 5 252 126 Digital Market (Bitcoin) BTCUSD 0.35 8 365 90 USDT USDTUSD 0.02 2 365 90 C.1. S&P 500 / ES Pipeline The equity pipeline parses and sorts timestamps, removes duplicate rows and non-positive prices, filters ES contracts, resamples minute data to business-day frequency, detects futures roll dates, constructs a back-adjusted continuous close series, reindexes to a business-day calendar, and forward-fills the continuous price and contract identifier. Raw log returns are (16) rt=logPtadjPt−1adj.r_t= P_t^adjP_t-1^adj. A 252-observation rolling standard deviation (minimum 20 observations) is used for dynamic winsorization: (17) rtc=clip(rt,−5st,+5st).r_t^c=clip(r_t,-5s_t,+5s_t). The cleaned series rtcr_t^c is used by volatility estimators and market features, while raw rtr_t is retained for P&L. This distinction is intentional and should be preserved in reproduction. C.2. Multi-Asset Panel The processed panel is read as numeric returns, rows that are entirely missing are removed, and remaining missing entries are set to zero: (18) rt,i←rt,i,observed,0,missing.r_t,i← casesr_t,i,&observed,\\ 0,&missing. cases This is equivalent to treating a missing asset observation as a flat return for that day. This implementation choice applies before covariance estimation and should be considered when interpreting Multi-Asset results. C.3. Risk-Free Rate The multi-asset engine reads the FRED three-month Treasury yield and converts it to a daily log return: (19) rtf=log(1+DGS3MOt/100252).r_t^f= (1+ DGS3MO_t/100252 ). The series is forward-filled, with any remaining missing values replaced by zero. Appendix D Mathematical Specification of Estimators and Controllers This section gives the implementation-level mathematical specification of the policy library. Equations follow the audited code paths rather than idealized textbook definitions. Generic time indices such as s describe an estimator’s internal recursion; any forecast denoted by σ^t σ_t or Σ^t _t is formed only from information available strictly before the routing decision at t unless an explicit audit caveat is stated. D.1. Notation and Timing Convention Let rtr_t denote the log return on day t, W the estimation window, A the annualization factor, σ^t σ_t the annualized volatility forecast, Σ^t _t the annualized covariance forecast, v⋆v the annualized target volatility, and wtw_t the portfolio exposure formed at t. For multi-asset strategies, tw_t denotes the risky-asset weight vector. The universal timing convention is (20) σ^t,Σ^t σ_t, _t :data strictly before t, :\ data strictly before t, (21) wt,t w_t,w_t :applied to returns at t+1. :\ applied to returns at t+1. The annualization factor is A=252A=252 for the equity and multi-asset settings and A=365A=365 for the digital-asset settings. D.2. Single-Asset Volatility Estimators D.2.1. Naive Volatility Estimator The naive estimator uses the uncentered second moment: (22) σ^t=A⋅1W∑i=1Wrt−i2. σ_t= A· 1W _i=1^Wr_t-i^2. Unlike a sample standard deviation, this quantity includes the drift term. D.2.2. Realized Volatility For lookback L=20L=20, (23) σ^t=Asd(rt−L,…,rt−1), σ_t= A\,sd (r_t-L,…,r_t-1 ), where the implementation uses the sample standard deviation (ddof=1ddof=1). D.2.3. EWMA With half-life h=20h=20, (24) λ=exp(−ln2h).λ= \! (- 2h ). For observations s inside the trailing estimation window, the implementation applies the adjust=False EWMA recursion (25) vs=λvs−1+(1−λ)rs2,v_s=λ v_s-1+(1-λ)r_s^2, initialized by the first squared return in the supplied window. Because the window used at routing time t ends at t−1t-1, the decision-time forecast is (26) σ^t=Avt−1. σ_t= A\,v_t-1. Thus the notation does not imply access to rtr_t when the action for the next period is formed. D.2.4. Buy-and-Hold Degenerate Estimator The implementation defines (27) σ^t≡v⋆. σ_t≡ v . When paired with inverse-volatility scaling, this yields unit exposure. D.2.5. AR(1) on Squared Returns Within each estimation window, OLS is fit to (28) ht=α+βrt−12,h_t=α+β r_t-1^2, and the forecast is (29) σ^t=A⋅max(ht,10−9). σ_t= A· (h_t,10^-9). D.2.6. AR(2) on Squared Returns The two-lag specification is (30) ht=α+β1rt−12+β2rt−22,h_t=α+ _1r_t-1^2+ _2r_t-2^2, with (31) σ^t=A⋅max(ht,10−9). σ_t= A· (h_t,10^-9). Both AR estimators are refit on every window. D.2.7. GARCH(p,q)(p,q) Returns are internally rescaled as r~t=1000rt r_t=1000r_t. With zero conditional mean and normal innovations, (32) ht=ω+∑i=1qαiε~t−i2+∑j=1pβjht−j.h_t=ω+ _i=1^q _i _t-i^2+ _j=1^p _jh_t-j. The annualized forecast is (33) σ^t=hT1000A. σ_t= h_T1000 A. Reported defaults use p=q=1p=q=1. On fit failure or a non-finite forecast, the implementation falls back to trailing sample volatility. D.2.8. GJR-GARCH(1,1,1)(1,1,1) The asymmetric variance recursion is (34) ht=ω+(α+γ[εt−1<0])εt−12+βht−1.h_t=ω+ (α+ 1[ _t-1<0] ) _t-1^2+β h_t-1. Parameters are recalibrated every 63 steps using a trailing 252-observation window. The fallback ladder is (35) GJR forecast→EWMA(h=21)→realized volatility.GJR forecast (h=21) volatility. D.2.9. Regime GJR-GARCH The regime is assigned by realized-variance terciles: (36) kt=low,RVt−1<q1/3,mid,q1/3≤RVt−1<q2/3,high,RVt−1≥q2/3.k_t= caseslow,&RV_t-1<q_1/3,\\ mid,&q_1/3 _t-1<q_2/3,\\ high,&RV_t-1≥ q_2/3. cases A separate GJR-GARCH process is calibrated for each regime, and the forecast uses the active regime’s parameters. D.2.10. HAR-RV Using RVt=rt2RV_t=r_t^2, define (37) RVt(d) ^(d)_t =RVt−1, =RV_t-1, (38) RVt(w) ^(w)_t =15∑i=15RVt−i, = 15 _i=1^5RV_t-i, (39) RVt(m) ^(m)_t =122∑i=122RVt−i. = 122 _i=1^22RV_t-i. The HAR model is (40) RVt=β0+βdRVt(d)+βwRVt(w)+βmRVt(m)+ϵt.RV_t= _0+ _dRV^(d)_t+ _wRV^(w)_t+ _mRV^(m)_t+ _t. Coefficients are estimated by ridge regression with an unpenalized intercept: (41) β β =(X⊤X+λI0)−1X⊤y, = (X X+λ I_0 )^-1X y, (42) I0 I_0 =diag(0,1,…,1),λ=10−6. =diag(0,1,…,1), λ=10^-6. The forecast is (43) σ^t=ARV^t. σ_t= A RV_t. D.2.11. HAR-RV-Rates The implementation augments HAR with a quarterly term and lagged yield-curve features in log-variance space: (44) lnRVt= _t= β0+βdRVt(d)+βwRVt(w) _0+ _dRV^(d)_t+ _wRV^(w)_t (45) +βmRVt(m)+βqRVt(q)+γ⊤Zt−1+ϵt. + _mRV^(m)_t+ _qRV^(q)_t+γ Z_t-1+ _t. where (46) Zt=[t10y2yt,t10y3mt,Δt10y2yt,Δt10y3mt]⊤,Z_t=[t10y2y_t,t10y3m_t, 10y2y_t, 10y3m_t] , RV(q)RV^(q) is the 63-day mean, and ridge regularization uses λ=10−4λ=10^-4. The forecast is (47) σ^t=Aexp(lnRVt^). σ_t= A ( _t ). D.2.12. Regime-Specific HAR-Rates The regime-specific variant fits independent coefficient vectors βkt _k_t after constructing the continuous lagged feature sequence: (48) lnRVt=Xt⊤βkt+ϵt, _t=X_t _k_t+ _t, where ktk_t is assigned by realized-variance terciles. D.2.13. Lasso Volatility Using 22 lags of squared returns, the estimator solves (49) β^=argminβ[12n‖y−Xβ‖22+α‖β‖1],α=0.1. β= _β [ 12n\|y-Xβ\|_2^2+α\|β\|_1 ], α=0.1. D.2.14. LightGBM Volatility The model predicts next-step realized variance from 22 lagged realized-variance features: (50) RV^t+1=fθLGBM(xt). RV_t+1=f_θ^LGBM(x_t). The reported implementation uses 50 trees, learning rate 0.05, 31 leaves, and refits every 21 steps. D.2.15. Random-Forest Volatility With a five-observation realized-volatility window, define the generic feature at date s as (51) RVs=Asd(rs−4,…,rs).RV_s= A\,sd (r_s-4,…,r_s ). At routing time t, only lagged RV features are supplied (including the implemented lags 1,5,22\1,5,22\), so the feature construction does not imply use of the yet-unavailable decision-period return. The prediction is the average over B=100B=100 trees: (52) RV^t+1=1B∑b=1BTb(xt), RV_t+1= 1B _b=1^BT_b(x_t), where xtx_t contains RV lags 1,5,22\1,5,22\ and optionally a three-state HMM regime label. D.2.16. RNN / MLP Volatility The sequence model maps 21 lagged observations into a next-step realized-variance forecast: (53) RV^t+1=fθ(RVt−20:t). RV_t+1=f_θ (RV_t-20:t ). The default backend is a one-hidden-layer MLP with 32 hidden units; a SimpleRNN path is available when TensorFlow is installed. D.2.17. XGBoost with VIX and Rates The XGBoost estimator implements (54) RV^t+1=fθXGB(xt), RV_t+1=f_θ^XGB(x_t), where all features are shifted one day and include HAR terms, leverage, volatility-of-volatility, jumps, VIX variance, changes in VIX variance, yield-curve features, inversion indicators, and interactions. In particular, (55) VIXVart=(VIXt/100)2A,VIXVar_t= (VIX_t/100)^2A, and the variance-risk-premium feature is (56) VRPt=VIXVartRVt(w)+10−8.VRP_t= VIXVar_tRV^(w)_t+10^-8. A jump indicator is (57) Jt=[|rt|>3σ22,t].J_t=1 [|r_t|>3 _22,t ]. D.2.18. Hybrid EWMA Regime Two EWMA variance paths are maintained within the supplied trailing window: (58) vs(j)=λjvs−1(j)+(1−λj)rs2,λj=(1/2)1/hj,v_s^(j)= _jv_s-1^(j)+(1- _j)r_s^2, _j=(1/2)^1/h_j, with (59) hfast=5,hslow=40,h_fast=5, h_slow=40, and (60) σs(j)=Avs(j). _s^(j)= Av_s^(j). At routing time t, the supplied window ends at t−1t-1. The scalar estimate_window path returns σt−1(slow) _t-1^(slow); the fast path and regime probabilities are exposed through component diagnostics but do not enter the returned scalar forecast. D.2.19. Dynamic Precision Ensemble For submodel m over a trailing loss window WL=21W_L=21, (61) Lm=∑i=1WLℓ(Art−i2,σ^m,t−i2).L_m= _i=1^W_L (Ar_t-i^2, σ_m,t-i^2 ). The implemented QLIKE loss is (62) ℓQLIKE(x,f)=lnf+xf, _QLIKE(x,f)= f+ xf, and the optional MSE loss is (63) ℓMSE(x,f)=(x−f)2. _MSE(x,f)=(x-f)^2. Weights are inverse-loss rather than softmax weights: (64) πm=1/max(Lm,ε)∑k1/max(Lk,ε), _m= 1/ (L_m, ) _k1/ (L_k, ), and (65) σ^t=∑mπmσ^m,t. σ_t= _m _m σ_m,t. D.2.20. Intraday Realized Volatility With lookback L=3L=3 over a precomputed intraday-RV series, (66) σ^t=1L∑j=1LRVt−jintra. σ_t= 1L _j=1^LRV^intra_t-j. The series is shifted one day and falls back to a 20-day return-volatility estimate when required. D.2.21. Range-Based Volatility For a completed trading day s, the Parkinson variance estimate is (67) v^sPark=(ln(Hs/Ls))24ln2, v_s^Park= ( (H_s/L_s) )^24 2, and the default Garman–Klass estimate is (68) v^sGK=12(lnHsLs)2−(2ln2−1)(lnCsOs)2. v_s^GK= 12 ( H_sL_s )^2-(2 2-1) ( C_sO_s )^2. The range series is shifted by one day before routing. Hence the annualized 20-day forecast formed at t can be written as (69) σ^t=A⋅120∑j=120v^t−j. σ_t= A· 120 _j=1^20 v_t-j. D.2.22. Crypto Composite Volatility The composite forecast combines intraday RV, range volatility, and EWMA: (70) σ~t=0.50σ^tintra+0.25σ^trange+0.25σ^tEWMA, σ_t=0.50 σ_t^intra+0.25 σ_t^range+0.25 σ_t^EWMA, and (71) σ^t=clip(σ~t,0.001,5.0). σ_t=clip ( σ_t,0.001,5.0 ). Missing component forecasts are replaced by the cross-component median. Wavelet estimator. A wavelet source file exists, but the class is fully commented out and is not an executable estimator in the effective library. D.3. Single-Asset Controllers All single-asset controllers map (v⋆,σ^t,wt−1)(v , σ_t,w_t-1) into a candidate exposure. The execution engine then clips the resulting exposure to the task-specific global bounds. All controllers hold the previous exposure when the volatility input is missing, non-finite, or non-positive. D.3.1. Constant Weight (72) wt=c,c=1.w_t=c, c=1. D.3.2. Naive Scaling (73) wtraw=v⋆max(σ^t,ε),w_t^raw= v ( σ_t, ), followed by a hard-coded no-trade band δ=0.05δ=0.05: (74) wt=wt−1,|wtraw−wt−1|<δ,wtraw,otherwise.w_t= casesw_t-1,&|w_t^raw-w_t-1|<δ,\\ w_t^raw,&otherwise. cases D.3.3. Clipped Volatility Targeting (75) wtraw=clip(v⋆max(σ^t,ε),wmin,wmax),w_t^raw=clip ( v ( σ_t, ),w_ ,w_ ), with (76) wt=wt−1if|wtraw−wt−1|<0.05.w_t=w_t-1 |w_t^raw-w_t-1|<0.05. The controller defaults are wmin=0w_ =0 and wmax=1.5w_ =1.5. D.3.4. Hysteresis Controller The formula is the same as clipped volatility targeting, but the hold condition is inclusive: (77) wt=wt−1if|wtraw−wt−1|≤0.05.w_t=w_t-1 |w_t^raw-w_t-1|≤ 0.05. D.3.5. Variance Scaling Let σ¯t σ_t be the mean of up to the last 252 volatility forecasts: (78) σ¯t=1n∑i=1nσ^t−i,n≤252. σ_t= 1n _i=1^n σ_t-i, n≤ 252. The raw exposure uses inverse variance: (79) wtraw=v⋆σ¯tmax(σ^t2,ε).w_t^raw= v σ_t ( σ_t^2, ). A 0.05 no-trade band is applied afterward. D.3.6. Trend Filter Using a 63-day return window, (80) zt=mean(rt−63:t−1)sd(rt−63:t−1).z_t= mean(r_t-63:t-1)sd(r_t-63:t-1). For the default linear gate, (81) gt=clip(0.5+0.5tanh(szt),gfloor,1),g_t=clip (0.5+0.5 (sz_t),g_floor,1 ), with s=0.75s=0.75 and gfloor=0.85g_floor=0.85. The exposure is (82) wt=clip(gtv⋆σ^t,wmin,wmax).w_t=clip (g_t v σ_t,w_ ,w_ ). The optional hard gate sets gt=1g_t=1 for zt>0z_t>0 and gt=gfloorg_t=g_floor otherwise. D.3.7. Regime-Switch Controller Let (83) τt=Q0.8(σ^t−ii=1252). _t=Q_0.8 (\ σ_t-i\_i=1^252 ). The regime multiplier is (84) mt=0.5,σ^t≥τt,1.0,otherwise,m_t= cases0.5,& σ_t≥ _t,\\ 1.0,&otherwise, cases and (85) wt=clip(mtv⋆σ^t,0,2).w_t=clip (m_t v σ_t,0,2 ). Before 20 volatility observations are available, the multiplier defaults to 1. D.3.8. Drawdown Brake Define drawdown (86) dt=max(0,1−EtEtpeak).d_t= (0,1- E_tE_t^peak ). The brake is (87) bt=1,dt≤dstart,max(bmin,1−kdt−dstartdfull−dstart),dt>dstart,b_t= cases1,&d_t≤ d_start,\\[2.0pt] (b_ ,1-k d_t-d_startd_full-d_start ),&d_t>d_start, cases where dstart=0.10d_start=0.10, dfull=0.30d_full=0.30, k=1k=1, and bmin=0.75b_ =0.75. Exposure is (88) wt=clip(btv⋆σ^t,wmin,wmax).w_t=clip (b_t v σ_t,w_ ,w_ ). D.3.9. Drawdown-Modulated Controller With (89) dt=Etpeak−EtEtpeak,d_t= E_t^peak-E_tE_t^peak, the modulation factor is (90) ϕt=1,dt≤dstart,1−dt−dstartdmax−dstart(1−ϕmin),dstart<dt<dmax,ϕmin,dt≥dmax, _t= cases1,&d_t≤ d_start,\\[2.0pt] 1- d_t-d_startd_ -d_start (1- _ ),&d_start<d_t<d_ ,\\[4.0pt] _ ,&d_t≥ d_ , cases where dstart=0.10d_start=0.10, dmax=0.30d_ =0.30, and ϕmin=0.65 _ =0.65. Then (91) wt=clip(ϕtv⋆σ^t,wmin,wmax).w_t=clip ( _t v σ_t,w_ ,w_ ). D.3.10. CVaR / Expected-Shortfall Targeting Over a 252-day loss buffer ℓi=−ri _i=-r_i and α=0.95α=0.95, (92) VaRα=Qα(ℓ),VaR_α=Q_α( ), and (93) ES^=[ℓ∣ℓ≥VaRα]. ES=E [ _α ]. The controller targets ES⋆=0.02ES =0.02: (94) wt=clip(ES⋆max(ES^,ε),wmin,wmax).w_t=clip ( ES ( ES, ),w_ ,w_ ). This controller does not use σ^t σ_t in the exposure rule. D.3.11. Priority-Stack Controller First compute (95) wtbase=clip(v⋆σ^t,wmin,wmax).w_t^base=clip ( v σ_t,w_ ,w_ ). Three gates are then formed: (96) gttrend=1,zt>0,0.80,otherwise,g_t^trend= cases1,&z_t>0,\\ 0.80,&otherwise, cases (97) gtdd=clip(1−kdt−dstartdfull−dstart,0.80,1),g_t^d=clip (1-k d_t-d_startd_full-d_start,0.80,1 ), and (98) gttail=clip(ESlimES^,0.80,1),ESlim=0.03.g_t^tail=clip ( ES ES,0.80,1 ), =0.03. The default combination is the mean, (99) Gt=13(gttrend+gtdd+gttail),G_t= 13 (g_t^trend+g_t^d+g_t^tail ), although product and minimum combination modes are also implemented. The target is (100) w~t=clip(Gtwtbase,wmin,wmax), w_t=clip (G_tw_t^base,w_ ,w_ ), and the step-limited update is (101) wt=wt−1+clip(w~t−wt−1,−Δmax,Δmax).w_t=w_t-1+clip ( w_t-w_t-1,- _ , _ ). Here, Δmax=0.35 _ =0.35. D.3.12. Volatility-Shock Throttle The base target is modified by a shock indicator: (102) wtbase=v⋆σ^tκ,σ^t≥μmedian(σ^30),1,otherwise,w_t^base= v σ_t casesκ,& σ_t≥ (\ σ\_30 ),\\ 1,&otherwise, cases where μ=1.75μ=1.75 and κ=0.50κ=0.50. Exposure changes obey asymmetric limits: (103) Δt=clip(wtbase−wt−1,−0.75,+0.20), _t=clip (w_t^base-w_t-1,-0.75,+0.20 ), and (104) wt=wt−1+Δt.w_t=w_t-1+ _t. A no-trade band of 0.025 is applied. D.3.13. Peg-Aware Volatility Controller Define the one-period peg deviation (105) pt=|expm1(rt)|.p_t=|expm1(r_t)|. The peg multiplier is (106) mtpeg=1,pt≤0.0015,1−pt−0.00150.0060−0.0015,0.0015<pt<0.0060,0,pt≥0.0060,m_t^peg= cases1,&p_t≤ 0.0015,\\ 1- p_t-0.00150.0060-0.0015,&0.0015<p_t<0.0060,\\ 0,&p_t≥ 0.0060, cases and the drawdown multiplier is (107) mtdd=1,dt≤0.02,1−dt−0.020.08−0.02,0.02<dt<0.08,0,dt≥0.08.m_t^d= cases1,&d_t≤ 0.02,\\ 1- d_t-0.020.08-0.02,&0.02<d_t<0.08,\\ 0,&d_t≥ 0.08. cases The exposure update is (108) wt=wt−1+clip(mtpegmtddv⋆σ^t−wt−1,−0.25,0.25).w_t=w_t-1+clip (m_t^pegm_t^d v σ_t-w_t-1,-0.25,0.25 ). D.4. Multi-Asset Covariance Estimators Let R∈ℝW×NR ^W× N be the return window. Every covariance estimator is annualized and projected onto the positive-semidefinite cone. For a symmetric matrix M with eigendecomposition M=VΛV⊤M=V V , (109) ΠPSD(M)=Vdiag(max(λi,10−8))V⊤, _PSD(M)=Vdiag ( ( _i,10^-8) )V , where the matrix is first symmetrized as (M+M⊤)/2(M+M )/2. D.4.1. Sample Covariance (110) Σ^t=Acov(R). _t=Acov(R). D.4.2. Expanding Covariance (111) Σ^t=Acov(R1:t−1), _t=Acov (R_1:t-1 ), with a trailing-window fallback when fewer than 63 historical rows are available. D.4.3. EWMA Covariance With half-life h=21h=21, (112) δ=(1/2)1/h,ωi=δn−i,ω~i=ωi∑jωj,δ=(1/2)^1/h, _i=δ^n-i, ω_i= _i _j _j, and (113) Σ^t=A∑iω~i(ri−r¯ω)(ri−r¯ω)⊤. _t=A _i ω_i(r_i- r_ω)(r_i- r_ω) . D.4.4. Diagonal EWMA Covariance (114) Σ^t=diag(diag(Σ^tEWMA)). _t=diag (diag ( _t^EWMA ) ). D.4.5. Rolling-Correlation / EWMA-Volatility Covariance Let CtC_t be the rolling correlation matrix and t σ_t the vector of EWMA marginal volatilities. Then (115) Σ^t=Ct⊙tt⊤. _t=C_t σ_t σ_t . The correlation window is at most 126 observations. D.4.6. Shrunk Sample Covariance (116) Σ^t=(1−δ)St+δdiag(St),δ=0.25. _t=(1-δ)S_t+ (S_t), δ=0.25. D.4.7. Ledoit–Wolf Covariance The implementation uses Ledoit–Wolf shrinkage. On failure, it falls back to diagonal shrinkage with intensity 0.35: (117) Σ^t=(1−0.35)St+0.35diag(St). _t=(1-0.35)S_t+0.35diag(S_t). D.4.8. Downside Covariance Centered downside returns are (118) R~=min(R−R¯,0), R= (R- R,0), and (119) Σ^t=(1−b)cov(R~)+bcov(R),b=0.35. _t=(1-b)cov( R)+bcov(R), b=0.35. D.4.9. Robust Median Covariance For each series, (120) z=clip(R−med(R)1.4826MAD(R),−4,4).z=clip ( R-med(R)1.4826MAD(R),-4,4 ). The clipped standardized series is rescaled and its covariance is computed. D.4.10. Regime-Switching Covariance Let Σtf _t^f and Σts _t^s denote EWMA covariance matrices with half-lives 10 and 63. Then (121) Σ^t=αtΣtf+(1−αt)Σts, _t= _t _t^f+(1- _t) _t^s, where (122) αt=0.75,RVt≥0.18,0.35,RVt<0.18. _t= cases0.75,&RV_t≥ 0.18,\\ 0.35,&RV_t<0.18. cases D.4.11. VIX-Scaled Covariance With a 252-day VIX median, (123) st=clip[(VIXtmed252(VIX))2,0.35,4],s_t=clip [ ( VIX_tmed_252(VIX) )^2,0.35,4 ], and (124) Σ^t=stΣ^tEWMA. _t=s_t _t^EWMA. D.4.12. PCA Covariance Let S=VΛV⊤S=V V and retain the top k=3k=3 eigenpairs: (125) Σ^t=VkΛkVk⊤+0.15diag(S). _t=V_k _kV_k +0.15diag(S). D.4.13. Dynamic Blend Covariance Define stress (126) st=clip(vol21,t−0.080.20,0,1).s_t=clip ( vol_21,t-0.080.20,0,1 ). The covariance blend is (127) Σ^t= _t= (0.45−0.20st)ΣtEWMA+0.35ΣtLW (0.45-0.20s_t) _t^EWMA+0.35 _t^LW (128) +(0.20+0.20st)Σtdown. +(0.20+0.20s_t) _t^down. D.5. Multi-Asset Portfolio Controllers Every portfolio controller, except buy-and-hold, passes raw weights through a shared normalization, cap, and volatility-scaling pipeline. Long-only normalization. (129) wi←max(wi,0)∑jmax(wj,0).w_i← (w_i,0) _j (w_j,0). If the denominator is non-positive, the implementation falls back to equal weights. Single-name cap. With w¯=0.45 w=0.45, (130) wi←min(wi,w¯),w_i← (w_i, w), and the remaining mass is redistributed iteratively over assets with available capacity. Portfolio volatility scaling. (131) σp,t=⊤Σ^t, _p,t= w _tw, and (132) t=⋅clip(v⋆max(σp,t,10−8),0,Γ),Γ=1.5.w_t=w·clip ( v ( _p,t,10^-8),0, ), =1.5. D.5.1. Equal Weight (133) wi,t=1N.w_i,t= 1N. D.5.2. Buy-and-Hold Once initialized, the controller returns (134) t=t−1,w_t=w_t-1, and bypasses the shared cap/volatility-scaling pipeline. D.5.3. Inverse Volatility (135) w~i∝1σi,σi=Σ^ii. w_i 1 _i, _i= _i. D.5.4. Minimum Variance (136) ~∝Σ^+, w ^+1, where ++ denotes the Moore–Penrose pseudo-inverse. D.5.5. Vol-Capped Minimum Variance Starting from minimum-variance weights, assets with marginal volatility above c=0.30c=0.30 are rescaled as (137) w~i←w~icσi,σi>c. w_i← w_i c _i, _i>c. D.5.6. Equal Risk Contribution Initialize wi∝1/Σ^iiw_i 1/ _i. At each fixed-point iteration, (138) RCi=wi(Σ^)i,RC_i=w_i( w)_i, and (139) wi←normalize[wiRC¯max(RCi,10−10)].w_i [w_i RC (RC_i,10^-10) ]. The implementation uses 80 iterations. At convergence, RCi≈RC¯RC_i≈ RC. D.5.7. Diversified Risk Parity Let (140) ρ¯i=1N∑j|ρij|. ρ_i= 1N _j| _ij|. Starting from ERC weights, (141) w~i=wiERCmax(ρ¯i,0.25). w_i= w_i^ERC ( ρ_i,0.25). D.5.8. Momentum Tilt Define 63-day momentum (142) mi=∑j=163ri,t−j.m_i= _j=1^63r_i,t-j. Let qiq_i be its cross-sectional percentile rank. Starting from inverse-volatility weights, (143) w~i=wiIVmax[0.25,(qi−0.5)θ+1],θ=0.8. w_i=w_i^IV [0.25,(q_i-0.5)θ+1 ], θ=0.8. D.5.9. Mean–Variance With a 126-day mean-return estimate, (144) μ^t=252⋅mean126(r), μ_t=252·mean_126(r), and risk aversion γ=6γ=6, (145) ~∝1γΣ^+μ^t. w 1γ ^+ μ_t. D.5.10. Regime-Aware Risk Budget Start from ERC weights. If 21-day portfolio volatility exceeds 0.18, multiply the hard-coded defensive assets IEF,TLT,GLD,UUP\IEF,TLT,GLD,UUP\ by 1.6 before normalization: (146) w~i=1.6wiERC,i∈andvol21>0.18,wiERC,otherwise, w_i= cases1.6w_i^ERC,&i \ and\ vol_21>0.18,\\ w_i^ERC,&otherwise, cases where =IEF,TLT,GLD,UUPD=\IEF,TLT,GLD,UUP\. D.5.11. Portfolio Drawdown Brake Starting from inverse-volatility weights, the controller applies (147) ~t=0.55tIV,proxy drawdown<−0.08,tIV,otherwise. w_t= cases0.55w_t^IV,&proxy drawdown<-0.08,\\ w_t^IV,&otherwise. cases D.5.12. Portfolio Hysteresis Let tcandw_t^cand be the post-processed candidate weight vector. Then (148) t=t−1,‖tcand−t−1‖1<0.05,tcand,otherwise.w_t= casesw_t-1,&\|w_t^cand-w_t-1\|_1<0.05,\\ w_t^cand,&otherwise. cases D.6. Execution Equations D.6.1. Single-Asset Execution The selected estimator/controller pair obeys (149) σ^t=ℰ(rt−W:t−1clean), σ_t=E (r^clean_t-W:t-1 ), (150) wt=clip((v⋆,σ^t,wt−1),wmin,wmax),t∈ℛ,wt−1,otherwise,w_t= casesclip (C(v , σ_t,w_t-1),w_ ,w_ ),&t ,\\ w_t-1,&otherwise, cases where ℛR denotes rebalance dates. Turnover and cost are (151) τt=|wt−wt−1|,ct=τtbps104, _t=|w_t-w_t-1|, c_t= _t bps10^4, and next-period strategy return and equity are (152) rt+1strat=wtrt+1−ct,r_t+1^strat=w_tr_t+1-c_t, (153) Et+1=Etexp(rt+1strat).E_t+1=E_t (r_t+1^strat ). D.6.2. Multi-Asset Execution The selected covariance estimator and portfolio controller generate (154) Σ^t=ℰ(Rt−W:t−1), _t=E (R_t-W:t-1 ), (155) t=(v⋆,Σ^t,Rt−W:t−1,t−1).w_t=C (v , _t,R_t-W:t-1,w_t-1 ). Gross exposure, cash, and turnover are (156) gt=∑i|wt,i|,wtcash=1−gt,g_t= _i|w_t,i|, w_t^cash=1-g_t, (157) τt=∑i|wt,i−wt−1,i|. _t= _i|w_t,i-w_t-1,i|. The next-period strategy return is (158) rt+1strat=t⊤t+1+wtcashrt+1f−τtbps104.r_t+1^strat=w_t r_t+1+w_t^cashr_t+1^f- _t bps10^4. The risk-free leg is (159) rtf=ln(1+DGS3MOt/100252).r_t^f= (1+ DGS3MO_t/100252 ). D.7. Router Scoring Function For candidate pair k, the deterministic router score is Scoret(k)= _t(k)= π(SRk−λdddk+)⏟performance+βregBt(k)⏟regimebias π (SR_k- _dd_k^+ )_performance+ _regB_t(k)_regime\ bias (160) −(λinvιk+λexcχk)⏟diagnostics−λsw[k≠kt−1]⏟switchpenalty. - ( _inv _k+ _exc _k )_diagnostics- _sw1[k≠ k_t-1]_switch\ penalty. The regime-bias term is (161) Bt(k)= B_t(k)= btpair(k)+btest(k)+btctrl(k) b_t^pair(k)+b_t^est(k)+b_t^ctrl(k) (162) +[btpair+btest+btctrl=0]btheur(k). +1\! [b_t^pair+b_t^est+b_t^ctrl=0 ]b_t^heur(k). Reported base defaults are (163) π π =1, =1, βreg _reg =1, =1, λdd _d =0.5, =0.5, (164) λinv _inv =2, =2, λexc _exc =1, =1, λsw _sw =0. =0. The AI regime router overrides βreg _reg to 2.52.5. The performance term is set to zero when the candidate has fewer than the minimum required observations. In the audited evaluation path, the invalid-rate and exception-rate diagnostics are not populated, so the corresponding penalty is zero in the reported runs. D.8. Setting-Specific Constants Table 3. Core execution constants by evaluation setting. S&P 500 Digital Market (Bitcoin) USDT Multi-Asset Target volatility v⋆v 0.10 0.35 0.02 0.10 Estimation window W 252 90 90 126 Transaction cost (bps) 5.0 8.0 2.0 5.0 Exposure bound [0,1.5][0,1.5] [0,1.25][0,1.25] [0,1.25][0,1.25] cap 0.45 / gross 1.5 Annualization A 252 365 365 252 D.9. Implementation-Specific Deviations The following implementation details are important when interpreting the mathematical definitions above: (1) NaiveScaling ignores its constructor parameter object; the 0.05 no-trade band is hard-coded. (2) NaiveVolEstimator uses the uncentered second moment rather than the sample variance. (3) the wavelet estimator is non-functional because its class is fully commented out. (4) HybridEWMARegime returns the slow EWMA scalar on the main estimation path; the fast path and regime probabilities are diagnostic components only. (5) CVaRESTargeting ignores the volatility forecast and targets expected shortfall directly. (6) DynamicPrecisionEnsemble uses inverse-loss weighting rather than exponential or softmax weighting. (7) the regime-GJR and regime-HAR estimators use realized-volatility quantiles rather than a latent HMM to define their regimes. (8) GJR-GARCH parameters are held fixed between 63-step recalibrations. (9) the multi-asset buy-and-hold controller bypasses the common cap and volatility-scaling pipeline. (10) the multi-asset regime-aware risk-budget controller hard-codes IEF,TLT,GLD,UUP\IEF,TLT,GLD,UUP\ as defensive assets. (11) missing returns in the multi-asset engine are filled with zero before covariance estimation. (12) the deterministic router’s invalid-rate and exception-rate penalties are zero in the audited reported evaluation path because those diagnostics are not populated by that driver. Appendix E Prompt and Routing Decision Format This section provides a normalized, implementation-faithful specification of the prompt interfaces used by VolRouter. The boxes below preserve the audited decision roles, constraints, admissible labels, and output schemas; they are not claimed to be byte-for-byte transcriptions of the source constants. The purpose is to specify the decision interface and admissible outputs rather than expose provider-specific prompt boilerplate. Rather than asking a language model to directly generate portfolio weights, VolRouter decomposes routing into structured decisions over a fixed library of estimator–controller pairs. The language model is used only to infer the current market state, determine whether the active pair should be retained, and, when necessary, select a replacement from an explicitly supplied candidate set. The prompted decision process follows three stages: State Inference→Switch Review→Selection.State Inference Review . The single-asset and multi-asset implementations use the same general structure, but differ in the state representation and regime labels. All reported routing runs use structured JSON outputs so that the language model cannot directly modify estimator parameters, controller parameters, portfolio constraints, or the policy library. E.1. Single-Asset Market-State Prompt For single-asset volatility targeting, the first prompt summarizes the current market into one of three volatility regimes: zt∈low,middle,high.z_t∈\ low, middle, high\. The input contains only market information available at the decision time. It does not provide future returns or candidate-pair rankings. Single-Asset Volatility-Regime Prompt You are the market-state inference component of a volatility-targeting router. Your task is to classify the current volatility environment using only the market information supplied below. Choose exactly one regime: - low - middle - high Use only information available at the current decision time. Do not infer or use future returns. Do not use future strategy performance. Do not rank estimator--controller pairs in this step. Return a JSON object with the following format: "vol_regime": "<low | middle | high>", "confidence": "<confidence score>", "reason": "<brief explanation>" Keep the explanation shorter than 24 words and base the classification only on the provided market evidence. The resulting regime is represented as zt=ℛθ(ℐtmarket).z_t=R_θ (I_t^market ). The regime label is subsequently passed to the switch-review and pair-selection layers as contextual information. E.2. Single-Asset Switch-Review Prompt The second prompt decides whether to retain the active policy pair. It does not select a replacement; it only returns a hold/switch decision. Single-Asset Switch-Review Prompt You are the switch-review component of a volatility-targeting router. A single estimator--controller pair is currently active. Using the supplied market state and recent routing evidence, decide whether the current pair should be retained or whether the router should consider a replacement. Available evidence may include: - current volatility regime, - recent performance of the active pair, - recent relative rankings of candidate pairs, - recent risk-control behavior, - current routing state. Choose exactly one action: - hold - switch Return only a JSON object in the following format: "action": "<hold | switch>" Choose "hold" when the current pair remains appropriate for the observed state and there is insufficient evidence for replacement. Choose "switch" only when the supplied evidence indicates that another candidate is more appropriate for the current market state. Formally, gt=θ(zt,ℐtrouting,kt−1)∈hold,switch.g_t=G_θ (z_t,I_t^routing,k_t-1 )∈\hold,switch\. If gt=hold,g_t=hold, then kt=kt−1,k_t=k_t-1, and no pair-selection prompt is called. E.3. Single-Asset Pair-Selection Prompt Pair selection is invoked only after the switch-review layer has decided that the active pair should not be retained. The active pair is excluded from the candidate set supplied to this prompt. Single-Asset Pair-Selection Prompt You are the pair-selection component of a volatility-targeting router. The switch-review layer has already decided that the current pair should not be retained. Select exactly one estimator--controller pair from the candidate list provided below. When selecting a pair, consider: - the current volatility regime, - recent candidate performance, - recent relative rankings, - volatility-control quality, - drawdown behavior, - turnover behavior, - whether the candidate is suitable for the current market state. You may select only a pair explicitly included in the candidate list. Do not invent a new estimator, controller, or pair. Do not modify any candidate parameters. Return only: "pair": "<candidate pair name>" The routing decision is therefore kt=θ(zt,ℐtrouting,t∖kt−1),k_t=S_θ (z_t,I_t^routing,C_t \k_t-1\ ), where tC_t is the candidate set supplied at time t. E.4. Multi-Asset Portfolio-Regime Prompt The multi-asset router uses a portfolio-level state representation. Its portfolio regime belongs to ztp∈risk_on,balanced,defensive.z_t^p∈\ risk\_on, balanced, defensive\. Multi-Asset Portfolio-Regime Prompt You are the portfolio-state inference component of a multi-asset volatility-targeting router. Using the supplied portfolio and market information, classify the current environment into exactly one of the following states: - risk_on - balanced - defensive The classification should reflect the current risk environment rather than short-term speculation about future returns. Consider only information supplied in the prompt and available at the current decision time. Return: "portfolio_regime": "<risk_on | balanced | defensive>", "confidence": "<confidence score>", "reason": "<brief explanation>" This state provides portfolio-level context for subsequent routing decisions. E.5. Multi-Asset Market-Only Volatility Prompt The implementation also contains a market-only volatility-regime prompt. It is separated from candidate performance: the model receives cross-asset market information but no pair rankings or pair-level metrics. Multi-Asset Market-Only Regime Prompt You are assessing the current cross-asset risk environment. Use only the supplied market variables, which may include: - recent cross-asset returns, - equal-weight portfolio realized volatility, - VIX information, - term-spread information, - credit-spread information. Do not use: - estimator--controller pair rankings, - pair-level returns, - pair-level Sharpe ratios, - future returns, - future portfolio outcomes. Classify the current environment as exactly one of: - risk_on - balanced - defensive Return: "portfolio_regime": "<risk_on | balanced | defensive>", "confidence": "<confidence score>", "reason": "<brief explanation>" Separating market-state inference from candidate evaluation prevents the regime label from being defined retrospectively by whichever policy performed best. E.6. Multi-Asset Switch-Review Prompt The multi-asset switch layer decides whether accumulated evidence is sufficient to replace the active portfolio policy. The implementation encourages persistent policies rather than high-frequency strategy switching. Multi-Asset Switch-Review Prompt You are the switch-review component of a multi-asset portfolio router. Determine whether the currently active estimator--controller pair should be held or replaced. Base the decision on the supplied evidence, including: - current portfolio regime, - recent performance of the active pair, - recent relative candidate rankings, - drawdown behavior, - volatility-control quality, - recent holding duration, - evidence that alternative pairs consistently outperform the active pair. Avoid unnecessary switching. The intended behavior is persistent routing rather than frequent reaction to isolated short-term fluctuations. Use a forward decision horizon of approximately ten trading days. The risk-control objective includes avoiding persistent absolute drawdowns around the approximately 6% target range used by the switch prompt. Return exactly: "action": "<hold | switch>" In the reported implementation, the switch decision is reviewed only at configured checkpoints rather than every trading day. E.7. Multi-Asset Pair-Selection Prompt If the switch layer chooses switch, the router receives a restricted candidate list. The active pair is excluded, so selection necessarily corresponds to a change in policy. Multi-Asset Pair-Selection Prompt You are selecting a replacement estimator--controller pair for a multi-asset volatility-targeting portfolio. The switch-review layer has already determined that the current pair should not be held. Choose exactly one pair from the supplied candidate list. Use the provided evidence to identify the candidate with the strongest expected portfolio behavior over the next decision horizon, while respecting the volatility-control objective. Consider: - current portfolio regime, - recent candidate performance, - short- and medium-horizon candidate rankings, - volatility-control quality, - drawdown behavior, - turnover behavior, - consistency across recent evaluation windows. You may choose only from the supplied candidates. Do not invent a new pair. Do not modify estimator or controller parameters. Do not return the currently active pair. Return only: "pair": "<candidate pair name>" Thus, selection remains a discrete decision over the predefined policy library: kt∈t.k_t _t. The language model never outputs portfolio weights directly. E.8. Switch-Sensitivity Guidance The router supports a sensitivity parameter controlling the amount of evidence required before switching. For the single-asset implementation this is primarily expressed through prompt guidance, whereas the multi-asset implementation additionally enforces minimum-hold and evidence-count requirements in code. A representative guidance block is: Switch-Sensitivity Guidance Routing sensitivity determines how readily the active pair should be replaced. Very Low: Prefer strong persistence. Hold the active pair for long periods unless multiple recent evaluation windows consistently indicate that a group of alternatives is superior. Low: Prefer persistence and require sustained evidence before switching. Medium: Balance persistence with responsiveness. Switch when several independent signals consistently favor alternative candidates. High: Respond more quickly when a non-active candidate demonstrates superior recent behavior. Very High: Allow aggressive switching when short-horizon evidence indicates that another candidate is currently better suited to the observed market state. In the multi-asset implementation, these qualitative levels correspond to explicit gates: LevelMin. holdBetterWindowsVery High001High001Medium3022Low6022Very Low9032 array[]lccc &Min. hold&Better&Windows\\ High&0&0&1\\ High&0&0&1\\ Medium&30&2&2\\ Low&60&2&2\\ Very Low&90&3&2\\ array This distinction is important because single-asset sensitivity changes the language-model instruction, while multi-asset sensitivity also modifies deterministic routing constraints. E.9. API and Inference Configuration Reported LLM routing uses hosted inference with temperature 0.00.0 and structured JSON outputs. Figure 6 compares the four backbones labeled in that figure under the corresponding experiment-specific routing configurations. Review intervals and candidate-top-N values vary by setting; the S&P backbone sweep uses a precomputed regime series held fixed across models, so that comparison isolates switch review and pair selection rather than end-to-end state inference. E.10. Structured Router Output The language-model interface is intentionally narrow. The router expects one of three structured output schemas. Single-Asset Regime Output Schema "vol_regime": "<low | middle | high>", "confidence": "<confidence score>", "reason": "<brief explanation>" Multi-Asset Regime Output Schema "portfolio_regime": "<risk_on | balanced | defensive>", "confidence": "<confidence score>", "reason": "<brief explanation>" Switch Output Schema "action": "<hold | switch>" Pair-Selection Output Schema "pair": "<candidate pair identifier>" This structured interface prevents unconstrained language generation from directly changing the portfolio policy. The LLM can select among available policies but cannot modify the policy library itself. E.11. Parsing, Failure Handling, and Deterministic Fallback Router outputs are parsed as structured JSON. For the single-asset router, parsing proceeds through several recovery stages: (1) direct JSON parsing; (2) extraction and parsing of a JSON-like object; (3) recovery of a valid hold/switch action from a structured text pattern; (4) recovery from recognizable natural-language action text; and (5) deterministic fallback if parsing or API execution fails. The multi-asset router uses a stricter parser and does not implement all of the natural-language recovery stages available in the single-asset router. Let NfallbackN_fallback denote the number of routing decisions ultimately resolved through a deterministic fallback and NdecisionN_decision the total number of prompted routing decisions. We report FallbackRate=NfallbackNdecision.FallbackRate= N_fallbackN_decision. Raw model responses are stored during evaluation so that prompt failures and fallback decisions can be audited independently of portfolio performance. E.12. Prompt-Level Constraints Across all prompted layers, the following constraints are enforced by the routing interface: (1) No direct portfolio generation. The language model never outputs a portfolio weight or leverage level. (2) Closed candidate set. The pair-selection layer can choose only from the candidates supplied by the routing system. (3) No parameter modification. Estimator and controller parameters are fixed before the prompted decision. (4) Separated switch and selection decisions. Candidate selection is invoked only after an explicit switch decision. (5) No future information. Market-state prompts use only information available at the decision date. (6) Market-state / pair-performance separation. The market-only multi-asset regime prompt explicitly excludes candidate-pair rankings and performance metrics. (7) Machine-readable outputs. The prompted decisions are represented as compact JSON records and are validated before execution. These constraints make the language model a policy-selection component rather than an unconstrained trading agent. The portfolio action remains generated by the selected, predefined estimator–controller pair. Appendix F Evaluation Protocol F.1. Generic Walk-Forward Driver The generic protocol supports tiled train/test windows. For split j, (165) train(j) ^(j)_train =[tj−Ttrain,tj), =[t_j-T_train,t_j), (166) test(j) ^(j)_test =[tj,tj+Ttest), =[t_j,t_j+T_test), (167) tj+1 t_j+1 =tj+Tstep. =t_j+T_step. The default driver values are Ttrain=504,Ttest=126,Tstep=126.T_train=504, T_test=126, T_step=126. Thus, under the default, OOS windows tile without overlap. F.2. Training-Window Candidate Score Candidate pairs are ranked on the training window using Jtrain(k)= J_train(k)= SRnet(k)−0.5D(k)−0.5TO(k) ^net(k)-0.5\,D(k)-0.5\,TO(k) (168) −0.5VTE(k)−1.0QLIKE(k), -0.5\,VTE(k)-1.0\,QLIKE(k), with (169) ktrain⋆=argmaxk∈Jtrain(k).k_train = _k J_train(k). Training-window 80th percentiles of estimator loss, turnover, and volatility-tracking error are also used to define constraints. Pair objects are reconstructed before OOS evaluation, so fitted estimator/controller state does not cross the train/test boundary. F.3. Headline S&P 500 Protocol The reported S&P 500 results use the precomputed-pair protocol. Component ablations use one contiguous OOS period from 2023-02-10 to 2026-02-10. The model sweep uses 504 training days and a 252-day test/step configuration, with a single OOS window and unfrozen OOS metrics. Thus, the headline S&P results are a contiguous OOS evaluation with train-window preselection, not an average over repeated walk-forward folds. F.4. Multi-Asset Protocol and First-Year Tuning The multi-asset test starts on 2024-02-09, with history/metric construction beginning on 2023-02-10. The engine supports first-year tuning over 252 observations. The baseline grid is hEWMA∈10,21,42,h_EWMA∈\10,21,42\, wmaxasset∈0.35,0.45,0.60,Gmax∈1.0,1.25,1.5.w_ ^asset∈\0.35,0.45,0.60\, G_ ∈\1.0,1.25,1.5\. The tuning score is minimized: (170) Jtune=e¯vol+0.02τ¯−0.01SR.J_tune= e_vol+0.02\, τ-0.01\,SR. Appendix G Information Timing and No-Lookahead Audit Table 4. Decision-time information set. Quantity Window / Source Includes time t? Use σ^t σ_t rt−W:t−1cr^c_t-W:t-1 No estimator input Market features rt−W:t−1cr^c_t-W:t-1 No router state Controller state update rtcr_t^c Yes affects action applied to t+1t+1 Pair performance history past OOS history, appended after t No router context Portfolio weight formed at t — applied to rt+1r_t+1 Realized P&L raw rt+1r_t+1 future to decision outcome Transaction cost turnover generated at t — deducted from outcome The controller may update internal state using the realized return at the close of t, but the resulting action is applied only to rt+1r_t+1. By contrast, the estimator and market-state feature window ends at t−1t-1. This estimator/controller timing asymmetry is disclosed explicitly. The precomputed regime-series generator also enforces a strictly prior feature window. For prediction date t, t=rt−Wc,…,rt−1c.W_t=\r^c_t-W,…,r^c_t-1\. Each generated row stores both the prediction date and the last feature date, making the lag auditable. The multi-asset implementation contains a dedicated no-leak check for pair-history consumption, requiring router context to stop at the previous available date. Table 4 states the timing convention used throughout the reported analysis. Auxiliary implementation paths that are not used by a reported experiment are outside the scope of this timing statement. Appendix H Metric Definitions Let rtpt=1T\r_t^p\_t=1^T denote net strategy returns and A the annualization factor. The multi-asset geometric annualized return is (171) Rann=(VTV0)A/T−1.R_ann= ( V_TV_0 )^A/T-1. Annualized volatility is (172) σann=Std(rtp)A. _ann=Std(r_t^p) A. The implementation-level Sharpe ratio is (173) SR=r¯ps(rp)A,SR= r^ps(r^p) A, without subtracting a risk-free rate. This convention should be noted in the multi-asset setting because strategy returns may include a risk-free cash leg. For the implementation-level Sortino denominator, define downside returns dt=min(rtp,0)d_t= (r_t^p,0) and (174) σdown=A1T∑t=1Tdt2. _down= A 1T _t=1^Td_t^2. The corresponding annualized Sortino ratio is (175) Sortino=Ar¯pσdown.Sortino= A\, r^p _down. Define the running peak Mt=maxj≤tVjM_t= _j≤ tV_j. Maximum drawdown is (176) MDD=−mint(VtMt−1).MDD=- _t ( V_tM_t-1 ). For the empirical fifth percentile q0.05q_0.05, (177) CVaR0.95=−[rtp∣rtp≤q0.05].CVaR_0.95=-E [r_t^p r_t^p≤ q_0.05 ]. The implementation Calmar ratio is (178) Calmar=Ar¯pMDD.Calmar= A r^pMDD. Single-asset and multi-asset turnover are, respectively, (179) τtsingle _t^single =|wt−wt−1|, =|w_t-w_t-1|, (180) τtmulti _t^multi =∑i|wt,i−wt−1,i|. = _i|w_t,i-w_t-1,i|. Some single- and multi-asset metric paths use different standard-deviation degrees-of-freedom conventions. Comparisons in the main paper are therefore interpreted within each setting, where all methods share the same metric implementation, rather than by pooling absolute metric levels across settings. Appendix I Evaluation Scope and Statistical Reporting The main paper reports the common headline metrics available for all four settings: annualized return, annualized volatility, Sharpe ratio, maximum drawdown, and CVaR. Additional implementation outputs include Sortino, turnover, switch counts, selected-pair identities, and volatility-tracking diagnostics for subsets of experiments. Headline portfolio statistics in the current study are reported as point estimates. The manuscript does not attach block-bootstrap confidence intervals or formal multiple-comparison-adjusted significance tests to the main table. Accordingly, statements about outperformance are descriptive of the reported held-out backtests rather than claims of population-level statistical dominance. For hosted LLM inference, temperature is fixed at zero, but provider-side nondeterminism can still produce run-to-run variation. Appendix J Component Ablations The ablation study intervenes on three parts of the routing process: state context, candidate/reference evaluation, and adaptive routing. The non-ablated configuration is reported as Full VolRouter. The main figure reports Sharpe under the ablation driver; its error bars are properties of that driver and are not confidence intervals for the headline table. A material implementation distinction is that “baseline reference” has setting-specific meaning: in S&P 500 it refers to benchmark-comparison context, whereas in Multi-Asset it can refer to the deterministic train-window champion. These interventions are therefore not interpreted as identical cross-setting ablations. Appendix K Router Backbone Study Figure 6 compares the four router backbones labeled in the figure across S&P 500, Bitcoin, USDT, and Multi-Asset. The comparison is intended to test whether routing behavior is specific to a single backbone, not to establish a universal ranking of language models. In the S&P sweep, the regime series is precomputed and frozen across backbones. That panel therefore compares the downstream switch-review and pair-selection layers, not the complete state-inference pipeline. Appendix L Candidate-Pool and Sensitivity Diagnostics The S&P candidate-pool diagnostic uses pool sizes 27,42,57,72,87,102,117.27,42,57,72,87,102,117. The Multi-Asset reduction driver follows a different procedure: it removes 15 pairs per round using seed 20260703, reranks surviving pairs using pre-test data, and truncates the candidate list to at most 30 pairs. Thus, “pool size” and the number of candidates actually exposed to the Router are distinct quantities in that driver. The four sensitivity panels in Figure 5 vary switching sensitivity, transaction cost, target volatility, and candidate pool size one factor at a time. The dashed line is the canonical base configuration and is not necessarily included as a plotted sweep point. In particular, the displayed switching sweep reports very low, low, high, and very high settings around a separate normal/base reference. The transaction cost values shown in Figure 5 are specific to that routing sensitivity run and should not be conflated with other controller-level friction grids in the codebase. Appendix M Switching, Turnover, and Execution Cost Define (181) Nswitch=∑t=1T[kt≠kt−1],SwitchRate=NswitchT.N_switch= _t=1^T1[k_t≠ k_t-1], = N_switchT. If the active-pair sequence forms J holding segments with lengths ℓ1,…,ℓJ _1,…, _J, mean dwell time is (182) ℓ¯=1J∑j=1Jℓj. = 1J _j=1^J _j. Portfolio turnover costs are charged through changes in the executed portfolio weights. In the reported Multi-Asset ablation, pool-reduction, and sensitivity drivers, the additional monetary penalty attached solely to a change in pair identity is zero. Switching is instead regularized by the hold/switch gate, minimum-hold logic, and persistence guidance. This is why the main-text net-return equation includes portfolio turnover cost but not a uniform inter-pair switching fee. Appendix N Reproducibility Notes Structured router outputs are validated before execution, and failed or invalid outputs follow the deterministic fallback logic described in Section E. Several machine-learning estimators use random_state=42, while the pool-reduction diagnostic uses seed 20260703. Hosted LLM generation is not fully seed-controlled even at temperature zero; the backbone analysis is therefore interpreted as an empirical comparison of the reported runs rather than a deterministic model ranking.