🎯 In 30 seconds: A trading journal is a record of every trade: why you took it, where your stop was, what happened, and what it cost after every charge. Without one you remember the wins and forget the losses. With one you can work out your real win rate, average win and loss, expectancy and drawdown. In the sample below, ten trades made ₹945 before charges and ₹150 after them. You only see that if you write it down.
Why keep a journal at all
Think of a dosa stall owner who never writes down sales. She knows Sundays feel busy and Tuesdays feel slow. She does not know that the masala dosa makes money and the cheese dosa loses it once you count the cheese. Feelings are a poor ledger.
Trading memory is worse, because it is biased. You remember the stock that doubled. You forget the six small losses before it, and the charges on each. A journal replaces the story you tell yourself with numbers.
A journal does three jobs:
- It measures. Is your method making money after costs, or not? How often does it win, and how big are the wins compared with the losses?
- It finds leaks. Maybe one setup works and another does not. Maybe you lose most on trades taken in the first fifteen minutes after 9:15. You cannot see this without records.
- It keeps you honest. Writing the plan before the trade makes it harder to move your stop or invent a reason afterwards.
Your broker's tradebook already records prices and quantities. It does not record why you traded, what your stop was, or whether you followed your own rules. That part only you can write.
What to record on every trade
Keep it short enough that you will actually do it. One row per trade in a spreadsheet or a notebook is enough.
| Field | Example | Why it matters |
|---|---|---|
| Date and time in and out | 4 Aug, 10:20 to 22 Aug, 14:05 | Holding period, time-of-day patterns, tax treatment |
| Stock, exchange and product | Sharma Foods, NSE, CNC (delivery) | Delivery, intraday and F&O are charged and taxed differently |
| Setup | Breakout above ₹498 resistance | Lets you compare one kind of trade with another |
| Entry, stop and target | ₹500, ₹480, ₹540 | Defines the risk before the trade |
| Quantity and risk in rupees | 50 shares, ₹1,000 risk | Checks your position sizing |
| Exit price and reason | ₹540, target hit | Did you exit by plan or by nerves? |
| Gross P&L | ₹2,000 | Before charges |
| All charges | ₹81 (STT, exchange, SEBI, stamp, GST, DP) | From the contract note, not a guess |
| Net P&L and R multiple | ₹1,919, +1.92R | The number that counts |
| Rules followed? | Yes | Separates a bad trade from bad luck |
| One-line note | Entered late, chased 1% | What you would do differently |
R is the rupee amount you planned to risk on the trade: entry minus stop, times quantity. A trade that makes twice what you risked is +2R. A trade that loses exactly what you planned is −1R. Using R lets you compare trades of different sizes. Risk/reward and expectancy explains it in more depth.
Write the plan before the entry, not after
Fill in setup, entry, stop, target and quantity before you place the order. Then fill in the exit columns when the trade closes. If you cannot write a stop before entering, you do not have a trade yet. You have a hope.
This order of writing is the single most useful habit in the chapter. It turns the journal from a diary into a plan you hold yourself to. Writing a trading plan gives a template for the rules the journal checks.
A sample journal: ten trades
All companies and prices are hypothetical. The trader has ₹1,00,000 and risks about 1% (₹1,000) per trade on delivery swing trades through NSE. Charges are worked out at October 2026 statutory rates with ₹0 brokerage and an assumed ₹23.60 DP charge on each sale.
| # | Stock | Setup | Entry | Stop | Exit | Qty | Gross | Charges | Net | R |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Sharma Foods | Breakout | ₹500 | ₹480 | ₹540 | 50 | ₹2,000 | ₹81 | ₹1,919 | +1.92 |
| 2 | Patil Cement | Pullback | ₹220 | ₹210 | ₹209 | 100 | −₹1,100 | ₹71 | −₹1,171 | −1.17 |
| 3 | Iyer Textiles | Breakout | ₹150 | ₹144 | ₹143.50 | 160 | −₹1,040 | ₹76 | −₹1,116 | −1.16 |
| 4 | Kaveri Pharma | Pullback | ₹820 | ₹790 | ₹880 | 33 | ₹1,980 | ₹86 | ₹1,894 | +1.91 |
| 5 | Desai Motors | Breakout | ₹410 | ₹394 | ₹393 | 62 | −₹1,054 | ₹79 | −₹1,133 | −1.14 |
| 6 | Ganga Steel | Pullback | ₹96 | ₹92 | ₹104 | 250 | ₹2,000 | ₹79 | ₹1,921 | +1.92 |
| 7 | Rao Software | Breakout | ₹1,250 | ₹1,200 | ₹1,199 | 20 | −₹1,020 | ₹78 | −₹1,098 | −1.10 |
| 8 | Sharma Foods | Pullback | ₹535 | ₹515 | ₹514 | 50 | −₹1,050 | ₹82 | −₹1,132 | −1.13 |
| 9 | Malabar Spices | Breakout | ₹305 | ₹293 | ₹284 | 83 | −₹1,743 | ₹78 | −₹1,821 | −1.83 |
| 10 | Kaveri Pharma | Breakout | ₹900 | ₹866 | ₹968 | 29 | ₹1,972 | ₹84 | ₹1,888 | +1.92 |
| Total | ₹945 | ₹794 | ₹150 |
Look at the totals first. The trader made ₹945 before charges and kept ₹150 after them. Charges took 84% of the gross profit, and nothing here is brokerage. It is STT, stamp duty, exchange fees, GST and the DP charge. Losses are slightly larger than the planned −1R because charges and a rupee of slippage are added to each loser.
Trade 9 lost 1.83R. Malabar Spices closed at ₹298 one evening, above the stop, then bad news came out overnight and it opened at ₹284 at 9:15 the next morning. The stop at ₹293 could not fill at ₹293 because the stock never traded there. Gaps like this are why a stop is not a guaranteed maximum loss. See Stop losses.
The stats to compute
Once you have 20 to 30 trades, work these out every month. Here they are for the sample, using net figures.
| Stat | How | Sample |
|---|---|---|
| Win rate | Winning trades / all trades | 4 / 10 = 40% |
| Average win | Total of wins / number of wins | ₹7,622 / 4 = ₹1,906 |
| Average loss | Total of losses / number of losses | ₹7,471 / 6 = ₹1,245 |
| Payoff ratio | Average win / average loss | 1.53 |
| Expectancy per trade | (Win rate x average win) − (loss rate x average loss) | (0.4 x ₹1,906) − (0.6 x ₹1,245) = about ₹15 |
| Profit factor | Total of wins / total of losses | ₹7,622 / ₹7,471 = 1.02 |
| Charges as % of gross profit | Total charges / gross P&L | ₹794 / ₹945 = 84% |
| Maximum drawdown | Largest fall from a peak in the running total | ₹2,313 after trade 6 to −₹1,738 after trade 9 = ₹4,051 |
An expectancy of ₹15 per trade on a ₹1,000 risk is close to zero. The method is roughly breaking even after costs. Before charges the expectancy was about ₹95 a trade. That gap is the clearest thing the journal shows: this trader's edge, if it exists, is about the same size as the cost of trading it.
Ten trades is far too few to decide anything. Luck dominates small samples. The sample is here to show the arithmetic, not to prove the method good or bad. Drawdowns and losing streaks shows how wide the range of results can be by chance alone.
Drawdown: the number that tests you
The maximum drawdown in the sample, ₹4,051, is four times the planned risk per trade. That is normal for a method that wins 40% of the time. Losing streaks of four or five happen regularly at that win rate. If the drawdown in your journal would have made you quit, your position size is too large for you, even if the method is sound.
Break it down by setup
Sort the sample by the Setup column and add up each group:
- Breakout (trades 1, 3, 5, 7, 9, 10): 2 wins out of 6, net −₹1,361.
- Pullback (trades 2, 4, 6, 8): 2 wins out of 4, net +₹1,512.
On ten trades this proves nothing. After 50 trades of each, the same split would be worth acting on: you might drop breakouts, or study why they fail. Tag every trade with a setup from day one so this sorting is possible later. You can also tag by time of day, by market mood (Nifty above or below its 50-day average, for example), or by whether you followed your rules. The Technical Analysis Guide on testing ideas shows how to judge a setup honestly.
Check your journal against official records
Your journal is your own record. Several official records exist alongside it, and some of them come from outside your broker. Use them to make sure the journal is complete and correct.
| Record | Who sends it | What to use it for |
|---|---|---|
| Contract note | Your broker, within 24 hours of each trading day | Exact prices, times and every charge for each trade |
| Exchange trade alert | NSE or BSE, by SMS and email by the end of the trading day | An independent check that every trade in your journal really happened, and nothing else did |
| Tradebook and P&L reports | Your broker's back office, usually downloadable | Bulk entry of trades. Brokers' formats differ; check them against the contract notes |
| Statement of account | Your broker, regularly, plus a statement after each running account settlement | Matching money in and out with your journal's totals |
| Consolidated Account Statement (CAS) | NSDL or CDSL, for any month with a transaction, otherwise half-yearly | Checking that your holdings match what your journal says you own |
| Annual Information Statement (AIS) | The Income Tax Department, on incometax.gov.in | Seeing the purchases and sales of securities reported against your PAN, before you file your return |
The exchange alert and the CAS come from the exchange and the depository, not your broker. If your journal, the broker's reports and these independent records disagree, find out why. A missing trade is usually your mistake. A trade you never placed is a reason to contact your broker and the exchange the same day.
Weekly and monthly review
Every week, 20 minutes:
- Match every trade in the journal against the broker's tradebook. Add anything missing.
- Fill in charges from the contract notes.
- Read the one-line notes. Did you break a rule? Which one, and why?
Every month, an hour:
- Work out the stats table above for the month and for all trades so far.
- Compare charges with gross profit. If charges take more than a third of your gross profit, you are trading too often or too small for your cost structure.
- Sort by setup and by rules followed. Trades where you broke rules often do worse. If they do, the fix is discipline, not a new method.
- Write down one change to try next month, and only one.
Try it
- Set up the spreadsheet with the columns above.
- Type in the ten sample trades and check that your formulas give the same totals: ₹945 gross, ₹794 charges, ₹150 net, ₹4,051 maximum drawdown.
- If you have traded before, download your broker's tradebook for the last three months and enter every trade, with charges from the contract notes. You may not know the original stop or reason. Leave those blank and start filling them in from your next trade.
- If you have not traded yet, start the journal with your practice trades from Practice first, including estimated charges.
- You plan to buy 40 shares at ₹600 with a stop at ₹575. What is your risk, and what R is a net profit of ₹2,500? Answer: Risk is ₹25 x 40 = ₹1,000, so ₹2,500 is +2.5R.
- A method wins 40% of the time, with an average net win of ₹1,800 and an average net loss of ₹1,000. What is its expectancy per trade? Answer: (0.4 x ₹1,800) − (0.6 x ₹1,000) = ₹720 − ₹600 = ₹120.
- In the sample journal, what share of the gross profit went in charges, and which charge was the largest? Answer: 84% (₹794 of ₹945). STT at 0.1% on each side was the largest part.
- Why fill in the stop and target before placing the order? Answer: So the plan is fixed before emotions get involved, and the journal can check whether you followed it.
Sources
- SEBI: Master circular for stock brokers (17 June 2025): contract notes, statements of account, exchange trade alerts
- NSE: Trade verification for investors
- NSDL: Consolidated Account Statement FAQs
- Income Tax Department: Annual Information Statement (AIS)
- Gazette of India: The Income-tax Act, 2025 (in force from 1 April 2026)
- NSE: SEBI turnover fees, STT and other levies (rates used in the sample journal)