File size: 15,524 Bytes
a50e78e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
523b436
a50e78e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64e4b53
a50e78e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
from enum import Enum

class Company:
    def __init__(self, name, sector,symbol):
        self.name = name
        self.sector = sector
        self.symbol = symbol

    def __repr__(self):
        return (
            f"Company(name='{self.name}', "
            f"sector='{self.sector}', "
            f"symbol='{self.symbol}')"
        )
    def to_dict(self):
        return {
            "name": self.name,
            "sector": self.sector,
            "symbol": self.symbol,
        }

class IndexEnum(str, Enum):
    kse_100 = "kse_100"
    kse_30 = "kse_30"
    psx_div_20 = "psx_div_20"
    mii_30 = "mii_30"
    kmi_30 = "kmi_30"



## KSE 100
kse_100 = [
    Company("HBL Growth Fund", "Close-End Mutual Funds", "HGFA"),
    Company("First Habib Modaraba", "Modaraba", "FHAM"),
    Company("Pak-Gulf Leasing Company", "Leasing Companies", "PGLC"),
    Company("Engro Holdings Ltd.", "Investment / Holding Companies", "ENGROH"),
    Company("DH Partners Ltd.", "Investment / Holding Companies", "DHPL"),
    Company("Pakistan Stock Exchange Ltd.", "Investment / Holding Companies", "PSX"),

    Company("United Bank Ltd.", "Commercial Banks", "UBL"),
    Company("Bank AL Habib Ltd.", "Commercial Banks", "BAHL"),
    Company("Bank Alfalah Ltd.", "Commercial Banks", "BAFL"),
    Company("The Bank of Punjab", "Commercial Banks", "BOP"),
    Company("Faysal Bank Ltd.", "Commercial Banks", "FABL"),
    Company("Meezan Bank Ltd.", "Commercial Banks", "MEBL"),
    Company("Habib Bank Ltd.", "Commercial Banks", "HBL"),
    Company("Habib Metropolitan Bank Ltd.", "Commercial Banks", "HMB"),
    Company("MCB Bank Ltd.", "Commercial Banks", "MCB"),
    Company("National Bank of Pakistan", "Commercial Banks", "NBP"),
    Company("Standard Chartered Bank (Pak) Ltd.", "Commercial Banks", "SCBPL"),
    Company("Askari Bank Ltd.", "Commercial Banks", "AKBL"),
    Company("Allied Bank Ltd.", "Commercial Banks", "ABL"),

    Company("Adamjee Insurance Co. Ltd.", "Insurance", "AICL"),
    Company("TPL REIT Fund I", "REIT", "TPLRF1"),
    Company("Dolmen City REIT", "REIT", "DCR"),

    Company("Gadoon Textile Mills Ltd.", "Textile Spinning", "GADT"),
    Company("Yousaf Weaving Mills Ltd.", "Textile Weaving", "YOUW"),
    Company("Nishat Mills Ltd.", "Textile Composite", "NML"),
    Company("Mehmood Textile Mills Ltd.", "Textile Composite", "MTL"),
    Company("Kohinoor Textile Mills Ltd.", "Textile Composite", "KTML"),
    Company("Interloop Ltd.", "Textile Composite", "ILP"),
    Company("Bannu Woollen Mills Ltd.", "Woollen", "BWHL"),
    Company("Ibrahim Fibres Ltd.", "Synthetics & Rayon", "IBFL"),
    Company("JDW Sugar Mills Ltd.", "Sugar & Allied", "JDWS"),

    Company("Lucky Cement Ltd.", "Cement", "LUCK"),
    Company("D. G. Khan Cement Co. Ltd.", "Cement", "DGKC"),
    Company("Bestway Cement Ltd.", "Cement", "BWCL"),
    Company("Fauji Cement Company Ltd.", "Cement", "FCCL"),
    Company("Kohat Cement Company Ltd.", "Cement", "KOHC"),
    Company("Cherat Cement Company Ltd.", "Cement", "CHCC"),
    Company("Maple Leaf Cement Factory Ltd.", "Cement", "MLCF"),
    Company("Pioneer Cement Ltd.", "Cement", "PIOC"),

    Company("Pakistan Tobacco Company Ltd.", "Tobacco", "PTC"),
    Company("Attock Refinery Ltd.", "Refinery", "ATRL"),
    Company("Cnergyico PK Ltd.", "Refinery", "CNERGY"),

    Company("The Hub Power Company Ltd.", "Power Generation & Distribution", "HUBC"),
    Company("Kot Addu Power Company Ltd.", "Power Generation & Distribution", "KAPCO"),
    Company("K-Electric Ltd.", "Power Generation & Distribution", "KEL"),
    Company("Pakgen Power Ltd.", "Power Generation & Distribution", "PKGP"),

    Company("Pakistan State Oil Company Ltd.", "Oil & Gas Marketing", "PSO"),
    Company("Attock Petroleum Ltd.", "Oil & Gas Marketing", "APL"),
    Company("Sui Northern Gas Pipelines Ltd.", "Oil & Gas Marketing", "SNGP"),
    Company("Sui Southern Gas Company Ltd.", "Oil & Gas Marketing", "SSGC"),

    Company("Oil & Gas Development Co. Ltd.", "Oil & Gas Exploration", "OGDC"),
    Company("Mari Petroleum Company Ltd.", "Oil & Gas Exploration", "MARI"),
    Company("Pakistan Oilfields Ltd.", "Oil & Gas Exploration", "POL"),
    Company("Pakistan Petroleum Ltd.", "Oil & Gas Exploration", "PPL"),

    Company("International Steels Ltd.", "Engineering", "ISL"),
    Company("International Industries Ltd.", "Engineering", "INIL"),

    Company("Millat Tractors Ltd.", "Automobile Assembler", "MTL"),
    Company("Indus Motor Company Ltd.", "Automobile Assembler", "INDU"),
    Company("Sazgar Engineering Works Ltd.", "Automobile Assembler", "SAZEW"),
    Company("Atlas Honda Ltd.", "Automobile Assembler", "ATLH"),
    Company("Honda Atlas Cars (Pakistan) Ltd.", "Automobile Assembler", "HCAR"),
    Company("Ghandhara Automobiles Ltd.", "Automobile Assembler", "GHAND"),
    Company("Ghandhara Industries Ltd.", "Automobile Assembler", "GHNI"),

    Company("Thal Ltd.", "Automobile Parts & Accessories", "THALL"),
    Company("Pak Elektron Ltd.", "Cables & Electrical Goods", "PAEL"),
    Company("Pakistan International Bulk Term. Ltd.", "Transport", "PIBTL"),

    Company("Systems Ltd.", "Technology & Communication", "SYS"),
    Company("Air Link Communication Ltd.", "Technology & Communication", "AIRLINK"),
    Company("Pakistan Telecommunication Company Ltd.", "Technology & Communication", "PTC"),
    Company("TRG Pakistan Ltd.", "Technology & Communication", "TRG"),
    Company("Hum Network Ltd.", "Technology & Communication", "HUMNL"),

    Company("Fauji Fertilizer Company Ltd.", "Fertilizer", "FFC"),
    Company("Engro Fertilizers Ltd.", "Fertilizer", "EFERT"),
    Company("Fatima Fertilizer Company Ltd.", "Fertilizer", "FATIMA"),

    Company("GlaxoSmithKline Pakistan Ltd.", "Pharmaceutical", "GLAXO"),
    Company("AGP Ltd.", "Pharmaceutical", "AGP"),
    Company("The Searle Company Ltd.", "Pharmaceutical", "SEARL"),
    Company("Abbott Laboratories (Pak.) Ltd.", "Pharmaceutical", "ABOT"),
    Company("Citi Pharma Ltd.", "Pharmaceutical", "CIPHL"),
    Company("Haleon Pakistan", "Pharmaceutical", "HALEON"),
    Company("Highnoon Laboratories", "Pharmaceutical", "HINOON"),

    Company("Lucky Core Industries Ltd.", "Chemical", "LCI"),
    Company("Lotte Chemical Pakistan Ltd.", "Chemical", "LOTCHEM"),

    Company("Packages Ltd.", "Paper, Board & Packaging", "PKGS"),
    Company("S.S. Oil Mills Ltd.", "Vanaspati & Allied", "SSOM"),
    Company("Service Industries Ltd.", "Leather & Tanneries", "SRVI"),

    Company("Colgate-Palmolive (Pakistan) Ltd.", "Food & Personal Care", "COLG"),
    Company("Fauji Foods Ltd.", "Food & Personal Care", "FFL"),
    Company("Murree Brewery Company Ltd.", "Food & Personal Care", "MUREB"),
    Company("Nestle Pakistan Ltd.", "Food & Personal Care", "NESTLE"),
    Company("National Foods Ltd.", "Food & Personal Care", "NATF"),
    Company("Rafhan Maize Products Co. Ltd.", "Food & Personal Care", "RMPL"),
    Company("Unilever Pakistan Food Ltd.", "Food & Personal Care", "UPFL"),
    Company("Unity Foods Ltd.", "Food & Personal Care", "UNITY"),

    Company("Tariq Glass Industries Ltd.", "Glass & Ceramics", "TGGL"),
    Company("Ghani Glass Ltd.", "Glass & Ceramics", "GHGL"),

    Company("Pakistan Services Ltd.", "Miscellaneous", "PSEL"),
    Company("Pakistan Aluminium Beverage Cans Ltd.", "Miscellaneous", "PABC"),
    Company("Shifa International Hospitals Ltd.", "Miscellaneous", "SHFA"),
    Company("Javedan Corporation Ltd.", "Property", "JAVED")
]


