Portfolio optimization with DIONYSUS
What the DIONYSUS service does when you run optimization—inputs, outputs, and how it fits IRIS and ATLAS.
What DIONYSUS is
DIONYSUS is TRINITY’s portfolio optimization engine: it reads the latest symbol analyses, applies your risk settings and optional constraint packs, and returns a proposed set of positions (weights, shares, stops, and rich metadata). It does not execute trades by itself—confirmation and execution stay in IRIS, ARTEMIS, and your broker workflows.
In IRIS you run optimization from Optimize portfolio, TRINITY Optimized Portfolios, or the portfolio builder—the app sends your inputs securely and shows the proposal when it returns.
Technical note (optional)
Integrators may call the same capability through HTTP routes documented in Optimization in the IRIS browser and API. Retail investors can ignore this.
End-to-end flow (conceptual)
- Policy compile — Your request may include a risk quiz and suggested preset. DIONYSUS can derive a constraint pack (limits on turnover, volatility targets, sector caps) and a policy explanation stored for audit.
- Merge constraints into risk settings — For example, a
DEFAULTsector cap can tighten max position size; a vol target can adjust softmax temperature for confidence-based strategies (see Constraint packs and optimizer diagnostics). - Load analyses — The latest ATHENA outputs for each symbol are loaded from TRINITY’s shared analysis store so every line matches what symbol pages would show at that moment.
- Rank and filter — Symbols are filtered by signal (e.g. BUY, ADD, HOLD) and price, then scored and ranked (see How DIONYSUS filters and ranks symbols).
- Allocate capital — Your chosen allocation strategy turns ranked symbols into dollar weights and positions (see DIONYSUS allocation strategies in depth).
- Post-processing — Sector caps, greedy capital checks, and optional rebalance turnover limits adjust the book (see Rebalancing and turnover limits).
- Persist — The app can save the proposal as a real portfolio with positions so you get a stable link (
/portfolio/<id>) and full position cards—not a one-off scratch file.
Minimum capital and failure modes
TRINITY enforces a minimum portfolio size of $1,000 for optimization. In practice, thin accounts or very tight risk settings can still yield no viable positions—you will see an error explaining insufficient capital or restrictive limits rather than a fake portfolio. See Why optimization returned few or no positions.
What you see after a successful run
You typically get:
- A portfolio you can open in IRIS with one line per symbol.
- Allocation cards showing shares, entry, % of account, stop, target, risk/reward, stage, signal, and ATHENA context such as support/resistance when present.
- Cash remaining, position count, and an echo of the risk settings you used.
- Support correlation ID (
trace_id) if you need help tracing a single run. - Optimizer diagnostics when constraint merging or turnover logic applied (see Constraint packs and optimizer diagnostics and Optimization results explained).
Relationship to Hunt and Cash Hunt
| Tool | Role |
|---|---|
| Hunt / Cash Hunt (ARTEMIS) | Suggest swaps or cash deployment with portfolio context; different scoring and UX surfaces. |
| DIONYSUS | Full-book solver-style proposal from the current analysis universe under your numeric constraints. |
Use both thoughtfully: compare outputs, not as competing “truths.” See Hunt, Cash Hunt, and optimization.
Compliance mindset
- Optimization outputs are software-generated proposals, not suitability determinations or performance promises.
- Past analysis quality does not guarantee future results.
- For regulatory context, see Disclosures.
Deeper mechanics (still non-technical)
Ranking vs allocating — DIONYSUS first decides which symbols survive filters and in what order (quality, stage, signals). Then your allocation strategy decides how many dollars each line gets. Changing strategy without changing the universe can reshuffle weights dramatically; changing the universe (batch analysis, watchlists) changes who is even eligible.
Shared analysis store — The optimizer reads the same ATHENA-backed analysis that powers symbol pages. If a symbol was never analyzed or failed ingestion, it will not appear—there is no “silent best guess” from a stale export.
Persistence — Successful runs can create or update portfolio records so IRIS shows real rows with IDs you can bookmark. That is your portfolio state in the product (positions, cash, settings)—still not automatic broker execution unless your environment is wired for it. For how cash, closed lines, and performance views behave after you accept a proposal, read Your portfolio in TRINITY.
Idempotency — Clicking optimize twice with the same inputs can still yield different outputs if upstream analyses changed between clicks. Treat each response as point-in-time.
Who should use optimization first
- Traders who already set max risk and max positions and want a structured first draft to edit.
- Users comfortable rejecting lines that violate their own rules—even if the model liked them.
Who should wait:
- Anyone still learning stages and SATA (read Analysis & symbol pages first).
- Anyone expecting guaranteed outperformance—see Disclosures.
Further reading
- DIONYSUS allocation strategies in depth
- How DIONYSUS filters and ranks symbols
- Constraint packs and optimizer diagnostics
- Rebalancing and turnover limits
- DIONYSUS position sizing, stops, and targets
- Optimization in the IRIS browser and API
- DIONYSUS optimization troubleshooting
- DIONYSUS in the TRINITY architecture
- Allocation strategies (conceptual glossary)
- Risk management fundamentals
- Your portfolio in TRINITY — saved book, cash, alerts, and performance context
Progress is saved in this browser. Cloud sync requires PUBLIC_IRIS_API_BASE, IRIS CORS allowlist,
and window.__trinityIdToken.