Rebalancing and turnover limits
prior book weights, annual turnover caps, and how DIONYSUS blends a new proposal toward your existing book.
Initial optimize vs rebalance
- Initial optimize — Builds a portfolio from analysis + cash with no prior positions in the request. Annual turnover in the constraint pack may be recorded for diagnostics but not enforced the same way as when a prior book exists.
- Rebalance-style run — You may supply
prior_book_weights: a map of symbol → fraction of total capital for the existing book. Whenmax_portfolio_turnover_annualis set on the constraint pack, DIONYSUS can cap one-way turnover relative to that prior by blending the new allocation toward the old weights (implementation uses a greedy adjustment after initial position sizing).
Why turnover limits exist
High churn increases costs, tax realization, and operational risk. A turnover cap is a discipline knob—not a guarantee that real-world commissions and slippage match the model.
prior_book_weights rules (conceptual)
- Symbols in the prior should be a subset of symbols in the new allocation list (v1 contract).
- Fractions are fractions of total capital, not share counts.
- If you omit
prior_book_weights, the optimizer has nothing to blend—turnover enforcement for rebalance does not apply.
Greedy capital and turnover together
DIONYSUS applies greedy constraints so total allocated dollars do not exceed total_capital, then may apply sector caps and turnover logic. If everything is filtered out, you get a clear error rather than a partial silent failure.
Retail-friendly workflow
- Run optimization when your thesis or risk preset changes—not on a fixed clock by default.
- Compare proposed trades to turnover and tax constraints outside TRINITY.
- Use paper or small size when testing new presets.
What gets saved when you accept a proposal
When you accept an optimized or rebalance-style proposal in IRIS, the app writes the new positions and cash picture into your portfolio record so list and detail pages match. That is TRINITY state you can audit in the app—it does not by itself mean a brokerage order executed. See Your portfolio in TRINITY.
Related
Progress is saved in this browser. Cloud sync requires PUBLIC_IRIS_API_BASE, IRIS CORS allowlist,
and window.__trinityIdToken.