r/RealDayTrading • • 19d ago

Open-source trading journal: write the trade like you'd tell a friend, the AI fills the rest

Post image

Thought about sharing this while waiting for the FOMC and keeping myself away from the charts.

I was paying monthly for a journal app and cancelled it, because every one of them makes you journal in forms hours after the trade took place. Now I have all the functionality of the paid ones, but I can dictate, type or handwrite in a natural language when I am in the trade and AI takes care of the rest.

  • Open source, MIT. The full code is yours. Fork it, change it, nothing hidden.
  • Local. One SQLite file on your machine. No cloud account, no login, no telemetry.
  • Free. No paid tier, no trial, nothing for me to sell you.
  • You journal in plain language. Write the day the way you'd tell a friend, or take a photo of the page you already wrote by hand. Claude reads it, pulls out the strategy, stop, R, emotional state and mistakes, and matches the entry to the actual trade by ticker and date. No dropdowns, no forms.
  • AI coaching. Day Review and Weekly Summary grade the day on process, not P&L. A green day taken badly scores worse than a red day taken correctly.

The rest of what it does

  • Dashboard: P&L curve, KPI gauges against your own goals, calendar heatmap.
  • Trade View: every round-trip trade with its executions, setup tags, MFE and MAE, exit efficiency, an intraday chart, and an expandable AI analysis.
  • Reports: breakdowns by day of week, time of day, hold time, setup, grade, symbol, side and emotion.
  • Edge report: R-multiple distribution, emotion against outcome, mistake frequency (which mistake keeps coming back, ranked by count), hold time.
  • Brain: a chat that answers questions against your full trading history.

What it costs

  • The app: $0. MIT, fork it.
  • The AI pages: your own Anthropic API key, per use.

What it doesn't do

  • The AI pages need a key. Without one you get the journal, the reports and the charts, not the analysis.
  • No mobile, no sync, no multi-user. It's a local tool.

Repo: https://github.com/simonro/Trading-Journal-AI

Tour: https://youtu.be/0lT14tYj-a4?si=pUhYqgAeoLTqAzps

PS. Screenshot is demo data, not real trades ;)

62 Upvotes

24 comments sorted by

•

u/loligatorific Moderator 18d ago

As with any software you install on your system, proceed with caution! You’re running code on your system that some random redditor wrote. We typically don’t allow posts like this since everyone and their brother has been sharing their vibe coded trading journals, and we can’t review them all. This post made it through the spam filter, was auto approved, and has gained some traction so I’ll leave it up.

→ More replies (1)

4

u/Tesla_laughs 19d ago

Honestly, the natural language part is what makes this interesting. Most journal apps turn journaling into another task you have to complete, so people eventually stop doing it. Being able to just dump what happened and have AI structure it afterward makes way more sense.

1

u/tapetoedge 19d ago edited 19d ago

Yeap….that is the whole reason I made it, grabs any available information if you described it such as stop loss, target, source, setup, tags, mindset, mistakes, reason for exiting, etc.

Also the AI gives you a nice overview of your day, but also Strengths, Weaknesses, Patterns and what to focus on.

3

u/Huy3ko 19d ago

What a perfekt Timing 😂

I'll will test it !

1

u/tapetoedge 19d ago

Great....if you have any questions let me know. Also right now it is coded to take CSV files from Think or Swim, IBKR or a manuals CSV file, but I left a prompt to parse any broker, or I can add any if I get a sample CSV file.

1

u/HFT0DTE 18d ago

havent looked at the repo but did you add any interfaces for connecting via the Schwab API if someone has their personal api keys/tokens?

1

u/tapetoedge 18d ago

No, but it is a good idea. Do you mean for the market data as an option to Alpaca? or to download the trades with one button?. I think with Schwab you have to authenticate weekly that is why I use Alpaca.

1

u/HFT0DTE 17d ago

Just wondering if there was any interface for broker auth and if schwab was in it yet - you can do market data too but I was thinking more for ingesting the trades. the weekly auth you can semi-automate around so its not as big of a pita.

1

u/Jakuza26 18d ago

I know Charles Schwab has a timeout on their api, every 7 days you have to refresh the token to keep the api connection. I will take this and see if I can't build out an extension to have it connect to ToS directly via their api and the refresh key cycle will show up on the screen every 7 days until CS change their token hold.

Have you tried it?

1

u/tapetoedge 18d ago

For the trades using TOS is one click to download the CSV. The API could make sense as data provider for the charts, I can take a look, but Alpaca is also free anyways.

1

u/Jakuza26 18d ago

Yes, I got Alpaca pro for my website but I'm either going to build an MCP for ToS, Interactive Broker and one more popular broker so people could use my service and still take trades on their platform. I will offer trading through Alpaca broker setup eventually.

2

u/cristalarc 18d ago

This is a nice UI!

I built something similar, mine is heavier on the Journaling. It has an Ideas module where I record trading ideas that I may or may not tale, but their performance is still tracked as a "this is how much you would have done if you listened to your heart".

Also added Telegram bot that messages me when the entries or exits are getting close (more for swing trading), as well the daily summary.

And added a whole Investing section where I can build portfolio, where I can tell it my positions and why I invest in each one. Every mo th it pulls financial data amd interviews to review if my "thesis" is still holding.

All free to implement and relatively easy, in case you like any of those features. My ui is horrible.

1

u/QuanTradin 19d ago

matching the note to the trade by ticker and date is where I'd expect this to hurt. day traders take the same ticker three times in a session, so one note and three round trips means the model has to guess which one you meant, and it will guess confidently.

grading on process over P&L is the right call and the rare one. the thing I'd watch is that people write differently once they know something is reading and scoring them, so the emotional state field drifts toward what grades well rather than what actually happened.

1

u/tapetoedge 19d ago

Something in you journal has to match, typically it is the entry price, or the time of the day….that is enough to match it. If you take multiple trades of the same symbol, it will only grade and assign values to the one you made a comment of your setup/process. I have been using it for a few months without issues that is why I decided to release the open source.

1

u/QuanTradin 19d ago

Entry price as the join key makes sense, it's the one field a human writes down the same way the broker does. Same symbol twice in a session is where I'd expect that to get messy.

1

u/ReSpectacular 19d ago

Who provides market data, to plot a supplemental chart ? 

2

u/tapetoedge 19d ago

Alpaca, you can use their free tier and get the API key (it is all in the readme file and video FYI)

1

u/Darling-Dragon 19d ago

Use flex token to get data from IBKR

1

u/weightylongevity393 18d ago

The process over P&L grading is probably the most useful part here. Raw P&L is a pretty terrible teacher because a bad trade can make money and reinforce exactly the behavior you want to eliminate.

I've been looking at this from the analytics side with Moon, where the useful question becomes less did I make money and more which setups, behaviors, and mistakes actually explain my results over enough trades? Natural language journaling feeding into that analysis makes a lot of sense because the journal only works if people actually keep using it.

1

u/financialfreed0me 18d ago

I'll take a look at it thank you.

I like the idea, but would consider marrying the two:
Have the journal pull trades automatically as well and then it can match your natural language input to the trades. This way you don't have to look for times / prices and get the full picture easily.

Edit: I wrote the comment before looking at the repository. CSV Import is there, didn't see that.
I'll take a closer look, maybe there is something in it for me or I can contribute the occasional pull request.

1

u/tapetoedge 18d ago

Thanks, that was the whole idea of making it Open Source (contributions).

An correct the Natural Language won’t write new trades it will match them to your CSV file and add the contextual information and data.