propose_replacement
Decide if a current stock should be replaced by a candidate or cash, scoring each against portfolio exposure and fees. Returns HOLD, REPLACE, or SELL_TO_CASH with fee-aware orders.
Instructions
Is current_symbol still worth its slot, versus one of candidate_tickers or plain
cash? Utility blends each symbol's analyze_stock score/confidence with its fit against
holdings' hidden exposure (portfolio.exposure) and, when a thesis was saved for it,
its last check_thesis status. Returns HOLD/REPLACE/SELL_TO_CASH with fee-aware order(s)
-- a good company is not automatically a good addition (CLAUDE.md), and the round-trip
fee must be worth paying before rotating.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| holdings | No | Parsed portfolio holdings (parse_portfolio_export's 'holdings' list) used to score each candidate's fit against existing hidden exposure. Omit to treat every candidate as fully diversifying (fit=1.0). | |
| cash_utility | No | ||
| fixed_fee_eur | No | ||
| max_fee_ratio | No | ||
| current_symbol | Yes | ||
| min_improvement | No | ||
| variable_fee_pct | No | ||
| candidate_tickers | Yes | ||
| current_value_eur | Yes | ||
| max_roundtrip_fee_ratio | No |