SphinxRisk
01

What this tool is

Sphinx Risk computes risk metrics, portfolio construction, and technical and fundamental analysis from two things: the trades you record, and a cache of market prices.

It is not a financial adviser and it places no orders. There is no connection to any broker, no function in this program can buy or sell anything, and nothing it returns constitutes investment advice or a personal recommendation. Decisions about your money are yours, and so is the responsibility for them.

If you need advice fitted to your situation, get it from a professional licensed to give it.

02

Who calculates and who explains

Every figure is computed by a deterministic engine written in Python, covered by automated tests, which given the same inputs always produces the same result. That engine uses no artificial intelligence at any point.

The copilot is a language model (Claude, by Anthropic) and its job is to explain, not to calculate. It has access to nothing except that engine's tools: when it answers with a number, that number comes from a real execution, and under every answer you are shown exactly which tools were called and with what arguments, so you can check.

That said, with the honesty this deserves: a language model can go wrong interpreting or wording things even when the underlying number is right. It can emphasise the wrong part, drop a caveat, or build a sentence that implies more certainty than there is. The tool trace lets you verify the figures; read the reasoning around them with the same judgement you would apply to any analyst's.

Your questions to the copilot, together with the portfolio data needed to answer them, are sent to Anthropic's API for processing. If that is not acceptable to you, the rest of the tool works without using the copilot at all.

03

Market data

Prices and financial statements come from Yahoo Finance, via the yfinance library, and are kept in a local cache. Fundamentals can also be read directly from SEC EDGAR — the filings companies submit to the regulator themselves.

Their accuracy, timeliness and availability are not guaranteed. Days can be missing, the provider can be wrong, and it can stop updating without notice. The tool includes coverage and gap checks precisely because this happens, but no check replaces confirming an important number against the official source before acting on it.

Prices are retroactively adjusted by the provider for splits and dividends, so the historical series can change between two queries. The trades you record, by contrast, keep the price you actually paid, unadjusted.

Personal use. The current data source's terms do not permit commercial redistribution. This tool is used personally today; before it is offered as a paid service the source has to be replaced with a commercially licensed provider. That replacement is anticipated in the design and touches a single function.

04

What the numbers mean, and what they do not

Past returns do not predict future ones. This is not a courtesy formula: every metric here describes one specific window of the past and contains no information about what comes next.

  • Volatility, Sharpe, VaR and the rest are computed over a historical window. Change the window and you change the number, so every result travels with the period it was computed over. A figure without its window is incomplete.
  • Optimised portfolios are unstable. Maximising the Sharpe ratio requires estimating future returns, and that estimate is mostly noise. This is why the equal-weight portfolio is always shown alongside: so you can see how far the "optimal" answer moves.
  • The regime model describes the past, it does not announce the future. Per-regime returns are annualised from short samples: they are for comparing regimes against each other, not for forecasting.
  • Machine learning models report whether they beat doing nothing, and right now the drawdown classifier does not. It is shown anyway, because that is the honest information.
  • Valuation multiples compare a price against the last published accounting period. When those two dates are far apart, the multiple mostly measures that distance.
  • The equity curve excludes dividends received, commissions and taxes, so it understates total return and overstates what would have been left in your pocket.
05

Your data

Your trade history is personal financial information, and it is treated as such.

Every portfolio belongs to one account. Ownership is part of the database query itself rather than a check performed afterwards, which means there is no code path that can read another account's portfolio — including by changing the number in a URL. There is an automated test that proves exactly that.

Passwords are never stored. What is stored is an Argon2 hash, from which the password cannot be recovered — by us or by anyone who obtained the database. This is also why there is no way to have your password sent back to you: nobody has it.

Your data leaves this machine in exactly one case: when you ask the copilot something. Your question travels to Anthropic's API together with the portfolio data needed to answer it. Every other part of the tool runs without sending anything anywhere.

Last reviewed: 25 September 2026. This page describes the current version and will change when the tool does.