Skip to content
VELUMA

Changelog

What shipped, and what moved

Entries marked Math changed a formula. If a figure you wrote down has shifted, that is where to look first.

  1. 0.3.0

    Positions, correlation, and pages for the things worth linking to.

    • FeatureHoldings table with cost basis, weight, and realized and unrealized profit, tracked on an average-cost basis.
    • FeatureCorrelation matrix across holdings, measured over the dates every holding shares.
    • FeatureVolatility, annualized return, current drawdown, recovery length, and best and worst day added to the dashboard.
    • MathThe risk-free rate behind the Sharpe ratio is now a setting rather than a fixed 4%. Existing readers keep 4% until they change it.
    • FeatureTrade ledger is sortable and filterable, and individual trades can be deleted with an undo.
    • FeatureExport every trade back out as CSV or JSON, and delete all local data from one place.
    • FeatureMethodology, glossary, FAQ, privacy, mission, impact, and changelog now have their own pages.
    • FeatureCommand palette on ⌘K, skeleton loading states, and an offline indicator.
    • FixCompact currency no longer renders round amounts as “$950.0” on axis ticks.
  2. 0.2.0

    Local price cache, and a name.

    • FeatureEnd-of-day prices are cached in IndexedDB with their covered date ranges, so a repeat visit costs no API requests.
    • PrivacyThe Alpha Vantage key moved from a build-time environment variable to per-device storage. A bundled key would have been readable by every visitor.
    • FeatureOffline shell via a service worker, and installable as a progressive web app.
    • FeatureDark theme, applied before first paint.
  3. 0.1.0

    CSV import, portfolio value, drawdown, and Sharpe.

    • FeatureImport trades from a broker CSV, with unreadable rows reported by line number rather than dropped.
    • FeaturePortfolio value at every close since the first trade, plotted.
    • MathMaximum drawdown and annualized Sharpe ratio, written as pure functions and covered by unit tests.