Level 3 — ProductionTrading vs Investing & Styles

Trading vs Investing & Styles

45 minutes60 marksprintable — key stays hidden on paper

Chapter: 4.1 Trading vs Investing & Styles Level: 3 — Production (from-scratch derivations, code-from-memory, explain-out-loud) Time Limit: 45 minutes Total Marks: 60


Instructions

Answer all questions. Show all working for numerical items. Where "explain out loud" is requested, write your reasoning as if teaching a beginner. Use ...... notation for any formulas.


Q1. [Explain-out-loud — 10 marks] From memory, contrast the trader mindset vs the investor mindset across the following five dimensions. For each dimension give one crisp sentence per side: (a) Source of return, (b) Holding period, (c) Primary analysis tool, (d) Attitude to price volatility, (e) Definition of "risk." (2 marks per dimension.)


Q2. [Derivation from scratch — 12 marks] A day trader takes 8 round-trip trades per day, 20 trading days per month. Each round trip costs 0.05%0.05\% of position value in brokerage + slippage (charged once per round trip, on a position equal to full capital of ₹5,00,000).

(a) Derive an expression for total monthly transaction cost as a function of trades/day nn, days/month dd, cost rate cc, and capital KK. (4) (b) Compute the monthly cost for the given figures. (3) (c) The trader targets a net monthly return of 3%3\%. Derive and compute the required gross monthly return (before costs). (5)


Q3. [Style-matching derivation — 10 marks] Build a decision table mapping the four active styles — scalping, intraday, swing, positional — to their (a) typical holding period, (b) minimum screen-time demand per day, (c) approximate number of decisions per day. Present as a table, then in 2–3 sentences justify why scalping has the highest capital-efficiency-per-hour but the worst stress profile. (7 for table, 3 for justification)


Q4. [Code-from-memory — 10 marks] Write pseudocode (or Python) for a simple mean-reversion signal generator over a price series, using a rolling mean and standard deviation (z-score). Your code must:

  • compute a rolling mean and rolling std over window ww,
  • compute z=(pricemean)/stdz = (price - mean)/std,
  • emit BUY when z<kz < -k, SELL when z>+kz > +k, else HOLD. State clearly what kk represents and contrast the logic with a momentum signal in one sentence. (8 code, 2 contrast)

Q5. [Return-expectations reasoning — 10 marks] A newcomer claims: "I'll scalp and make 10% per day, so 200% per month." (a) Identify three reasons this is unrealistic, tying each to a specific chapter concept. (6) (b) A more disciplined swing trader realistically averages 2%2\% per month, compounded. Derive the annual return and compute it. (4)


Q6. [Personality-fit synthesis — 8 marks] Given a person who: has a full-time job (checks markets only twice a day), dislikes fast decisions, tolerates holding losers for weeks, and has ₹2,00,000 capital — recommend the single best-fit style, and justify against three of the styles you reject. (2 recommend, 6 justify)


End of paper.

Answer keyMark scheme & solutions

Q1 (10 marks) — Trader vs Investor mindset

Award 1 mark each side (2 per dimension):

Dimension Trader Investor
(a) Source of return Price movement / capital gains from timing entries & exits Business value growth, compounding, dividends
(b) Holding period Seconds to weeks Years to decades
(c) Primary analysis tool Technical analysis (price/volume, charts) Fundamental analysis (earnings, moat, valuation)
(d) Attitude to volatility Volatility is the opportunity / friend Volatility is noise to ignore or exploit on dips
(e) Definition of "risk" Adverse price move vs stop-loss; drawdown Permanent loss of capital / business impairment

Full 2 only if both columns correct for a dimension.


Q2 (12 marks) — Transaction cost derivation

(a) (4 marks) Cost per round trip =cK= c \cdot K. Trades per month =nd= n \cdot d. MonthlyCost=ndcK\text{MonthlyCost} = n \cdot d \cdot c \cdot K (1 for cost/trip, 1 for trades/month, 2 for combined formula.)

(b) (3 marks) n=8,  d=20,  c=0.0005,  K=500000n=8,\; d=20,\; c=0.0005,\; K=500000. =8×20×0.0005×500000=160×0.0005×500000= 8 \times 20 \times 0.0005 \times 500000 = 160 \times 0.0005 \times 500000 =160×250=40,000= 160 \times 250 = ₹40{,}000 (1 sub, 1 arithmetic, 1 answer ₹40,000.)

