Digital Assets & Equities
Express diversified exposure to the digital-asset economy across two sleeves: spot crypto majors, and US-listed equities and ETPs whose economics are driven by digital assets. Survive a full crypto drawdown cycle without being forced to zero.
Track record
Fewer than two NAV observations. No statistics are meaningful yet.
Recent decisions
Every run, including the ones that traded nothing: the committed fact-pack hash (written to the audit chain before the model was called), the model's published view, each proposal with the rule engine's verdict, and the fills that resulted. Rejected proposals stay up with their reason codes — a reader who can only see the trades that happened cannot judge the discipline that refused the ones that didn't.
The portfolio is at inception with 100% cash (pf.cash_pct, pf.nav, pf.cash) and zero positions (pf.position_count). The mandate targets diversified exposure across spot crypto majors and US-listed digital-asset equities/ETPs, with volatility-based sleeve weighting and a "very high" target risk profile. However, the fact pack provides ZERO eligible symbols for trading. Both the crypto sleeve and equity sleeve appear to be empty. Without any instruments in the eligible universe, it is impossible to construct positions, assess relative value, or execute the mandate's diversification objective. This is a data completeness issue, not a market timing decision. The absence of eligible symbols may indicate: - The symbol universe has not yet been loaded into the system - A configuration error in the mandate setup - Missing reference data feeds Until the eligible symbol list is populated with s…
What the AI is allowed to do
This portfolio's AI ranks candidates and explains its reasoning. It proposes direction and conviction only. Every price, quantity, weight and risk limit is computed by deterministic code the model cannot see or influence.
BUY · ADD · TRIM · SELL · HOLD
At most 5 proposals per run, each carrying a direction, a conviction from 1 to 5, a rationale, and references to the facts it used.
- set a price
- set a quantity or share count
- set a weight or position size
- set or move a risk limit
- execute anything
Model tier deep · prompt version P04-v1. Any change to either is recorded as a MODEL_CHANGE event in the audit chain — without it the record would be a chimera of two systems presented as one.
Enforced limits
Every limit below names the code path that enforces it. This is not decoration: a limit that is published but never fires is worse than no limit, because a reader has no way to tell the difference. A test walks every mandate, drives the engine into the state each declared control claims to protect against, and fails the build if nothing stops it.
| Limit | Value | Enforced by |
|---|---|---|
| Maximum gross exposure | 100.0% | gate 2 — size_order |
| Maximum single issuer | 15.0% | gate 2 — size_order |
| Maximum single sector | 100.0% | gate 2 — size_order |
| Limit | Value | Enforced by |
|---|---|---|
| Shorting | prohibited | gate 1 — proposal validation |
| Derivatives | prohibited | gate 1 — proposal validation |
| Margin | prohibited | gate 1 — proposal validation |
| Leverage | prohibited | gate 1 — proposal validation |
| Limit | Value | Enforced by |
|---|---|---|
| Maximum positions | crypto_spot: 6, equities: 12 | gate 2 — size_order |
| Minimum new position | 1.5% | gate 2 — size_order |
| Maximum order as % of ADV | 0.5% | gate 2 — size_order |
| Limit | Value | Enforced by |
|---|---|---|
| Single-day loss alert | 8.0% | gate 3 — alert |
| Limit | Value | Enforced by |
|---|---|---|
| Stale-data halt | 12 hours | gate 3 — HALT_STALE_DATA |
| Limit | Value | Enforced by |
|---|---|---|
| At −20.0% drawdown | alert, publish_commentary | gate 3 — drawdown ladder |
| At −30.0% drawdown | alert, force_crypto_sleeve_to_max:25.0 | gate 3 — drawdown ladder |
| At −50.0% drawdown | alert, force_crypto_sleeve_to_min, mandatory_deep_review, pause_new_positions_days:20 | gate 3 — drawdown ladder |
| At −70.0% drawdown | graveyard_review | gate 3 — drawdown ladder |
| Limit | Value | Enforced by |
|---|---|---|
| Crypto sleeve when 30d annualised vol > 90.0% | 30.0% maximum | gate 2 + gate 3 — crypto_sleeve_cap, with pro-rata forced trims |
| Crypto sleeve when 30d annualised vol > 120.0% | 22.0% maximum | gate 2 + gate 3 — crypto_sleeve_cap, with pro-rata forced trims |
| Crypto sleeve when 30d annualised vol > 160.0% | 20.0% maximum | gate 2 + gate 3 — crypto_sleeve_cap, with pro-rata forced trims |
| Limit | Value | Enforced by |
|---|---|---|
| Max trades per month | 16 | entry block — PAUSE_TURNOVER_CAP_REACHED (never blocks an exit) |
| Min holding period days | 3 | entry block — PAUSE_TURNOVER_CAP_REACHED (never blocks an exit) |
| Limit | Value | Enforced by |
|---|---|---|
| Halt trading if price gap unexplained pct | 40 | gate 3 — circuit breaker |
| Halt trading if venue price divergence bps above | 300 | gate 3 — circuit breaker |
| Halt trading if factpack hash mismatch | true | gate 3 — circuit breaker |
Execution
Fills are struck on a VWAP window that begins strictly after the decision timestamp plus a latency delay. No fill can use information from the bar in which the decision was made, so look-ahead is arithmetically impossible rather than merely avoided.
Philosophy
Crypto's problem is not direction, it is position sizing. This portfolio treats volatility as the binding constraint: sleeve weights are set by a deterministic volatility-targeting rule, and the AI selects only within the eligible set. No leverage, no yield products, no staking, no lending, spot only.
Review schedule
| Job | Cron | Timezone | Makes a decision |
|---|---|---|---|
| weekly review | 0 12 * * SUN | America/New_York | yes |
| monthly rebal | 0 12 1 * * | America/New_York | yes |
| daily vol check | 0 17 * * * | America/New_York | no |
Published on a fixed, regular schedule. Never event-triggered — no "market is crashing, sell now" alerts, deliberately.
Machine-readable mandate: config/portfolios/P04_digital_assets_equities.yaml · human rulebook: docs/portfolios/P04_digital_assets_equities.md · effective from 2026-08-06 · payload b618c290568f…