Research library

INVESTIGATION 13 / HEDGING & ALLOCATION

Learning to allocate risk

Does an adaptive policy justify its additional complexity?

Reinforcement learningCVaR penaltyTurnover

01 / THE PRACTICAL QUESTION

A decision, before a model.

An allocation policy learns to trade across changing markets, but improved training reward may not translate into lower losses on unseen paths.

The analyst’s decision

Compare the learned policy with equal-weight and trailing-volatility allocations after costs.

02 / DATA & COMPARISON

The idea in plain language.

PPO learns allocations from a reward that includes a tail-risk penalty. A penalty changes incentives; it does not enforce a guaranteed loss ceiling.

Inverse-volatility allocation
Assign larger weights to assets with lower recently observed volatility.
CVaR
Another name for Expected Shortfall here: average loss in the selected tail.

Data. Chronological or independently seeded training and evaluation returns.

Baseline. Equal weight and trailing-information portfolio weights.

03 / THE EXPERIMENT

What the saved experiment shows.

The saved PPO policy has higher daily 95% ES than inverse-volatility allocation in all three held-out seeds. This fixed-budget synthetic benchmark supports the simpler baseline for that metric.

Inspect the supporting result

Evidence record: learning-benchmarks.json#projects/13

Explore the related lab

04 / RESULTS & LIMITATIONS

Evidence with its boundaries attached.

The related lab is a cross-project demonstration. Read this investigation’s evidence and limits before transferring its conclusions.

Inspect numerical checks and validation records

Loading validation evidence…

Loading across-seed evidence…

Interpretation limit

A CVaR penalty encourages tail control; it does not guarantee a hard constraint.

05 / REPRODUCE

Reproduce and challenge the result.

Code, configuration, and reproduction

The project contains its implementation, configuration, tests, and walkthrough. Download the lab configuration to record the exact parameters used in an interactive run.

Project code and walkthrough