Learn · Track 8: Track, practise and review · lesson 4 of 6 · Intermediate
PSX historical data download: free daily CSV
How to download daily PSX price history for a stock or the KSE-100: the official PSX data portal, and a free CSV from SuperX Charts, adjusted or not.
To download PSX historical data (psx historical data kaise download karein), use the exchange’s own data portal at dps.psx.com.pk, whose Historical Data page can be searched by month and year or by symbol, and whose Downloads page offers the daily market summary (checked 18 October 2026). For one stock’s or one index’s daily bars as a single file, open the symbol in SuperX Charts, choose daily bars and the range ALL, then press Download CSV in the ⋯ menu. The file has six columns: time, open, high, low, close and volume. As fetched on 18 October 2026, the ALL range held 2,500 daily bars, from 15 September 2016 to 16 October 2026, for both OGDC and the KSE-100.
What does the official PSX data portal offer?
The Pakistan Stock Exchange runs a free public data portal at dps.psx.com.pk. Two parts of it matter for history, and what each one shows was checked on 18 October 2026.
- Historical Data (dps.psx.com.pk/historical). It has two tabs, Equities and Fixed Income. It offers “Search by date”, with Month and Year drop-downs, and “Search by symbol”. A line on the page reads: “To download daily market summary, visit Daily Downloads page.”
- Downloads (dps.psx.com.pk/downloads). It has two tabs, Daily Downloads and Other Downloads.
What could not be verified for this post: the file formats of the Daily Downloads, the columns inside each file, how far back they go, and whether a per-symbol price history can be exported as one file. The portal builds those lists with scripts, and the fetch returned only the page frame. Open the pages yourself and read the file names before you build a workflow on them.
Two rules from the portal’s terms of use are worth knowing. The portal allows you to download “a single, unaltered, permanent copy” of its content “for your personal, non-commercial use only”, and it states that PSX and its operator do not guarantee the accuracy, completeness or timeliness of the data. For commercial use, PSX’s data services page says the exchange can provide historical market data from all past trading sessions under a licence, and gives the Market Data Team’s address, [email protected]. Sources: PSX data services and the terms on dps.psx.com.pk, both checked 18 October 2026.
How do I download a stock’s daily price history as a CSV?
SuperX Charts exports the bars on the chart as a CSV file, free and with no account. The control is Download CSV in the ⋯ menu, and the guide says it is in Pro. Pro is on for everyone by default, so you only need the Simple | Pro switch in the top bar if you chose Simple earlier.
- Open the symbol. A link does this in one step, for example OGDC on daily bars, range ALL. Or click the symbol box, type a symbol such as OGDC and press Enter.
- Check the interval. The file holds the bars at the chart’s interval, so choose 1d (daily) for daily history. The link above already says
i=1d. - Choose the range. ALL gives the whole history on the chart. Other daily ranges are 1M, 3M, 6M, 1Y, 2Y and 5Y. The file holds the bars of the range you chose.
- Choose adjusted or unadjusted prices (next section). The default is adjusted for bonus shares, rights and splits.
- Open the ⋯ menu and click Download CSV. The browser saves a file named after the symbol and interval, for example
OGDC-1d.csv.
The file has a header row and one row per bar, in this order: time,open,high,low,close,volume. Each daily time is the session date at 00:00 UTC in ISO form. For example, the OGDC rows for 7 and 8 October 2026, as the chart held them on 18 October 2026, are:
| time | open | high | low | close | volume |
|---|---|---|---|---|---|
| 2026-10-07T00:00:00.000Z | 318 | 318.45 | 315 | 315.91 | 2260742 |
| 2026-10-08T00:00:00.000Z | 313 | 313.5 | 307.99 | 308.66 | 1564189 |
The date is the part to read. Open the file in a spreadsheet and take the first ten characters of the time cell to get the session date. Intraday intervals export too, but intraday history is short: a month at 1-minute bars, and a quarter at 5-minute to 4-hour bars.
For a quick look before you download, the share pages show the latest close with its date: OGDC read Rs 299.10 on 16 October 2026, and HBL read Rs 290.42 on the same day. The same data is on the site’s OGDC chart page and stock page.
How do I get KSE-100 historical data?
The KSE-100 (kse 100 historical data) works the same way, because the terminal treats an index as a symbol. Open the KSE-100 on daily bars, range ALL, then use ⋯ and Download CSV. As fetched on 18 October 2026, the history returned 2,500 daily rows from 15 September 2016 to 16 October 2026, and each row had a high and a low as well as an open, close and volume. The latest row showed a close of 166,419.72 on 16 October 2026.
An index has a limit that a company does not. The terminal’s guide says that on an index the chart draws candles only where the exchange’s record has a high and a low. In the CSV, a session with no range from the record has empty high and low cells, not a range invented from the open and close. Intraday intervals are greyed out for an index, so an index file is daily bars only.
The KSE-100 share page states the latest close, and the site’s KSE-100 page carries its constituents and performance. For what the index measures, see what is the KSE-100 index.
What is the difference between adjusted and unadjusted prices?
An unadjusted price is the price as the exchange printed it on the day. An adjusted price changes the older prices so that a bonus share, a right or a split does not show up as a fall. The terminal’s guide says daily prices are adjusted for bonus shares, rights and splits, and not for cash dividends.
A real case shows the size. Shaheen Insurance (SHNI) went ex-bonus on 7 April 2026 with a 30% bonus issue. In the exchange’s own prices its close fell from Rs 9.02 on 6 April 2026 to Rs 7.02 on 7 April 2026, a fall of 22.17%. In the adjusted series the 6 April close is Rs 6.9385 (9.02 divided by 1.3), and the 7 April close of Rs 7.02 is a rise of 1.17%. Both series carry the same Rs 7.02 from the ex-date onward. The two figures above are as the chart’s two modes held them on 18 October 2026.
Three practical points follow:
- Volume is scaled too. In the adjusted series SHNI’s volume on 17 October 2025 was 7,227 shares; in the exchange’s own record it was 5,559 (a ratio of 1.3). I observed this in the chart’s data; the guide does not state it.
- Adjusted prices carry up to four decimals. In the examples above the exchange’s own prices carry two. If you want to match a price to a contract note, use the unadjusted file.
- Cash dividends are never adjusted. On OGDC’s ex-date the adjusted and unadjusted closes were the same (Rs 308.66 on 8 October 2026). For how a cash dividend is quoted, see dividends as a percent of face value. For the bonus mechanics, see bonus shares on PSX.
To download the exchange’s own prices, open the chart with the switch set. The link key is adj=none. In the app, click Unadjusted in the note about corporate actions under the chart. On a phone the switch is in Pro’s Settings, under Prices. Click Adjusted to go back. Then press Download CSV: the file follows the switch. Use unadjusted for matching contract notes; use adjusted for a return over years.
Which source should I use?
| Need | PSX data portal | SuperX Charts CSV |
|---|---|---|
| One stock’s daily bars as one file | Not verified | Yes, ALL range, 1d |
| An index’s daily history | Not verified | Yes, daily rows |
| The exchange’s own daily market summary | Daily Downloads page (formats not verified) | No |
| Adjusted for bonus, rights and splits | Not verified | Yes, by default |
| The exchange’s own prices | Yes (the portal is the source) | Yes, with Unadjusted on |
| Time stamps | Not verified | UTC, session date at 00:00 |
| Commercial use | Licence needed, see PSX | Check before reuse |
| Cost and account | Free, no registration stated | Free, no account |
Where the table says “Not verified”, the answer comes from the PSX pages as they build their lists with scripts: check them in a browser. The CSV from SuperX Charts is built in your browser from the bars on your screen, so what you see is what you get.
Frequently asked questions
Can I download PSX historical data for free?
Yes. The PSX data portal at dps.psx.com.pk is free to use, with search by date and by symbol on its Historical Data page. SuperX Charts also exports a free CSV for any symbol, with no account.
How many years of PSX history does the CSV hold?
As fetched on 18 October 2026, OGDC’s ALL range held 2,500 daily bars, from 15 September 2016. The terminal’s README describes the daily history as up to ten years. Some symbols have fewer rows; SHNI returned 2,034.
Is the downloaded price adjusted?
By default yes, for bonus shares, rights and splits, but never for cash dividends. Turn on Unadjusted before you download to get the exchange’s own prices.
Why do volume and price look different from my broker’s statement?
The default file is adjusted, so older rows carry scaled prices and volumes after a bonus issue or split. Switch to unadjusted to match a contract note.
Can I use the data in my own product?
The PSX portal’s terms limit its content to personal, non-commercial use, and PSX offers licences for other use through its Market Data Team. Check the terms of any source before you republish its data.
Education, not investment advice.
START TRACKING YOUR PSX PORTFOLIO
SuperX is a free PSX portfolio tracker: every holding, dividend and book closure in one place. Leave your email and we write once, when the app opens.