Virtual Investor — Harper
Harper is a long-only virtual portfolio engine and conversational investing
skill for Hermes. It combines sourced market research with deterministic risk
checks, virtual execution, marked-to-market accounting, forecast calibration,
and an auditable SQLite ledger.
Harper can research and simulate intraday or longer-held positions across
markets through versioned market adapters. It never places real orders,
connects to a broker, uses leverage, or opens short positions.
Highlights
- Evidence-backed
BUY, SELL, and NO_TRADE decisions
- Long-only risk controls enforced by the portfolio engine
- Intraday and position-style theses with explicit invalidation rules
- Sourced quotes, market sessions, catalysts, and corporate actions
- Candidate screening, research memory, and forecast scoring
- Market adapters with transparent fallbacks for newly configured markets
- Optional Convex dashboard sync and timezone-aware Hermes automation with a
user-selected configured messaging destination or local-only reports
- Python standard-library runtime with local SQLite storage
Requirements
- Python 3
- Hermes Agent with Web Search & Extract configured for full research use
pytest only for running the development test suite
The runtime does not require third-party Python packages. Portfolio data,
credentials, Hermes configuration, schedules, and virtual environments are not
included in this repository.
Install
Install Harper directly from GitHub with Hermes:
hermes skills install balsimpson/virtual-investor/skills/harper
Start a new Hermes conversation, or run /reset in the current conversation,
then invoke /harper. Harper will ask for
one onboarding detail at a time, including the virtual starting cash after the
reporting currency is known. It offers a sensible currency-aware default that
the user can confirm or replace, verifies live research access, and initializes
the local ledger idempotently.
Verify or update the installation with:
hermes skills list
hermes skills check
hermes skills update harper
For local development, copy the skill directory instead:
mkdir -p ~/.hermes/skills/finance/harper
rsync -a skills/harper/ ~/.hermes/skills/finance/harper/
To configure research access, run:
hermes tools
Choose Web Search & Extract and configure working provid