Shares, Ownership & Indices
Level: 5 (Mastery — cross-domain: finance mathematics + index construction + coding) Time limit: 90 minutes Total marks: 60
Instructions: Answer all three questions. Show all working. Use / for mathematics. Code answers may be written in Python (pseudocode-tolerant, but logic must be correct). State assumptions explicitly.
Question 1 — Corporate Actions & Wealth Invariance (22 marks)
An investor holds 8,000 common shares of Meridian Ltd., face value \10$250$. The company has 40 million shares outstanding, out of 50 million issued and 80 million authorized. Meridian declares, in sequence:
- (i) a 5-for-1 stock split, then
- (ii) a 1:4 bonus issue (1 free share for every 4 held), then
- (iii) a rights issue of 1:10 at a subscription price of \30$ per (post-split, post-bonus) share.
Assume markets are frictionless and price adjusts to preserve total value at each step (no news, no time value).
(a) Compute, after each of the three actions, (i) the investor's share count, (ii) the theoretical share price, and (iii) the face value per share where it changes. (9)
(b) Derive a general expression for the theoretical ex-rights price (TERP) given cum-rights price , ratio (one new share per old), and subscription price . Apply it to step (iii) and verify wealth invariance for the investor across all three actions (assume the investor fully subscribes to rights). (7)
(c) State and prove that a stock split and a bonus issue leave the investor's total wealth unchanged, but explain precisely the one balance-sheet difference between the two, and why a rights issue is fundamentally different in its wealth effect before accounting for cash paid. (6)
Question 2 — Index Construction: Price-Weighted vs Free-Float (22 marks)
A toy index contains three constituents. Initial data:
| Stock | Price | Shares out (mn) | Free-float factor |
|---|---|---|---|
| A | 100 | 500 | 0.50 |
| B | 400 | 100 | 1.00 |
| C | 50 | 800 | 0.25 |
(a) Construct a price-weighted index (Dow-style) with initial divisor chosen so the index starts at . Then construct a free-float market-cap-weighted index (Sensex/Nifty style) with base value . Show the divisor / base market cap for each. (8)
(b) Stock A undergoes a 2-for-1 split (price → 50). For the price-weighted index, compute the new divisor required to keep the index continuous, and show that without adjustment the index would jump artificially. For the free-float index, show the index is unaffected by the split (state why). (7)
(c) Write a Python function rebalance(prices, shares, floats, divisor_pw, base_mcap, base_index) that returns both index values, and a second function split_adjust_divisor(...) that recomputes the price-weighted divisor after a corporate action. Then argue, with reference to Dow vs S&P 500, which methodology better represents "economic size of the market" and why price-weighting can be distorted by high-priced stocks. (7)
Question 3 — Dividend Yield, Preferred vs Common, Buyback Modelling (16 marks)
Orion Corp. has 10 million common shares at \120$100$40$ million.
(a) Compute the total preferred dividend, the residual available to common, and the dividend yield on common if the entire common residual is paid out. Compare with the preferred yield on market price if preferred trades at \96$. (6)
(b) Instead of a dividend, Orion executes a buyback of \36$120$. Compute shares repurchased, new common share count, and — assuming aggregate common equity value falls by exactly the cash spent — the new theoretical price per share. Comment on why EPS rises. (6)
(c) In one year Orion skips its preferred dividend. Explain, using the term cumulative, the consequences for the following year and the priority ordering of any distribution. Distinguish this from what would happen to common shareholders. (4)
Answer keyMark scheme & solutions
Question 1
(a) Sequential corporate actions (9 marks)
Start: 8,000 shares, price \250$10= 8000\times250 = $2{,}000{,}000$.
(i) 5-for-1 split — multiply shares by 5, divide price by 5, divide FV by 5:
- Shares:
- Price: 250/5 = \50$
- FV: 10/5 = \2$
- Value: 40000\times50 = \2{,}000{,}000$ ✓ (3)
(ii) 1:4 bonus — 1 free per 4 held → factor ; price divided by ; FV unchanged (bonus from reserves, FV stays \2$):
- Shares:
- Price: 50\div\tfrac54 = 50\times\tfrac45 = \40$
- FV: \2$ (unchanged)
- Value: 50000\times40 = \2{,}000{,}000$ ✓ (3)
**(iii) Rights 1:10 at S=\30P=$40$:
- New rights shares: ; total shares
- TERP (from part b): \dfrac{nP+S}{n+1}=\dfrac{10(40)+30}{11}=\dfrac{430}{11}=\39.09$
- FV: \2$ (unchanged)
- Cash paid for rights: 5000\times30=\150{,}000$ (3)
(b) TERP derivation & wealth check (7 marks)
For every old shares (value ) the holder buys 1 new share paying . Post-action the holder has shares worth total (frictionless, value = old value + cash injected):
Apply : \text{TERP}=\dfrac{430}{11}=39.0909\ldots \approx\39.09$. (2)
Wealth invariance check (investor fully subscribes):
- After bonus: 50,000 shares \times \40 = $2{,}000{,}000$.
- Rights: pays \150{,}000$ cash, receives 5,000 shares.
- After rights: 55{,}000 \times 39.0909 = \2{,}150{,}000$.
- Net wealth = share value − cash paid = 2{,}150{,}000 - 150{,}000 = \2{,}000{,}000$. ✓
Wealth in equities rose only by the cash the investor themselves injected; underlying wealth unchanged. (3)
(c) Proof & balance-sheet distinction (6 marks)
Proof (split & bonus): Let value before . Split/bonus multiplies share count by factor and (by value preservation) divides price by : new value . No cash enters or leaves; investor wealth invariant. (2)
Balance-sheet difference: In a split, only the FV and number of shares change; no accounting entry moves — equity composition unchanged (a mere subdivision). In a bonus issue, the company capitalises reserves: an amount equal to the additional shares' face value is transferred from free reserves (retained earnings) to share capital. FV stays the same but total paid-up share capital rises; reserves fall by the same amount. Net equity unchanged. (2)
Rights difference: A rights issue brings new external cash into the company and increases the number of outstanding shares in exchange for that cash. Before counting the cash paid, the per-share price falls to TERP because value is diluted across more shares while cash is being raised at a discount to market. It is not a pure repackaging: total company equity genuinely increases by cash raised. Investor wealth is preserved only because the discount they capture on new shares offsets the dilution of old ones. (2)
Question 2
(a) Building both indices (8 marks)
Price-weighted: sum of prices . Choose divisor so index : (4)
Free-float market cap (Price × Shares × FF):
- A:
- B:
- C:
- Total FF mcap (mn units).
Base mcap , base index : (4)
(b) Split effect (7 marks)
Price-weighted: After A's 2-for-1 split, . New price sum . Without adjustment: index — an artificial drop of ~9% caused purely by the split, not economics. To keep continuity, solve for new divisor so index stays at pre-split value : The divisor is lowered from to . (4)
Free-float index: A's split doubles shares (500→1000 mn) and halves price (100→50). FF mcap of A — unchanged. Total mcap still ; index stays . A split does not change market cap, so a cap-weighted index needs no adjustment. (3)
(c) Code + methodology argument (7 marks)
def rebalance(prices, shares, floats, divisor_pw, base_mcap, base_index=1000):
# Price-weighted (Dow-style)
pw = sum(prices) / divisor_pw
# Free-float market-cap weighted (Sensex/Nifty style)
ff_mcap = sum(p * s * f for p, s, f in zip(prices, shares, floats))
ff = (ff_mcap / base_mcap) * base_index
return pw, ff
def split_adjust_divisor(new_prices, old_index):
# keep index continuous after a corporate action
return sum(new_prices) / old_index(4 marks: correct sums, correct FF formula, correct divisor recompute.)
Argument (3): A free-float cap-weighted index (S&P 500, Sensex, Nifty) weights each stock by its investable market value, so it directly reflects the economic size of companies and the actual money at stake. A price-weighted index (Dow) weights by share price alone — a stock trading at \400$50$ stock even if the latter is a far larger company. This is arbitrary because price depends on how many shares a firm chose to issue (splits change price without changing size). Hence price-weighting is distorted by high-priced constituents and needs divisor patches for every split; cap-weighting is self-consistent.
Question 3
(a) Dividends & yields (6 marks)
Preferred dividend =2{,}000{,}000\times100\times0.08=\16{,}000{,}000=40{,}000{,}000-16{,}000{,}000=$24{,}000{,}000=24{,}000{,}000/10{,}000{,}000=$2.40=2.40/120=2.0%$96=8%\times100=$8=8/96=8.33%$. (1)
(b) Buyback (6 marks)
Shares repurchased . (2) New common count . (1) Equity value before =10{,}000{,}000\times120=\1{,}200{,}000{,}000=1{,}200{,}000{,}000-36{,}000{,}000=$1{,}164{,}000{,}000=1{,}164{,}000{,}000/9{,}700{,}000=$120.00$. (2) (Price is unchanged here because buyback occurred at market price — value and shares fall proportionally.) EPS rises because the same earnings are divided over fewer shares, raising per-share metrics even without price change. (1)
(c) Skipped cumulative preferred dividend (4 marks)
Because the preferred is cumulative, an unpaid (skipped) dividend does not vanish — it accrues as dividends in arrears. In the following year the company must pay both the arrears and the current preferred dividend () before any dividend can be paid to common shareholders. Priority ordering of distributions: preferred arrears → current preferred → common. Common shareholders have no such protection — a skipped common dividend is simply lost and never accrues. (4)
[
{"claim":"Q1 TERP for n=10,P=40,S=30 equals 430/11","code":"P=40; n=10; S=30; terp=(n*P+S)/(n+1); result = simplify(terp - Rational(430,11))==0"},
{"claim":"Q1 investor wealth invariant at 2,000,000 after all actions","code":"shares=8000*5*Rational(5,4); shares=shares+shares/10; terp=Rational(430,11); wealth=shares*terp - 5000*30; result = simplify(wealth-2000000)==0"},
{"claim":"Q2 price-weighted new divisor after split is 0.50","code":"new_prices=50+400+50; old_index=1000; d=Rational(new_prices,old_index); result = d==Rational(1,2)"},
{"claim":"Q2 free-float mcap unchanged after A split (still 75000)","code":"A=50*1000*Rational(1,2); B=400*100*1; C=50*800*Rational(1,4); total=A+B+C; result = total==75000"},
{"claim":"Q3 common dividend yield is 2% and preferred yield 8.33%","code":"pref=2000000*100*Rational(8,100); resid=40000000-pref; dps=resid/10000000; cy=dps/120; py=Rational(8,96); result = (cy==Rational(1,50)) and (simplify(py-Rational(1,12))==0)"},
{"claim":"Q3 buyback: 300000 shares, new price 120","code":"rep=Rational(36000000,120); newn=10000000-rep; newprice=(1200000000-36000000)/newn; result = (rep==300000) and (newprice==120)"}
]