Two columns for entry and exit, a subtraction, and you have a trade record. A spreadsheet costs nothing, needs no setup and is already on your machine.
The question is not whether it works at the start. It does. The question is what breaks once you are running more trades, more than one strategy and more than one account, and whether the repairs cost more than the tool saved.
The case for a spreadsheet
It is free or already paid for. Google Sheets costs nothing to use and Excel ships inside Microsoft 365.
You decide the columns. A field for the weather on the entry day is one click away. No product designer decided what a trade record contains.
You can see every formula. When you write the profit and loss calculation yourself, you know what it does, and a figure that looks wrong can be traced cell by cell.
Simple tracking stays simple. A handful of trades a month in one account fits a spreadsheet without friction.
There is nothing to learn. You can start in five minutes without reading anything.
If yours is working, the rest of this article is a list of the points at which it stops.
Where a spreadsheet breaks down
Formulas break without saying so
A deleted row, a dragged formula that shifted a reference, a paste that overwrote a calculated cell. The sheet shows the new number with the same confidence as the old one.
You can trade for weeks against a win rate or an average R-multiple that is wrong, because nothing in a spreadsheet validates a value on entry. The delay between the mistake and the discovery is what makes this expensive. Nothing flags it at the moment it happens.
Everything is typed by hand
Entry price, exit price, units, fees, dates, strategy, notes. Per trade.
Current prices come from you looking them up. Position size comes from you doing the division. Fee adjustments come from you remembering the fees. Each manual step is a place for a typo, and the typo lands in a cell that feeds a formula.
The analytics stop at a certain point
Total profit and loss and a win rate are straightforward. An R-multiple distribution, a drawdown curve, or expectancy split by strategy are not impossible in a spreadsheet, and they cost pivot tables, array formulas and chart configuration to build, then maintenance to keep.
A risk-reward calculator is a one-field-per-input tool in a journal and a small engineering project in a sheet.
Prices are whatever you last typed
A spreadsheet has no price feed. Open positions carry the value you entered when you last updated them, so the unrealised figure is as current as your last maintenance session and no fresher.
The file multiplies
"Trade Journal v2 FINAL.xlsx" acquires a copy, then a version on a shared drive that may or may not be newer. Sorting one column without selecting the full range reorders half the sheet. Behind a database there is a revision history; behind a file there is whatever your cloud drive kept.
It cannot look for a pattern you did not think of
A spreadsheet answers the question you build a formula for. It will not tell you that your losing trades sat in the account longer than your winners unless you build the comparison yourself, and you only build it once you suspect it.
What a dedicated trading journal offers
A purpose-built swing trading journal is shaped around one job: recording a trade in a form that can be graded later.
Fields that are the same every time. In Swingfolio, the trade form asks for Entry Date, Direction, Units, Entry Price and Brokerage Fee, with an asterisk on the required ones. Below them sit a Stop row and a Target row, each holding a percentage and a price that stay in sync as you type either one. A Strategy selector attaches the trade to a strategy, and reads "No Strategy" until you pick one.
Calculations you do not maintain. Profit and loss, R-multiple, fees and risk as a percentage of the portfolio are computed from the fields. As you type, the form prints Exp. Risk, Exp. Reward, R:R Ratio and Port. Risk, with a warning reading "Risk exceeds 5% of portfolio value" when the trade crosses that line. It stops short of sizing the trade: the share count comes from the separate position size calculator.
Analytics that are already built. Win rate, expectancy, profit factor, average hold, drawdown, an equity curve, an R-multiple distribution and a per-strategy breakdown, which appears once five trades are closed, are on the analytics page. Date and strategy filters sit above the charts, joined by a portfolio filter once you have more than one portfolio.
CSV import with a review step. Upload a broker export and a six-step wizard runs Upload, Review required, Matched closes, Open positions, Reconcile cash and Save. The upload step reads your header row and proposes a mapping to ticker, date, price, quantity and fees. A file of already-matched closed trades maps instead to entry and exit date, entry and exit price, units and fees. You can change any of it before anything is saved. Any broker that exports a CSV works, which is what broker imports covers. Importing a CSV is part of the 30-day trial.
Patterns surfaced two ways. Computed insight cards appear on the analytics page on their own, with titles such as "Top Strategy", "Losers Held Too Long" and "Win Rate Declining", each carrying the figure behind it. Separately, the Reviews tab writes a review when you press "Generate Review" over a period you pick from Weekly, Monthly, Quarterly, 6 Months and Yearly, and prints Summary, Best Trade, Worst Trade and Action Items. The written review runs on request. Nothing generates it on a schedule.
More than one portfolio. Each account has its own cash balance, transaction history and metrics, with a combined view.
Tax reporting from the trade dates you already recorded. For an Australian account, a summary reads Capital gains, Capital losses, Net capital gain, 50% CGT discount and Taxable capital gain. Below it, a table lists each disposal with the days it was held. For a United States account, the report switches to cost basis, proceeds, an adjustment code and wash-sale matches. This article is general information and not tax advice.
When a spreadsheet is still the right answer
A spreadsheet holds up while all of these are true:
- One account, one strategy
- Few enough trades that manual entry is not competing with your analysis time
- No need for a breakdown beyond total profit and loss and a win rate
- You enjoy maintaining formulas, or at least do not mind
There is no trade count that flips this. The tool matters less than recording every trade, so a spreadsheet you keep up to date is worth more than a journal you stop opening.
When to switch to a trading journal
The switch pays when one of these is true:
- Manual entry has become the reason you skip trades. The log competes with the next setup, and the log loses.
- You run more than one strategy or more than one account. Cross-sheet references are where the errors live.
- You want a metric you would have to build. Expectancy per strategy, an R-multiple distribution, drawdown over time.
- You have stopped trusting a figure in the sheet. Once you are checking the formula before you believe the number, the sheet has stopped saving you work.
- You want a period reviewed without writing the review. The Reviews tab produces one when you press Generate Review, and nothing produces it on a schedule.
- Tax time means reconstructing the year. Holding periods per lot and partial exits are where a sheet turns into a project.
Swingfolio is built for that switch rather than for a first-time tracker, and the spreadsheet alternative page sets out the comparison in detail.
Side-by-side comparison
| Feature | Spreadsheet | Trading journal |
|---|---|---|
| Cost | Free | Paid, after a 30-day core-feature trial |
| Trade logging | Typed by hand | A form with fixed fields, or a CSV import |
| Calculations | Formulas you write and maintain | Computed from the fields |
| Analytics | What you build | Built in, filtered by date, portfolio and strategy |
| Pattern detection | None | Computed insight cards, plus a written review on request |
| Multiple accounts | More sheets and cross-references | Separate portfolios with their own cash balances |
| Tax reports | Reconstructed at year end | Generated from the trade dates |
| Broker import | None | CSV upload with column mapping |
Frequently asked questions
Can I move my spreadsheet data into a trading journal?
Yes. Export the sheet as a CSV and upload it. Swingfolio reads your header row, proposes a mapping to its own fields, and shows you every row it could not resolve before saving anything. Column names that differ from the expected ones are a mapping step, not a blocker.
Is a trading journal worth paying for?
It depends on what the spreadsheet is costing you. Two things carry most of the value: the data entry you stop doing, and the metrics you would otherwise have to build and maintain. If neither is a burden yet, the spreadsheet is still the cheaper tool.
What about free trading journals?
Free tiers exist, with limits that vary by product; check what each one caps before you compare features. Swingfolio's trial runs 30 days and covers core features, CSV import among them. The read-only broker connection is the Premium part, and it is not switched on.
The question worth asking is not free against paid. It is whether the tool is saving you time and showing you something you did not already know.
How do I move over without losing the history?
Log the next month of trades in the journal and leave the spreadsheet running beside it. That month tells you whether the entry friction is lower, which is what decides whether the habit survives. Bring the back history across as a CSV whenever you are ready. Doing it on day one gives the analytics something to work with sooner.
Where to start
Open your spreadsheet and check one figure by hand: the average of your last ten R-multiples. If the sheet has no R-multiple column, that is the gap. If it has one and your hand calculation disagrees with the sheet, that is a different gap, and a worse one.
Either way you now know which tool you need. Import the sheet as a CSV so the history comes with you, log the next five trades in the journal, and see which record you reach for. Start the 30-day trial.
