Record every trade. See what actually works.
The open-source trade journal: broker sync, deep analytics, a P&L calendar, daily journaling with voice dictation, and AI reflection. Free inside LuxAlgo, where your AI can read and write it over MCP, or on your own machine.
Edge Score
v2 · open formula
Net P&L
+$0
Day win rate
0%
Sample data, drawn in HTML. The real dashboard renders your own fills, plus equity curve, gauges, and time-of-day heatmaps, with every chart drawn by Vela™, our open-source charting engine built for speed in the agentic era.
Live on mcp.luxalgo.com · sign in
Ask your journal from any AI.
Connect the LuxAlgo MCP in Claude, ChatGPT, Cursor or any MCP client, and thirteen journal_* tools read and write the journal inside LuxAlgo, as you. Ask for your worst weekday and the trades behind it, have the agent tag them and write the day note, or log a trade by hand. The first protected call asks you to sign in with your LuxAlgo account; the app owns the rules and validates every change.
Running the server locally instead? Sign in once with npx -y @luxalgo/mcp login and the same tools follow.
journal_list_accounts
Your journal accounts and timezone: the first call, since every account filter takes these ids.
journal_overview
The dashboard for a window: metrics, Edge Score, per-day P&L, equity curve, open positions. Compare adds the previous window.
journal_calendar
One month of the P&L calendar: day cells, weekly and monthly totals, trading and winning days.
journal_breakdown
Closed trades grouped by weekday, time of day, hold time, symbol, side, size, tag, rating and asset class.
journal_list_trades
Trade summaries, paginated: filter by account, day window, symbol, direction, status and tag; sort either way.
journal_get_trade
One trade in full: fills, per-exit P&L, every annotation.
journal_get_day
A single day’s stats, trades and notes.
journal_list_tags
Your tags, mistakes and playbooks with usage counts, so new annotations reuse your words.
journal_search_notes
Day notes and trade notes as one newest-first stream, with text, day, symbol and account filters.
journal_add_trade
Log a trade by hand: its fills into a manual or import account.
journal_update_trade
Annotate a trade: notes, tags, mistakes, playbook, rating, stop, target, reviewed.
journal_write_note
Add a note to a day.
journal_update_note
Replace a day note’s text or move it to another day.
Your fills find their own way in.
Read-only broker sync through the open Broker SDK (Alpaca, Binance, Kraken, IBKR Flex, Topstep, and more), with credentials AES-256-GCM encrypted next to your database. Or drop a statement on the import page: twelve formats auto-detect, re-imports dedupe themselves, and a column mapper covers any other CSV.
Self-hosted. Free, forever.
Trade JournalDashboardAlpacaRead-only syncRead-only broker sync7D 30D 90D YTD All☷ Filters
Round trips, not rows
Flat-to-flat position cycles rebuilt from raw fills: partial fills, scale-ins, flips, futures multipliers.
Your accounting, per account
FIFO, LIFO, or weighted average per account. Switch it and the engine rebuilds every cycle.
Notes that survive
Ratings, tags, mistakes, and journal notes are keyed to the trade, so they survive every rebuild.
Analytics on top: net and gross P&L, win and day-win rates, profit factor, expectancy, R multiples, streaks, drawdown and recovery, profit concentration, and per-symbol, tag, mistake, and playbook breakdowns.
A score that shows its formula.
The Edge Score is a 0 to 100 composite of six components with published weights, versioned in the repo and withheld entirely below five closed trades. No black box: the same radar the dashboard draws is the table below.
Win rate
full marks at 60%
Profit factor
full marks at 3.0
Avg win / avg loss
full marks at 2.5 : 1
Drawdown
full marks at 0%, zero at 25%+
Recovery factor
net P&L = 3x max drawdown
Consistency
best day <= 15% of day profits
Score = Σ(componentᵢ × weightᵢ) / Σ weights · EDGE_SCORE_VERSION = 2
Write the day down. Or just say it.
Every trading day gets a page: day stats, the intraday P&L curve, and autosaving notes. Type them or dictate them with browser speech recognition, zero keys, zero cost. Folders, search, and tagged notebooks hold the longer thinking; playbooks turn setups into rule checklists that Reports scores.
Reflection, with your own key.
Bring an Anthropic API key and the journal reflects back: session recaps, per-trade critiques, and ask-your-journal answers grounded in your own aggregates. The key is encrypted at rest, and requests go from your server to the model, nowhere else. Want your own agent to do the journaling? The hosted LuxAlgo MCP above reads and writes the journal inside LuxAlgo, as you.
Running before your coffee is.
Node 22+ and pnpm, or just Docker. First run creates the SQLite database by itself; a password and at-rest encryption are one env var each when you want them. Early release: APIs and schema may still move before 1.0.
Your trades. Your journal. Your story.
Free inside LuxAlgo, or self-hosted. Free, forever.
MIT-licensed, with no telemetry, ever. The free journal inside LuxAlgo runs on this same open engine, and the repo stands alone: LuxAlgo integrations are optional bridges, never dependencies.
MIT © LuxAlgo Global, LLC · free in LuxAlgo or self-hosted · no telemetry, ever · contribute
Trade Journal reports and analyzes what your broker reports. Nothing it computes or generates (including generated recaps, critiques, and answers) is investment advice, and no metric predicts future results. Verify important numbers against your broker’s own statements.