Research study

What actually happens to a PSX stock on its ex-dividend day

We pulled 10 years of dividend history across PSX and measured the real price drop on the ex-date versus the dividend paid. The gap is the interesting part.

pyPSX· 13 July 2026· 1 min read

Textbook theory says a stock should open lower by roughly the dividend amount on its ex-dividend date. On PSX, the reality is noisier, and the gap between theory and tape is where the signal lives.

The setup

For every cash dividend in get_dividend_history() across the last decade, we compared the close before the ex-date to the open on the ex-date, and expressed the move as a fraction of the cash dividend per share.

import pypsx

hist = pypsx.get_dividend_history("HBL")
cash = hist[hist["Type"] == "Cash Dividend"].copy()

# Cash per share = Rate% × Face Value
cash["per_share"] = cash["Rate"].str.rstrip("%").astype(float) / 100 * cash["Face_Value"]

px = pypsx.download("HBL", period="10y")
# ... align each ex-date to the surrounding closes and measure the drop ...

The finding

Across the sample, the average ex-date drop recovered only a portion of the dividend within the same session, thinner names under-adjusted more, and the effect was strongest around the large semi-annual bank payouts. Dividend history from the provider is reliable for roughly the last two years, so treat the deep tail as indicative.

Why it’s worth knowing

If you run a dividend-capture idea on PSX, the ex-date behavior, not the yield - decides whether it’s profitable after costs. This is exactly the kind of thing you can only measure with a full PSX dataset in one shape, which is the point.

Not investment advice. Backtested results are hypothetical, computed on historical PSX data, and are not a guarantee of future performance.