Home › Templates › Day trading journal
Day Trading Journal Template
A free day trading journal for Excel and Google Sheets that logs each intraday trade with its entry and exit time, tags it by session (pre-market, open, midday, close), works out risk, net P/L and R-multiple, and turns every day into a summary: trades, win rate, P/L, profit factor, average R and whether you hit your daily loss limit.
Use it in Google Sheets: choose File → Import → Upload in Sheets and pick the .xlsx, or upload it to Google Drive and open it with Google Sheets. No sign-up, no add-on, no broker connection.
| Day | Trades | Win rate | Net P/L | Profit factor | Avg R | Loss limit hit? | Trades after limit | Over trade cap? | Balance |
|---|---|---|---|---|---|---|---|---|---|
| Mon 14 Sep | 3 | 67% | $249.00 | 3.47 | +0.83R | No | 0 | No | $10,249.00 |
| Tue 15 Sep | 4 | 25% | $42.80 | 1.17 | +0.11R | No | 0 | No | $10,291.80 |
| Wed 16 Sep | 4 | 25% | −$254.00 | 0.16 | -0.64R | Yes | 1 | No | $10,037.80 |
| Thu 17 Sep | 2 | 100% | $298.00 | no losses | +1.49R | No | 0 | No | $10,335.80 |
| Fri 18 Sep | 6 | 50% | −$56.00 | 0.82 | -0.09R | No | 0 | Yes | $10,279.80 |
| Mon 21 Sep | 3 | 33% | $147.00 | 2.44 | +0.49R | No | 0 | No | $10,426.80 |
| Tue 22 Sep | 3 | 67% | $173.80 | 2.72 | +0.58R | No | 0 | No | $10,600.60 |
| Wed 23 Sep | 4 | 25% | −$54.00 | 0.79 | -0.14R | No | 0 | No | $10,546.60 |
| Thu 24 Sep | 2 | 50% | $298.00 | 3.95 | +1.49R | No | 0 | No | $10,844.60 |
| Fri 25 Sep | 3 | 67% | $117.00 | 2.16 | +0.39R | No | 0 | No | $10,961.60 |
Day trading or swing trading? This template is built for intraday trading: times, sessions, trades per day and a daily loss limit. For trades held for days or weeks, the general trading journal template is simpler.
What's inside the spreadsheet
| Tab | What you type | What it calculates |
|---|---|---|
| Start here | Nothing | Steps, definitions, colour key, limits, disclaimer |
| Journal | Your rules once (starting balance, max daily loss, max trades per day), then one row per trade. 1,000 rows. | Session, hold time, trade # of the day, risk $, net P/L $, R-multiple, running day P/L and a rule check |
| Daily | Nothing: dates fill in by themselves | One row per trading day (up to 300): trades, wins, losses, win rate, gross profit and loss, net P/L, profit factor, average R, fees, loss limit hit, trades after the limit, over the trade cap, balance and drawdown |
| Dashboard | Nothing | 21 totals, results by session, by setup and by mistake tag, an equity-curve line chart and a P/L-by-session bar chart |
| Example Journal / Daily / Dashboard | Already filled | 34 fictional trades over 10 days so you can see every formula working |
| Lists | Optional edits | Session start times (default US Eastern), setup names, mistake tags for the dropdowns |
The intraday fields
| Field | Why it is there |
|---|---|
| Entry time, exit time | Sets the session tag and the hold time in minutes |
| Session (auto) | Pre-market before 9:30, Open 9:30–10:30, Midday 10:30–15:00, Close 15:00–16:00, After-hours from 16:00 (ET, editable on Lists) |
| Setup, mistake tag | Dropdowns, so results can be grouped later. Use "None" for a clean trade. |
| Stop price, quantity, multiplier | Risk $ and R-multiple. Multiplier stays blank (= 1) for shares; for a futures contract type its dollar value per point. |
| Trade # today (auto) | Counts trades per day and flags any trade above your cap |
| Day P/L after trade, rule check (auto) | Shows the trade that reached your max daily loss and any trade taken after it |
How to use it
- On Journal, type your starting balance, max daily loss in dollars and max trades per day in cells C3 to C5.
- After each trade, add a row in the order you took it: date, entry and exit time, symbol, Long or Short, setup, entry, stop and exit price, quantity, fees and a mistake tag.
- Leave the grey columns alone. They fill in the session, risk, net P/L, R-multiple and the rule check.
- At the end of the day, open Daily. The new date appears by itself with the day's numbers. A red "Yes" means the loss limit was hit or the trade cap was broken.
- Once a week, read the Dashboard: which session, setup and mistake tag cost or made money, and how the equity curve moved.
- Trading another market or time zone? Change the session start times on Lists.
Why the daily rules are in the journal
Many day traders write a max daily loss and a trade cap into their trading plan. A journal can check those rules after the fact. The rule check column shows whether you stopped when your plan said to stop.
FINRA's investor article "Frequent Intraday Trading: Understanding the Basics" (June 4, 2026) warns that frequent trading "can also come with higher costs that might erode your returns", and that "you should never fund this type of trading with essential assets." The template keeps fees in a column of their own, so you can see what they add up to.
Rule change in 2026. FINRA's Regulatory Notice 26-11 says FINRA "has adopted new intraday margin standards that replace the outdated day trading margin requirements in their entirety", effective June 4, 2026. The old count of day trades (pattern day trader status) is no longer a FINRA requirement, so this template does not track it. To trade on margin, the same FINRA article says "you must maintain a minimum of $2,000 in equity in your margin account", and brokers may require more. The "max trades per day" in the sheet is your own rule, not a regulatory one.
The default sessions follow the NYSE schedule: the core trading session runs 9:30 a.m. to 4:00 p.m. ET, with early sessions before it. "Open" and "Close" here are labels for the first hour and the last hour of the core session, not exchange terms.
The formulas, explained
Exact formulas from the file, row 7 of Journal. Columns: A date, B entry time, C exit time, E Long/Short, G entry, H stop, I exit, J quantity, K multiplier, L fees. Rules: C4 = max daily loss, C5 = max trades per day.
| Field | Formula |
|---|---|
| Session (O) | =IF(OR(A7="",B7=""),"",LOOKUP(MOD(B7,1),Lists!$A$5:$A$9,Lists!$B$5:$B$9)) |
| Hold minutes (P) | =IF(OR(B7="",C7=""),"",ROUND(MOD(C7-B7,1)*1440,0)) |
| Trade # today (Q) | =IF(A7="","",COUNTIF($A$7:A7,A7)) |
| Risk $ (R) | =IF(OR(G7="",H7="",J7=""),"",ABS(G7-H7)*J7*IF(K7="",1,K7)) |
| Net P/L $ (S) | =IF(OR(G7="",I7="",J7=""),"",(I7-G7)*J7*IF(K7="",1,K7)*IF(E7="Short",-1,1)-N(L7)) |
| R-multiple (T) | =IF(OR(S7="",N(R7)=0),"",S7/R7) |
| Day P/L after this trade (U) | =IF(S7="","",SUMIFS($S$7:S7,$A$7:A7,A7)) |
| Rule check (V) | =IF(S7="","",IF(AND($C$4>0,U7-S7<=-$C$4),"After loss limit",IF(AND($C$4>0,U7<=-$C$4),"Hit loss limit",IF(AND($C$5>0,Q7>$C$5),"Over trade cap","OK")))) |
| Daily: next trading date (A8) | =IF(A7="","",IF(COUNTIF(Journal!$A$7:$A$1006,">"&A7)=0,"",SMALL(Journal!$A$7:$A$1006,COUNTIF(Journal!$A$7:$A$1006,"<="&A7)+1))) |
| Daily: average R (J) | =IF(A8="","",IF(COUNTIFS(Journal!$A$7:$A$1006,A8,Journal!$R$7:$R$1006,">0")=0,"",SUMIFS(Journal!$T$7:$T$1006,Journal!$A$7:$A$1006,A8)/COUNTIFS(Journal!$A$7:$A$1006,A8,Journal!$R$7:$R$1006,">0"))) |
| Daily: loss limit hit? (L) | =IF(A8="","",IF(N(Journal!$C$4)<=0,"no limit set",IF(COUNTIFS(Journal!$A$7:$A$1006,A8,Journal!$U$7:$U$1006,"<="&-Journal!$C$4)>0,"Yes","No"))) |
| Daily: balance (O) and drawdown (P) | =IF(A8="","",N(Journal!$C$3)+SUM($H$7:H8)) and =IF(A8="","",O8-MAX(N(Journal!$C$3),MAX($O$7:O8))) |
The running day P/L uses a range that grows row by row ($S$7:S7, then $S$7:S8 …), so it only adds trades above the current row on the same date. That is why trades must be logged in time order. The Daily tab lists dates without any add-on: each row finds the smallest journal date after the previous row with SMALL and COUNTIF.
Worked example from the sample data
One trade
The first example trade buys 200 TKR-A at $42.50 with a stop at $42.00, so the risk is ($42.50 − $42.00) × 200 = $100.00. It exits at $43.50: (43.50 − 42.50) × 200 − $1.00 fees = $199.00, or +1.99R. A futures-style row works the same way with a multiplier: 2 IDX-FUT contracts at 5,012.00, stop 5,002.00, multiplier 5 → risk $100.00, net P/L $295.80 (+2.96R).
The day the loss limit was hit (Wed 16 Sep)
| # | Entry | Trade | Risk $ | Net P/L | R | Day P/L after | Rule check |
|---|---|---|---|---|---|---|---|
| 1 | 09:38 | TKR-D Long | $100.00 | −$101.00 | -1.01R | −$101.00 | OK |
| 2 | 10:02 | TKR-D Long | $100.00 | −$101.00 | -1.01R | −$202.00 | OK |
| 3 | 10:51 | TKR-A Short | $100.00 | −$101.00 | -1.01R | −$303.00 | Hit loss limit |
| 4 | 13:20 | TKR-A Short | $100.00 | $49.00 | +0.49R | −$254.00 | After loss limit |
Three losses took the day to −$303.00, past the $300 limit, so trade 3 is marked "Hit loss limit". Trade 4 was taken anyway. It made $49.00, but the sheet still marks it "After loss limit": the check is about the rule, not the result. The day closed at −$254.00.
On Fri 18 Sep, 6 trades were taken against a cap of 5, so Daily shows "Over trade cap: Yes" and the sixth trade is flagged.
The 10 days together
The win rate is below 50%, yet net P/L is positive, because winners averaged more R than losers gave back. The by-session table on the Dashboard shows where:
| Session | Trades | Win rate | Net P/L | Avg R |
|---|---|---|---|---|
| Pre-market | 1 | 0% | −$101.00 | -1.01R |
| Open | 15 | 47% | $481.80 | +0.32R |
| Midday | 12 | 33% | −$65.20 | -0.05R |
| Close | 6 | 83% | $646.00 | +1.08R |
| After-hours | 0 | – | $0.00 | – |
| Setup | Trades | Win rate | Net P/L | Avg R |
|---|---|---|---|---|
| Opening range breakout | 8 | 62% | $742.00 | +0.93R |
| VWAP reclaim | 4 | 75% | $592.80 | +1.48R |
| Pullback | 7 | 86% | $625.00 | +0.89R |
| Gap fade | 4 | 0% | −$304.00 | -0.76R |
| Momentum | 5 | 20% | −$285.00 | -0.57R |
| Reversal | 6 | 17% | −$409.20 | -0.68R |
In this fictional sample, midday trades lost money and the close made the most. Ten days and 34 trades are far too few to rely on. Read tables like these as questions to check over months of your own data, not as findings.
Common mistakes
- Logging trades out of order. Running day P/L and trade # only add rows above. Sort by date and entry time before you review.
- No stop price. Without a stop the risk is blank, and so is the R-multiple. Type the stop you planned, not the one you moved to.
- Leaving out fees. With many small trades, fees can be a big share of results. Type the round-trip total.
- Typing the max daily loss as a negative number. Enter 300, not −300. The sheet compares the day's P/L with −300 itself.
- Skipping the mistake tag on winners. A winning trade after the limit is still a rule break. Tag it, so the Dashboard counts it.
- Judging a setup after a few trades. Wait for a meaningful sample before dropping or adding a setup. See why win rate alone doesn't matter.
FAQ
What should a day trading journal include?
For each trade: date, entry and exit time, symbol, long or short, setup, entry, stop and exit price, size, fees and a mistake tag. From those, a journal can work out risk in dollars, net P/L, R-multiple, the session and the trade number of the day. Then a daily summary adds trades, win rate, net P/L, profit factor, average R and whether your daily loss limit was hit.
How do you calculate the R-multiple of a day trade?
Divide the net P/L by the amount you planned to risk. Risk is the distance from entry to stop times the quantity (and the contract multiplier for futures). In the example, the first trade risked $100.00 and made $199.00 after fees, so it was +1.99R.
What is a daily loss limit in day trading?
It is a rule you set yourself: once the day's losses reach a set dollar amount, you stop trading until the next session. The template takes your limit, keeps a running P/L for each day and labels the trade that reaches it "Hit loss limit" and any trade after it "After loss limit".
Is the pattern day trader rule still in effect?
No, not in FINRA's rules. FINRA Regulatory Notice 26-11 says its new intraday margin standards replace the former day trading margin requirements in their entirety, effective June 4, 2026. Margin accounts still need at least $2,000 in equity, and brokers can set stricter house requirements. Check your own broker's terms.
How many trades per day should a day trader make?
There is no correct number. The point of a cap is to stop low-quality trades late in a session. Pick a number from your plan, type it into the journal, and the template marks every day you went over it. Then compare the P/L of those trades with the rest.
Can I use this day trading journal in Google Sheets?
Yes. In Google Sheets choose File → Import → Upload and pick the .xlsx, or upload it to Drive and open it with Google Sheets. All formulas use functions that exist in Excel 2016+, Google Sheets and LibreOffice (COUNTIFS, SUMIFS, SMALL, LOOKUP).
Related tools and templates
- Swing trading journalMulti-day trades, R and open heat
- Forex trading journalPips, lots, swap and sessions
- Options trading journalReview options decisions
- Trading journal templateFor swing and position trades
- Online trading journalLog trades in the browser
- Position size calculatorShares for a set dollar risk
- Risk reward calculatorTarget vs stop before you enter
- Trading plan templateWrite the rules this journal checks
- Trading checklistPre-trade checks
- Understanding expectancyWin rate and payoff together
- All templatesFree spreadsheets
Educational template only, not financial, tax or investment advice. Day trading involves substantial risk, including the loss of more than you deposit when trading on margin. Example data is fictional: symbols TKR-A to TKR-D and IDX-FUT and all prices, fees and results are made up. FINRA and NYSE material was retrieved on 27 October 2026.