Task #4 v0.1 Asset Pool Design Note
Status: draft after Kaite 2026-05-17 comments. Purpose: re-ground the all-weather asset pool from macro logic before more backtests.
1. Design Principle
The domestic all-weather portfolio should earn domestic broad-liquidity expansion and nominal economic growth/inflation, not short-term statistical artifacts. Asset inclusion must pass two tests:
1. Macro explainability: why should this asset respond to growth, inflation, credit, rates, or policy liquidity?
2. Empirical validation: after the macro relation is understood, test whether realized behavior matches the expected conditional pattern.
If macro logic cannot explain a relationship, statistical fit alone is not enough.
2. Risk Definition
Current v0 uses asset return volatility as a proxy for risk. This is insufficient for v0.1. The better abstraction is risk exposure to macro drivers:
- Growth beta: equity/corporate profit sensitivity.
- Inflation beta: commodity/gold/pricing-power sensitivity.
- Duration beta: real/nominal rate sensitivity.
- Credit/liquidity beta: credit spread, financing condition, policy put, broad liquidity.
- Policy/structural beta: assets supported by policy direction or scale expansion.
Risk parity should balance these drivers, not mechanically overweight the lowest-vol ETF.
3. Regime Framework
Keep the four-regime growth x inflation framework as a first-order map:
| Regime | Growth | Inflation | Core macro logic |
|---|---|---|---|
| R1 Recovery | Up | Down/stable | Profits recover, credit conditions improve, risk assets and credit carry benefit. |
| R2 Overheat | Up | Up | Nominal growth strong, commodity/resource assets and some equities benefit, rates risk rises. |
| R3 Stagflation | Down | Up | Real growth weak, inflation hedges and supply-shock assets matter. |
| R4 Recession/Deflation | Down | Down | Duration and defensive equity matter; rates fall, nominal demand weak. |
Regime labels are monitoring context. Portfolio allocation should not become one-regime tactical betting.
4. Asset Pool: Stable Core Categories
The pool should emphasize large, important, scalable domestic asset categories, plus policy-supported categories with large scale-growth potential.
Equity Growth Bucket
Role: growth/profit beta and broad liquidity upside.
Candidate proxies:
- CSI 300 ETF: large-cap/core equity.
- CSI 500 ETF: mid-cap equity.
- CSI 1000 ETF: small-cap/high-beta equity; include point-in-time after ETF availability.
- ChiNext ETF: growth/innovation equity; include point-in-time.
- STAR 50 ETF: hard-tech/strategic industry equity; include point-in-time.
Regime: mostly R1/R2, with sub-bucket diversification by market-cap/growth style.
Duration Bucket
Role: recession/deflation hedge, rates-down beneficiary.
Candidate proxies:
- 10Y Treasury ETF.
- 5-10Y / active Treasury ETF.
- 30Y Treasury ETF if history/liquidity acceptable, point-in-time.
Regime: R4.
Credit / Carry Bucket
Role: domestic liquidity expansion, credit spread/carry, policy support. This is a real domestic asset category and should not be removed merely because volatility is low.
Candidate proxies:
- 城投债 ETF.
- 政金债 ETF where available.
- High-grade credit ETF where available.
Treatment question for v0.1:
- Do not let credit/carry dominate a growth sleeve through inverse-vol.
- Preferred treatment: its own credit/liquidity sleeve or sub-bucket with explicit risk budget, not hidden inside R1.
- Test variants: credit as R1 sub-bucket vs separate credit/carry sleeve.
Commodity / Inflation Bucket
Role: inflation and supply-shock protection. Current v0 is incomplete.
Candidate proxies:
- Gold ETF: monetary/inflation/geopolitical hedge.
- Non-ferrous / metals: industrial inflation and global cycle.
- Energy-chemical futures ETF (159981.XSHE): must include candidate; important macro asset class.
- Agriculture / soybean meal ETF: food/feed/agricultural supply shock.
- Coal/steel ETFs may be sector equity proxies rather than pure commodity; include carefully as candidate, not default.
Regime: R2/R3 depending on sub-asset.
Defensive Equity / Dividend Bucket
Role: lower-beta equity, cash-flow/valuation anchor, recession resilience.
Candidate proxies:
- Dividend ETF.
Regime: R4 and possibly R3 as defensive equity.
Cash / Collateral Bucket
Role: liquidity buffer, collateral/funding, operational reserve. Not a macro return sleeve.
Candidate proxies:
- Money-market ETF.
- Short-duration bond ETF.
Treatment: outside regime sleeves. Do not use cash-like assets to define R4 volatility.
5. Allocation Logic: What Must Change from v0
v0 flaw: Stage 1 inverse-vol inside a sleeve allows low-vol credit/cash-like assets to dominate. This is not macro risk parity; it is low-vol carry concentration.
v0.1 design requirements:
1. Separate macro-driver buckets before applying statistical weighting.
2. Within each bucket/sleeve, prevent one asset from dominating just because recent volatility is low.
3. Test longer volatility windows and EWMA, because 60d can understate slow-moving credit/duration risk.
4. Use point-in-time asset availability. New ETFs enter only after listed date.
5. Document universe shifts and their backtest effect.
6. Rebalancing
Current v0: monthly rebalance.
v0.1 should test:
- Monthly scheduled rebalance.
- Deviation rebalance: trigger if actual asset weight deviates from target by >5% NAV or by a relative threshold.
- Trading cost and liquidity constraints.
Bridgewater exact cadence is not fully public. We should not claim more precision than public sources support.
7. Risk Control / Crisis Mode
Normal environment:
- Let the model rebalance risk exposures.
- Avoid frequent subjective intervention.
Crisis mode:
- Define observable triggers for broad liquidity contraction / funding stress / policy regime break.
- When triggered, human discretionary override is allowed because this is rare and high-impact.
Candidate mechanical warning indicators for v0.1 research:
- Broad equity drawdown and realized vol spike.
- Credit spread / credit ETF drawdown abnormality.
- Funding-rate spike / DR007 stress.
- Rapid M2/TSF deterioration where data is available.
- Cross-asset correlation breakdown.
8. Immediate Next Step
Before coding Layer 2 full backtest, finalize candidate asset pool table:
- Asset category.
- Macro role.
- Regime/bucket assignment.
- ETF proxy.
- Listed date.
- Liquidity/history adequacy.
- Include in v0.1 or defer.
Then rerun variants:
- Vol windows: 60 / 120 / 252 / EWMA.
- Credit treatment: R1 sub-bucket vs separate credit/carry sleeve.
- Sleeve-internal cap as safety net, not primary driver.
- Deviation rebalance and risk-reduction rules.
9. Candidate ETF Inventory Snapshot
Generated files:
- research/asset-pool-candidate-etfs-v0.1.csv
- research/asset-pool-candidate-etfs-v0.1.md
Initial observations from RQData:
- Core existing proxies have full or near-full history from 2015, except newer bond/commodity ETFs.
- CSI 1000 512100.XSHG starts 2016-11-04; point-in-time inclusion is straightforward.
- ChiNext 159915.XSHE has full 2015+ history and good liquidity.
- STAR 50 588000.XSHG starts 2020-11-16; must be point-in-time.
- 30Y Treasury 511090.XSHG starts 2023-06-13; useful conceptually but short history.
- Policy bank bond 511520.XSHG starts 2022-10-25; conceptually important but short history.
- Energy-chemical futures 159981.XSHE starts 2020-01-17 and has adequate recent turnover; this is the cleanest energy/chemicals inflation proxy found.
- Coal 515220.XSHG and steel 515210.XSHG start 2020-03-02; these are sector equity proxies, not pure commodity futures, so they should be treated carefully.
- Broad commodity 510170.XSHG has full history but low recent turnover relative to core ETFs; review liquidity before inclusion.
- Old high-grade credit ETF 511280.XSHG delisted in 2021 and recent turnover field is not meaningful; defer.
Implication: v0.1 should support point-in-time universe entry by listed date. A single static 2015 universe would either omit important modern assets or create false history.