Moneydesks

📓 Keeping a trading journal

Open this guide in the app →

🎯 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.

FieldExampleWhy it matters
Date and time in and out4 Aug, 10:20 to 22 Aug, 14:05Holding period, time-of-day patterns, tax treatment
Stock, exchange and productSharma Foods, NSE, CNC (delivery)Delivery, intraday and F&O are charged and taxed differently
SetupBreakout above ₹498 resistanceLets you compare one kind of trade with another
Entry, stop and target₹500, ₹480, ₹540Defines the risk before the trade
Quantity and risk in rupees50 shares, ₹1,000 riskChecks your position sizing
Exit price and reason₹540, target hitDid you exit by plan or by nerves?
Gross P&L₹2,000Before 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.92RThe number that counts
Rules followed?YesSeparates a bad trade from bad luck
One-line noteEntered 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.

Charges go in every row
Do not log gross P&L and promise yourself you will subtract charges later. Copy the charges from the contract note for each trade, or estimate them with the formulas in What trading really costs and correct them when the note arrives. In India STT alone is 0.2% of a delivery round trip, and small delivery sales also pay a flat DP charge.

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.

#StockSetupEntryStopExitQtyGrossChargesNetR
1Sharma FoodsBreakout₹500₹480₹54050₹2,000₹81₹1,919+1.92
2Patil CementPullback₹220₹210₹209100−₹1,100₹71−₹1,171−1.17
3Iyer TextilesBreakout₹150₹144₹143.50160−₹1,040₹76−₹1,116−1.16
4Kaveri PharmaPullback₹820₹790₹88033₹1,980₹86₹1,894+1.91
5Desai MotorsBreakout₹410₹394₹39362−₹1,054₹79−₹1,133−1.14
6Ganga SteelPullback₹96₹92₹104250₹2,000₹79₹1,921+1.92
7Rao SoftwareBreakout₹1,250₹1,200₹1,19920−₹1,020₹78−₹1,098−1.10
8Sharma FoodsPullback₹535₹515₹51450−₹1,050₹82−₹1,132−1.13
9Malabar SpicesBreakout₹305₹293₹28483−₹1,743₹78−₹1,821−1.83
10Kaveri PharmaBreakout₹900₹866₹96829₹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.

StatHowSample
Win rateWinning trades / all trades4 / 10 = 40%
Average winTotal of wins / number of wins₹7,622 / 4 = ₹1,906
Average lossTotal of losses / number of losses₹7,471 / 6 = ₹1,245
Payoff ratioAverage win / average loss1.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 factorTotal of wins / total of losses₹7,622 / ₹7,471 = 1.02
Charges as % of gross profitTotal charges / gross P&L₹794 / ₹945 = 84%
Maximum drawdownLargest 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

Running net P&L, ten sample trades₹4,000₹2,000₹0−₹2,000−₹4,000Peak ₹2,313 (trade 6)Low −₹1,738 (trade 9)₹4,05112345678910
Three losses in a row after trade 6 wiped out the gains and took the account below where it started. The method ended slightly positive, but only a trader who kept following the rules through trade 9 saw trade 10.

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.

The mistake: changing the system every week
After three losses it is tempting to switch to a new setup, a new indicator or a new tip channel. Then you never collect enough trades on any one method to know whether it works. Decide in advance how many trades you will take before judging a method, at least 20 to 30, and keep the rules fixed until then. The journal is useless if what it measures keeps changing.

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.

RecordWho sends itWhat to use it for
Contract noteYour broker, within 24 hours of each trading dayExact prices, times and every charge for each trade
Exchange trade alertNSE or BSE, by SMS and email by the end of the trading dayAn independent check that every trade in your journal really happened, and nothing else did
Tradebook and P&L reportsYour broker's back office, usually downloadableBulk entry of trades. Brokers' formats differ; check them against the contract notes
Statement of accountYour broker, regularly, plus a statement after each running account settlementMatching money in and out with your journal's totals
Consolidated Account Statement (CAS)NSDL or CDSL, for any month with a transaction, otherwise half-yearlyChecking that your holdings match what your journal says you own
Annual Information Statement (AIS)The Income Tax Department, on incometax.gov.inSeeing 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.

Tag the tax type on every row
The Income-tax Act treats your trades differently depending on type. Delivery trades produce capital gains, short-term if held 12 months or less. Intraday equity trades are speculative business income, and F&O trades are non-speculative business income, each with their own rules for setting off losses. Add a column for the type so that tax time is a sort and a sum, not a hunt. The rates and rules are in Taxes for traders and investors; check your own case with a chartered accountant.

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.
A simple spreadsheet layout
Use one sheet with a row per trade and the fields from the table above. Add formula columns: Gross = (Exit − Entry) x Qty; Risk = (Entry − Stop) x Qty; Net = Gross − Charges; R = Net / Risk; Running total = previous running total + Net. A second sheet can hold the monthly stats. Nothing fancier is needed.

Try it

  1. Set up the spreadsheet with the columns above.
  2. 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.
  3. 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.
  4. If you have not traded yet, start the journal with your practice trades from Practice first, including estimated charges.
Check yourself
  1. 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.
  2. 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.
  3. 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.
  4. 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