## KSE 30

kse_30 = [
    Company("Fauji Fertilizer Company Limited", "Fertilizer", "FFC"),
    Company("United Bank Limited", "Commercial Banks", "UBL"),
    Company("The Hub Power Company Limited", "Power Generation & Distribution", "HUBC"),
    Company("Engro Holdings Limited", "Investment / Holding Companies", "ENGROH"),
    Company("Oil & Gas Development Company Limited", "Oil & Gas Exploration", "OGDC"),
    Company("Pakistan Petroleum Limited", "Oil & Gas Exploration", "PPL"),
    Company("Meezan Bank Limited", "Commercial Banks", "MEBL"),
    Company("D.G. Khan Cement Company Limited", "Cement", "DGKC"),
    Company("Mari Energies Limited", "Oil & Gas Exploration", "MARI"),
    Company("Habib Bank Limited", "Commercial Banks", "HBL"),
    Company("Fauji Cement Company Limited", "Cement", "FCCL"),
    Company("Engro Fertilizers Limited", "Fertilizer", "EFERT"),
    Company("Pakistan State Oil Company Limited", "Oil & Gas Marketing", "PSO"),
    Company("Maple Leaf Cement Factory Limited", "Cement", "MLCF"),
    Company("Pakistan Oilfields Limited", "Oil & Gas Exploration", "POL"),
    Company("Ghandhara Industries Limited", "Automobile Assembler", "GHNI"),
    Company("Pak Elektron Limited", "Cables & Electrical Goods", "PAEL"),
    Company("Lucky Cement Limited", "Cement", "LUCK"),
    Company("Attock Refinery Limited", "Refinery", "ATRL"),
    Company("MCB Bank Limited", "Commercial Banks", "MCB"),
    Company("Sazgar Engineering Works Limited", "Automobile Assembler", "SAZEW"),
    Company("National Bank of Pakistan", "Commercial Banks", "NBP"),
    Company("The Searle Company Limited", "Pharmaceutical", "SEARL"),
    Company("Sui Northern Gas Pipelines Limited", "Oil & Gas Marketing", "SNGP"),
    Company("Ghandhara Automobiles Limited", "Automobile Assembler", "GAL"),
    Company("Pakistan Refinery Limited", "Refinery", "PRL"),
    Company("The Bank of Punjab", "Commercial Banks", "BOP"),
    Company("Sui Southern Gas Company Limited", "Oil & Gas Marketing", "SSGC"),
    Company("Systems Limited", "Technology & Communication", "SYS"),
    Company("Bank AL Habib Limited", "Commercial Banks", "BAHL"),
]


