Skip to content

Releases: disin7c9/asset-management

v2.12.0 — discovery shelves

Choose a tag to compare

@disin7c9 disin7c9 released this 22 Jul 12:27

v2.12.0 — discovery shelves

Discovery now shows real choices, honestly bounded — and refuses to pick a bet for you.

What's new

Shelf-aware discovery. When you're light in a role, --discover shows a shelf of ≥3 genuinely comparable funds (e.g. the intermediate-treasury sleeve IEF / VGIT / GOVT) and names the role's other shelves with counts instead of hiding or ranking them (also here: long (9) · short (4)). Drill one with --discover treasury:long; see a role's full per-shelf menu with --discover treasury.

Satellites are never flagged as a gap. Not holding a tech or theme bet is a stance, not a hole. --discover sector-equity hands you the map of shelves (tech · semis · clean-energy · …) and refuses to shortlist — picking the sector is your decision, not the tool's.

core vs tilt. Every universe fund is tagged core (a plain blend / investment-grade / diversified sleeve) or tilt (a style, single region, or high-yield lean). Gaps surface core funds first, so a junk-bond fund can no longer fill a "corporate-bond gap" by size accident.

New own-drawdown screen check. --screen reports a candidate's own worst fall versus your book's, and warns when it's deeper. Long treasuries and junk bonds pass the correlation test yet carry equity-scale drawdowns of their own — the number now says so (TLT: −23.8% over the demo window, deeper than the whole book's −9.8%).

MCP. discover_gaps gains optional role / flavor arguments and shelf fields — fully additive, no breaking change for existing clients.

Vocabulary. thematic-equity merged into sector-equity (13 roles) — structurally identical satellite twins.

Data fixes

IEF correctly labeled 7–10y intermediate (and stays the treasury preset default); mortgage funds (MTBA / LMBS) re-roled to bond-aggregate; the ARK funds filed under an innovation shelf; a mislabeled high-beta fund dropped.

Compatibility

Presets, onboarding, and allocation proposals are byte-identical to v2.11.4 (golden-pinned). A custom universe without the new core / flavor columns behaves exactly as before.

Install (Claude Desktop / CLI)

Attached: the wheel and the .mcpb bundle. Claude Desktop config route (works on the free plan):

{
  "mcpServers": {
    "asset-management": {
      "command": "uvx",
      "args": ["--from",
               "https://github.com/disin7c9/asset-management/releases/download/v2.12.0/asset_management-2.12.0-py3-none-any.whl",
               "asset-management-mcp"],
      "env": { "ASSET_BOOK": "C:\\path\\to\\your\\transactions.csv" }
    }
  }
}

Validated: holdings reconciled to the cent against a broker export, risk stats to 4 decimals against quantstats. 660 tests, strict mypy, ruff clean.

v2.11.4 — first public release

Choose a tag to compare

@disin7c9 disin7c9 released this 16 Jul 09:44

First public release

A personal asset-management tool that turns an append-only transaction log into a
drawdown-first brief — max drawdown with dates and recovery, Ulcer index, CDaR, and
Sharpe/Sortino/Calmar, every sampled statistic with a bootstrap confidence interval — plus
deterministic rebalance suggestions toward a target you choose, and a walk-forward benchmark
verdict that says "inconclusive" when the evidence is thin. A read-only MCP addon exposes the
same validated core to Claude: the AI writes prose, never numbers.

Try it — one command, no setup (bundled example book)

uvx --from git+https://github.com/disin7c9/asset-management asset-management --demo

Verified from a completely cold cache the day of this release: ~30 seconds end to end,
including the environment build.

Chat with your portfolio — Claude Desktop (works on the free plan)

Settings → Developer → Edit Config:

{
  "mcpServers": {
    "asset-management": {
      "command": "uvx",
      "args": ["--from",
               "https://github.com/disin7c9/asset-management/releases/download/v2.11.4/asset_management-2.11.4-py3-none-any.whl",
               "asset-management-mcp"],
      "env": { "ASSET_BOOK": "C:\\path\\to\\your\\transactions.csv" }
    }
  }
}

Drop ASSET_BOOK to explore the bundled demo portfolio first. Eight read-only tools; the
server is offline except a one-time cache warm; every figure comes from the deterministic
core, and a figure it can't compute honestly is null — never a guess.

Assets

  • asset-management-2.11.4.mcpb — one-click extension bundle for Claude Code
    (Desktop's chat does not call sideloaded extension tools — use the config route above there).
  • asset_management-2.11.4-py3-none-any.whl — install without git:
    uvx --from https://github.com/disin7c9/asset-management/releases/download/v2.11.4/asset_management-2.11.4-py3-none-any.whl asset-management --demo

Numbers are reconciled against Ghostfolio (to the cent) and quantstats (to 4 decimals);
630 tests, strict typing, CI-gated. Read-only by construction — it never executes trades.
Not financial advice, structurally: every suggestion is paired to the named rule that
produced it, and the AI is fenced out of the arithmetic.