(c) (5 marks) Cost as % of capital =40000/500000=8%= 40000/500000 = 8\%. Net return == Gross - cost%. Gross=Net+Cost%=3%+8%=11%\text{Gross} = \text{Net} + \text{Cost\%} = 3\% + 8\% = 11\% (2 for cost as % of capital, 2 for relation, 1 for answer 11%11\%.) Teaching note: high trade frequency makes costs the dominant hurdle — this is why scalpers need very cheap execution.


Q3 (10 marks) — Style decision table

Table (7 marks — ~0.5/cell, round up):

Style Holding period Min screen-time/day Decisions/day
Scalping Seconds–minutes Continuous (whole session) Dozens–hundreds
Intraday Minutes–hours (flat by close) Several hours A few to ~10
Swing Days–weeks Minutes (once/twice) 0–1
Positional Weeks–months Occasional check << 1 (rare)

Justification (3 marks): Scalping extracts many tiny edges from a small capital base within one session, so capital is recycled many times per hour → high capital-efficiency-per-hour (1). But the continuous vigilance, split-second decisions, and rapid P&L swings create maximal cognitive load and stress (1); a single lapse erases many wins, so the risk-per-mistake is severe (1).


Q4 (10 marks) — Mean-reversion code

Code (8 marks):

def mean_reversion_signals(prices, w=20, k=2.0):
    signals = []
    for i in range(len(prices)):
        if i < w - 1:
            signals.append("HOLD")          # not enough data
            continue
        window = prices[i-w+1 : i+1]
        mean = sum(window) / w
        var = sum((x - mean)**2 for x in window) / w
        std = var ** 0.5
        z = (prices[i] - mean) / std if std > 0 else 0
        if z < -k:
            signals.append("BUY")           # price too low -> revert up
        elif z > k:
            signals.append("SELL")          # price too high -> revert down
        else:
            signals.append("HOLD")
    return signals

Marks: rolling window (2), mean+std (2), z-score (2), threshold logic BUY/SELL/HOLD (2).

kk = number of standard deviations from the mean (the z-threshold) that defines "extreme enough to trade."

Contrast (2 marks): Momentum does the opposite — it BUYs strength (z>+kz>+k / rising) and SELLs weakness, betting the move continues, whereas mean-reversion bets the extreme reverses.


Q5 (10 marks) — Return expectations

(a) Three reasons (6 marks, 2 each):

  1. Compounding math is absurd — 10%/day for 20 days compounds to unrealistic multiples; no consistent edge survives at that magnitude.
  2. Transaction costs & slippage eat scalping profits (see Q2) — high frequency means costs dominate; realistic net edges are tiny per trade.
  3. Realistic return expectations — even skilled professionals target a few % per month; win-rate and risk-of-ruin make daily double-digit returns statistically impossible to sustain (drawdowns wipe accounts).

(b) (4 marks): Compounded annual =(1+0.02)121= (1+0.02)^{12} - 1. (1.02)12=1.2682426.8%(1.02)^{12} = 1.26824\ldots \Rightarrow \approx 26.8\% (2 for compounding formula, 1 computation, 1 answer 26.8%\approx 26.8\%.) Note: still strong and realistic vs the 200% claim.


Q6 (8 marks) — Personality fit

Recommendation (2 marks): Swing trading (or lean positional). Fits limited screen-time (checks twice/day), slower deliberate decisions, multi-day holds, and modest capital works.

Justify rejections (6 marks, 2 each):

  • Scalping — rejected: requires continuous screen presence and instant decisions; contradicts full-time job + dislike of fast decisions.
  • Intraday — rejected: needs multi-hour active monitoring and must flat by close; impossible with only twice-daily checks.
  • Positional (if not chosen) or momentum-scalp — acceptable alternative to positional; positional also fits but swing better matches a "weeks" horizon with ₹2L capital and periodic checking; reject aggressive momentum-intraday for the same time-constraint reason.

(Accept positional as the recommendation with equivalent justification; grade on internal consistency.)

[
  {"claim":"Monthly cost = 8*20*0.0005*500000 = 40000","code":"result = (8*20*0.0005*500000 == 40000)"},
  {"claim":"Cost as percent of capital = 8%","code":"result = (40000/500000 == 0.08)"},
  {"claim":"Required gross monthly return = 3% + 8% = 11%","code":"result = (0.03 + 0.08 == 0.11)"},
  {"claim":"Compounded annual from 2% monthly is approx 26.82%","code":"val=(1+Rational(2,100))**12 - 1; result = abs(float(val)-0.2682)<0.001"}
]