Asset Allocation & Rebalancing
Level: 3 (Production — from-scratch derivations, code-from-memory, explain-out-loud) Time limit: 45 minutes Total marks: 60
Answer all questions. Show every derivation step. For code questions, write runnable pseudocode/Python from memory. For "explain-out-loud" prompts, write as if teaching a peer.
Question 1 — Threshold Rebalancing Derivation (10 marks)
An investor holds a two-asset portfolio: target weights are 60% equity / 40% bonds. The rebalancing rule triggers when any asset's actual weight deviates from target by more than an absolute band of ±5 percentage points.
(a) The portfolio value is ₹10,00,000 with equity currently at ₹6,80,000 and bonds at ₹3,20,000. Compute current weights and determine whether a rebalance triggers. (4)
(b) If a rebalance triggers, derive the exact rupee trade (buy/sell each asset) needed to return to target. (3)
(c) Derive a general formula: for a two-asset portfolio of total value , target equity weight , and current equity value , express the rupee amount of equity to sell to restore target. State the sign convention. (3)
Question 2 — Rupee Cost Averaging vs Lump Sum (12 marks)
An investor puts ₹12,000 into a fund over 4 months, ₹3,000 per month. NAVs are: Month 1 = ₹30, Month 2 = ₹24, Month 3 = ₹20, Month 4 = ₹25.
(a) Compute units bought each month and total units. (4)
(b) Compute the average cost per unit (RCA) and compare it against the simple arithmetic average of the four NAVs. Explain why they differ. (4)
(c) Derive the general result that the RCA average cost equals the harmonic mean of the prices when equal rupee amounts are invested. Show the algebra. (4)
Question 3 — Age/Risk Allocation Models (8 marks)
(a) State the classic "100 minus age" equity allocation rule and its "110/120 minus age" variants. For a 35-year-old, give equity % under each. (3)
(b) Explain-out-loud: give two reasons the "100 minus age" rule has been criticised as too conservative for modern investors, and how the variants address this. (3)
(c) A glide-path fund reduces equity linearly from 90% at age 25 to 30% at age 65. Derive the equity-weight function of age and compute equity % at age 50. (2)
Question 4 — Core-Satellite Construction from Scratch (10 marks)
Build a core-satellite portfolio for a ₹20,00,000 corpus with 75% core / 25% satellite.
(a) Explain the core-satellite philosophy: what goes in each sleeve and why. (3)
(b) Allocate the ₹20,00,000: core into a broad index fund; satellite split equally across a sectoral fund, a mid-cap fund, and a thematic bet. Give rupee amounts. (3)
(c) After one year the satellite thematic bet doubles while everything else is flat. Compute the new satellite weight and state whether it now breaches a 30% satellite ceiling; if so, compute the rupee amount to trim back to 25%. (4)
Question 5 — Goal-Based Investing & Portfolio Drift (12 marks)
(a) Explain-out-loud the difference between strategic and tactical asset allocation, giving one concrete example of a tactical tilt. (3)
(b) An investor needs ₹40,00,000 in 15 years (goal-based). Assuming 10% annual return, derive the required monthly SIP using the future-value-of-annuity formula. Show the formula and substitute. (5)
(c) Define "portfolio drift" quantitatively. If a portfolio starts at 60/40 and equity returns 20% while bonds return 4% over a year (no cash flows), compute the drifted weights and the drift magnitude in equity. (4)
Question 6 — Tax-Efficient Allocation & Calendar vs Threshold (8 marks)
(a) Explain-out-loud "asset location" (as distinct from asset allocation): which asset classes belong in taxable vs tax-advantaged accounts and why. (3)
(b) Compare calendar rebalancing vs threshold rebalancing on: (i) transaction cost, (ii) responsiveness to volatility, (iii) tax realisation. Give one line each. (3)
(c) State one way threshold rebalancing can be made more tax-efficient without abandoning the discipline. (2)
Answer keyMark scheme & solutions
Question 1 (10 marks)
(a) Current weights: equity = 680000/1000000 = 68%; bonds = 32%. (2 marks) Deviation: equity 68% − 60% = +8 pp; bonds 32% − 40% = −8 pp. Both exceed ±5 pp band ⇒ rebalance triggers. (2 marks)
(b) Target: equity = 0.60×10,00,000 = ₹6,00,000; bonds = ₹4,00,000. (1) Trade: sell ₹80,000 equity, buy ₹80,000 bonds. (2)
(c) Target equity value = . Amount to sell = current − target: Sign convention: ⇒ sell equity (overweight); ⇒ buy equity (underweight). (3) Check: . ✓
Question 2 (12 marks)
(a) Units = 3000/NAV each month:
- M1: 3000/30 = 100
- M2: 3000/24 = 125
- M3: 3000/20 = 150
- M4: 3000/25 = 120
Total units = 100+125+150+120 = 495. (4)
(b) RCA average cost = total invested / total units = 12000/495 = ₹24.242 per unit. (2) Arithmetic mean of NAVs = (30+24+20+25)/4 = 99/4 = ₹24.75. (1) RCA cost < arithmetic mean because fixed rupee amounts buy more units when price is low and fewer when high, weighting cheap prices more heavily. (1)
(c) With equal rupee each of periods at prices : Total invested = ; total units = . which is exactly the harmonic mean of the prices. (4)
Question 3 (8 marks)
(a) "100 − age": equity % = 100 − age. At 35 ⇒ 65%. (1) "110 − age" ⇒ 75%; "120 − age" ⇒ 85%. (2)
(b) Criticisms (any two, 1.5 each): (i) longer life expectancy means portfolios must last longer, needing more growth; (ii) historically low bond yields make heavy bond allocation drag returns / fail to beat inflation. Variants (110/120) raise equity to reflect longer horizons and higher risk capacity. (3)
(c) Linear glide: slope = (30 − 90)/(65 − 25) = −60/40 = −1.5 per year. At a=50: . (2)
Question 4 (10 marks)
(a) Core = low-cost, broadly diversified, passive holdings (index/large-cap) providing stability and market return at low cost; satellite = smaller active/high-conviction tilts (sector, mid-cap, thematic) aiming for alpha while limiting the risk of a mistake to a small sleeve. (3)
(b) Core = 0.75×20,00,000 = ₹15,00,000 (index fund). (1) Satellite = ₹5,00,000, split three ways = ₹1,66,667 each to sectoral, mid-cap, thematic. (2)
(c) Thematic (₹1,66,667) doubles → ₹3,33,333; other satellites & core flat. New total = 20,00,000 + 1,66,667 = ₹21,66,667. (1) New satellite value = 5,00,000 + 1,66,667 = ₹6,66,667. Satellite weight = 6,66,667/21,66,667 = 30.77% ⇒ breaches 30% ceiling. (2) Trim to 25%: target satellite = 0.25×21,66,667 = ₹5,41,667; trim = 6,66,667 − 5,41,667 = ₹1,25,000 (move to core). (1)
Question 5 (12 marks)
(a) Strategic = long-term policy mix based on goals/risk tolerance, held steadily. Tactical = short-term deliberate deviations to exploit expected market moves. Example: overweighting equities to 70% from a 60% policy when valuations look cheap. (3)
(b) FV of annuity: , monthly rate , . (2) ; numerator = 3.4539; /i = 3.4539/0.008333 ≈ 414.47. (2) ₹9,650 per month (≈₹9,647). (1)
(c) Drift = deviation of current weight from target. Start ₹60/₹40 per ₹100. Equity → 60×1.20 = 72; bonds → 40×1.04 = 41.6; total = 113.6. (2) New equity weight = 72/113.6 = 63.38%; drift = 63.38 − 60 = +3.38 pp. (2)
Question 6 (8 marks)
(a) Asset location = which account holds each asset, given the same overall allocation. Tax-inefficient, high-income assets (bonds/REITs, actively traded funds generating short-term gains) go in tax-advantaged accounts; tax-efficient assets (index equity held long, qualified dividends, growth stocks) go in taxable accounts to exploit lower long-term rates. (3)
(b) (i) Calendar: predictable, may trade unnecessarily → moderate cost; threshold: trades only when needed → cost only on real drift. (ii) Calendar ignores intra-period volatility; threshold responds to it. (iii) Calendar forces realisations on schedule; threshold realises only on breach, more controllable. (3)
(c) Rebalance using new contributions/dividends to top up underweight assets (cash-flow rebalancing), or harvest losses / prefer selling within tax-advantaged accounts — restoring bands without triggering taxable gains. (2)
[
{"claim":"Q1c sell amount = E - w*V = 80000","code":"E=680000; w=Rational(6,10); V=1000000; result=(E-w*V==80000)"},
{"claim":"Q2 total units = 495","code":"u=3000/30+3000/24+3000/20+3000/25; result=(u==495)"},
{"claim":"Q2 RCA cost equals harmonic mean of prices","code":"ps=[30,24,20,25]; rca=Rational(12000,495); hm=len(ps)/sum(Rational(1,p) for p in ps); result=(rca==hm)"},
{"claim":"Q3c glide equity at 50 = 52.5","code":"E=90-Rational(3,2)*(50-25); result=(E==Rational(105,2))"},
{"claim":"Q4c satellite weight >30% and trim=125000","code":"tot=2000000+1666667- (1666667); tot=2000000+1666667; sat=500000+1666667; w=Rational(sat,tot); trim=sat-Rational(1,4)*tot; result=(w>Rational(3,10) and abs(float(trim)-125000)<1)"},
{"claim":"Q5c drifted equity weight approx 63.38%","code":"eq=60*Rational(12,10); bo=40*Rational(104,100); w=eq/(eq+bo); result=(abs(float(w)-0.6338)<0.001)"}
]