The question
How should a portfolio be weighted, how bad can it get, and would the plan have held up in past markets after trading costs?
The method
The optimizer picks weights with PyPortfolioOpt and traces the efficient frontier. The simulation draws thousands of possible futures (normal or Student-t returns) and reports value at risk and conditional value at risk. The backtest re-estimates weights at each rebalance using only data available at that date, charges trading costs on turnover, and compares each plan with equal weight and buy-and-hold. A rebalance gate approves a trade only if the expected Sharpe gain is larger than the cost.
Tools and methods
Limits
The build environment had no live market data, so I tested everything on simulated prices. The 46 to 35 figure comes from that test and is not a real-market result. Simulated futures assume past return patterns continue.