## div 20

psx_div_20 = [
    Company("Pakistan Oilfields Limited", "Oil & Gas Exploration", "POL"),
    Company("Millat Tractors Limited", "Automobile Assembler", "MTL"),
    Company("Arif Habib Corporation Limited", "Investment / Holding Companies", "AHCL"),
    Company("Fauji Fertilizer Company Limited", "Fertilizer", "FFC"),
    Company("MCB Bank Limited", "Commercial Banks", "MCB"),
    Company("Engro Fertilizers Limited", "Fertilizer", "EFERT"),
    Company("Bank Alfalah Limited", "Commercial Banks", "BAFL"),
    Company("BankIslami Pakistan Limited", "Commercial Banks", "BIPL"),
    Company("Bank AL Habib Limited", "Commercial Banks", "BAHL"),
    Company("Image Pakistan Limited", "Textile Composite", "IMAGE"),
    Company("The Bank of Punjab", "Commercial Banks", "BOP"),
    Company("Faysal Bank Limited", "Commercial Banks", "FABL"),
    Company("National Foods Limited", "Food & Personal Care", "NATF"),
    Company("United Bank Limited", "Commercial Banks", "UBL"),
    Company("Javedan Corporation Limited", "Property", "JVDC"),
    Company("The Hub Power Company Limited", "Power Generation & Distribution", "HUBC"),
    Company("Meezan Bank Limited", "Commercial Banks", "MEBL"),
    Company("Habib Bank Limited", "Commercial Banks", "HBL"),
    Company("Oil & Gas Development Company Limited", "Oil & Gas Exploration", "OGDC"),
    Company("Fatima Fertilizer Company Limited", "Fertilizer", "FATIMA"),
]

