zfin/docs/reference/cli/compare.md
Emil Lerch 74fc219afd
All checks were successful
Generic zig build / build (push) Successful in 5m48s
Generic zig build / publish-macos (push) Successful in 11s
Generic zig build / deploy (push) Successful in 23s
add docs/guides
2026-06-22 14:53:53 -07:00

2.3 KiB

zfin compare

Compare your portfolio at two points in time: liquid totals, per-symbol price moves, and contribution attribution.

Usage:
  zfin compare <DATE>             # compare DATE vs. live portfolio
  zfin compare <DATE1> <DATE2>    # compare two historical dates

Arguments can be given in any order; output always reads older -> newer. Dates accept YYYY-MM-DD or relative shortcuts (1W/1M/1Q/1Y). Historical dates resolve against your history/*-portfolio.srf snapshots; on a missing date, compare prints the nearest available dates and exits rather than snapping silently.

Options

Flag Effect
--projections Add projected-return and 99% safe-withdrawal deltas (adds ~1-2s per endpoint).
--no-events With --projections, exclude life events.
--snapshot-before <DATE> / --snapshot-after <DATE> Override a side's snapshot (--snapshot-after live for the current portfolio).
--commit-before <SPEC> / --commit-after <SPEC> Pin the git commit for the attribution block (HEAD, HEAD~N, SHA, or working). Useful when a review date and its commit diverge.

Example

ZFIN_HOME=examples/post-retirement zfin compare 2024-04-01 2025-04-01
Portfolio comparison: 2024-04-01 → 2025-04-01 (365 days)

Liquid:  $2,350,000.00 → $2,580,000.00    +$230,000.00   +9.79%

With symbols held on both dates, a per-symbol price-change table appears, sorted by percentage move.

See also


CLI command reference