The thesis drifted
News, a competitor, or plain execution moved. Now you defend the position for a different reason than the one you bought it for.
Plenty of tools help you find the next 10x stock. This one is for the harder question: what to do with the positions you already own.
Once you own something it stops being an idea. It has a price you paid, a chart you have watched, and a story you have defended out loud. PortVise runs the argument again on every holding, without the sunk cost.
News, a competitor, or plain execution moved. Now you defend the position for a different reason than the one you bought it for.
Your best holding keeps winning until it is a quarter of the book, and the whole portfolio now rides on one story.
So you sell into it, even when nothing about the case has actually changed. Volatility is not the same thing as a broken thesis.
A single prompt gives you a polished answer. It also blends facts, calculations, and opinion until you cannot tell where the conclusion came from. PortVise splits the review into three passes and keeps the reasoning channels apart, so they get the chance to disagree.
Prices, headlines, your portfolio, and the macro backdrop.
Separate passes for risk, regime, and theme, then a check for contradictions.
Findings become ranked actions: reduce, exit, hedge, rotate, add, or monitor.
Sets the review plan and search priorities.
Fetches live prices, headlines, and macro data.
Builds the macro and market context.
Concentration, factor exposure, and what breaks in a bad scenario.
Finds past periods that rhyme with this one.
Asks whether several holdings are saying the same thing.
Flags contradictions and missing inputs before anything ships.
Argues the opportunity cost of sitting in cash.
Weighs it all and writes the ranked actions.
The memo says what to do, what the main risk is, when to look again, and what would change the answer. If it cannot make that case, it says so.
The AI case still holds up. The problem is that these holdings move together, so the downside is larger than any single thesis suggests.
Owning a lot of names does little when they all ride the same rates, the same liquidity, the same theme. This measures that.
Match today's macro state against past periods and see what the portfolio did next. Context, not a forecast.
Three portfolios in different styles, held in the open. PortVise reviews all three after the U.S. close and sends what it would do about them.
The verdict and the ranked actions for every PortVise portfolio, sent after the U.S. close.
NVDA and AMD behave like one 50% position. In a high-volatility regime that is a single-name failure mode wearing two tickers.
The largest single risk driver, and half the portfolio once you count AMD.
Duration hedges the portfolio's high beta if rates fall.
One email after the close covering all three portfolios: the verdict, the reasoning behind it, and what to do next. There are no trade alerts and no intraday noise.
Point PortVise at any OpenAI-compatible endpoint, whether that is a local LLM or a bigger hosted model. Run the web app with Python, or put the whole thing in Docker.
# Install dependencies
$ uv sync
$ npm install
# Start the portfolio advisor
$ uv run python run.py
✓ PortVise running at http://localhost:7860
Follow the three portfolios after every market day, or read the code and tell me what it is missing.