## MII 30

mii_30 = [
    Company("Fauji Fertilizer Company Limited", "Fertilizer", "FFC"),
    Company("Engro Holdings Limited", "Investment / Holding Companies", "ENGROH"),
    Company("The Hub Power Company Limited", "Power Generation & Distribution", "HUBC"),
    Company("Lucky Cement Limited", "Cement", "LUCK"),
    Company("Meezan Bank Limited", "Commercial Banks", "MEBL"),
    Company("Mari Energies Limited", "Oil & Gas Exploration", "MARI"),
    Company("Oil & Gas Development Company Limited", "Oil & Gas Exploration", "OGDC"),
    Company("Pakistan Petroleum Limited", "Oil & Gas Exploration", "PPL"),
    Company("Engro Fertilizers Limited", "Fertilizer", "EFERT"),
    Company("Systems Limited", "Technology & Communication", "SYS"),
    Company("Pakistan State Oil Company Limited", "Oil & Gas Marketing", "PSO"),
    Company("Maple Leaf Cement Factory Limited", "Cement", "MLCF"),
    Company("D.G. Khan Cement Company Limited", "Cement", "DGKC"),
    Company("Millat Tractors Limited", "Automobile Assembler", "MTL"),
    Company("Fauji Cement Company Limited", "Cement", "FCCL"),
    Company("Faysal Bank Limited", "Commercial Banks", "FABL"),
    Company("Sazgar Engineering Works Limited", "Automobile Assembler", "SAZEW"),
    Company("Pioneer Cement Limited", "Cement", "PIOC"),
    Company("Cherat Cement Company Limited", "Cement", "CHCC"),
    Company("Sui Northern Gas Pipelines Limited", "Oil & Gas Marketing", "SNGP"),
    Company("Attock Refinery Limited", "Refinery", "ATRL"),
    Company("Lucky Core Industries Limited", "Chemical", "LCI"),
    Company("Pak Elektron Limited", "Cables & Electrical Goods", "PAEL"),
    Company("The Searle Company Limited", "Pharmaceutical", "SEARL"),
    Company("GlaxoSmithKline Pakistan Limited", "Pharmaceutical", "GLAXO"),
    Company("Highnoon Laboratories Limited", "Pharmaceutical", "HINOON"),
    Company("Kohat Cement Company Limited", "Cement", "KOHC"),
    Company("Abbott Laboratories (Pakistan) Limited", "Pharmaceutical", "ABOT"),
    Company("National Foods Limited", "Food & Personal Care", "NATF"),
]


## KMI 30

kmi_30 = [
    Company("Air Link Communication Limited", "Technology & Communication", "AIRLINK"),
    Company("Attock Refinery Limited", "Refinery", "ATRL"),
    Company("Cnergyico PK Limited", "Refinery", "CNERGY"),
    Company("Citi Pharma Limited", "Pharmaceutical", "CPHL"),
    Company("D.G. Khan Cement Company Limited", "Cement", "DGKC"),
    Company("Engro Fertilizers Limited", "Fertilizer", "EFERT"),
    Company("Engro Holdings Limited", "Investment / Holding Companies", "ENGROH"),
    Company("Fauji Cement Company Limited", "Cement", "FCCL"),
    Company("Fauji Fertilizer Company Ltd", "Fertilizer", "FFC"),
    Company("Fauji Foods Limited", "Food & Personal Care", "FFL"),
    Company("Ghandhara Automobiles Limited", "Automobile Assembler", "GAL"),
    Company("Ghandhara Industries Limited", "Automobile Assembler", "GHNI"),
    Company("GlaxoSmithKline Pakistan", "Pharmaceutical", "GLAXO"),
    Company("The Hub Power Company Limited", "Power Generation & Distribution", "HUBC"),
    Company("Lucky Cement Limited", "Cement", "LUCK"),
    Company("Mari Energies Limited", "Oil & Gas Exploration", "MARI"),
    Company("Meezan Bank Limited", "Commercial Banks", "MEBL"),
    Company("Maple Leaf Cement Factory Limited", "Cement", "MLCF"),
    Company("Millat Tractors Limited", "Automobile Assembler", "MTL"),
    Company("National Refinery Limited", "Refinery", "NRL"),
    Company("Oil & Gas Development Company Limited", "Oil & Gas Exploration", "OGDC"),
    Company("Pak Elektron Limited", "Cables & Electrical Goods", "PAEL"),
    Company("Pakistan Petroleum Limited", "Oil & Gas Exploration", "PPL"),
    Company("Pakistan Refinery Limited", "Refinery", "PRL"),
    Company("Pakistan State Oil Company Limited", "Oil & Gas Marketing", "PSO"),
    Company("Sazgar Engineering Works Limited", "Automobile Assembler", "SAZEW"),
    Company("The Searle Company Limited", "Pharmaceutical", "SEARL"),
    Company("Sui Northern Gas Pipelines Limited", "Oil & Gas Marketing", "SNGP"),
    Company("Sui Southern Gas Company Limited", "Oil & Gas Marketing", "SSGC"),
    Company("Systems Limited", "Technology & Communication", "SYS"),
]


INDEX_MAP = {
    IndexEnum.kse_100: kse_100,
    IndexEnum.kse_30: kse_30,
    IndexEnum.psx_div_20: psx_div_20,
    IndexEnum.mii_30: mii_30,
    IndexEnum.kmi_30: kmi_30,
}