Nifty PE after all earnings have been declared

(Krishnaraj) #81

I did not see any folly. In any case investing is a funny craft where many “experts” make money by telling you how to make money. Now if you think about it, that’s a paradox in itself.

Veterans may say buy this or that but for every buyer there is also a seller who is also a veteran!

I think normalisation of earnings, or trying to find out core earnings is a subjective process.

(Gaurav Agarwal) #82

@diffsoft Can we re-calculate the EPS of Nifty 50 on consolidated basis taking into account the changes in Nifty 50 which happened on 2-Apr-18?


(Krishnaraj) #83

Nifty EPS for FY 18 will be known after earnings are declared. I will share PE with revised Nifty thereafter.

(Krishnaraj) #84


Attached is the Nifty trailing 12 month PE (weighted) as at May 31, 2018. Nifty PE Q4 FY18 for valupickr.xlsx (97.0 KB)


  1. The Nifty trailing 12 month PE as of 31/05/2018 was 23.35 vs 22.45 as on 20/02/2018. Thus valuations have grown more than earnings, unlike last quarter. About the same time last year the PE ratio was 22.18 which means valuations grew ~ 5% faster than earnings compared to last year.

  2. Nifty EPS (arrived at by dividing Nifty by Nifty trailing PE above) works out to 459.73 vs 461.47 end of Dec. In other words Nifty EPS has fallen.

  3. Weighted quarterly PAT in March fell by about 9% vs Dec quarter leading to fall in Nifty EPS. This is likely due to changes in Nifty effective April 02, 2018.

  4. Nifty EPS grew by about 6.2% last year, adding to another year of poor growth (Nifty PE after all earnings have been declared). It is so modest in comparison with what brokerages forecast that the latter should hide their modesty.

Feel free to ask any queries.

Warm regards,

(Gaurav Agarwal) #85

Nifty 50 EPS growth at 6.2% is lower than GDP growth at 6.7%, this shows that sectors of economy not represented in Nifty 50 did well.

More surprising is q4fy18 where Nifty 50 companies degrew their EPS, whereas GDP grew by 7.7%.

Thanks @diffsoft for your work.

(Krishnaraj) #86

Thanks Gaurav,

Here are some observations on Nifty vs GDP.

  1. Q4 Nifty PAT unweighted was about ₹90,000 cr. Q4 GDP (at current prices) was ~ ₹ 45 lakh crores ( [Q4 GDP] )( Thus Nifty forms 2% of GDP, which is way smaller than what is generally thought. Also, we need to take GDP at current prices (nominal GDP, not real GDP), not constant prices. Further, generally people take income of a firm to compare with GDP whereas it should be earnings.

  2. Nifty is constrained by many factors unrelated to the broader economy in general. For instance free float and liquidity are important factors to be included in the Nifty. Besides it has to represent the market, which will not have full representation of the economy.

  3. Nifty also will have to pick businesses in a sector that have better prospects, even if not representative. This is best illustrated in the composition of banks. There are 6 private sector banks vs only one public sector bank in the Nifty, whereas public sector banks account for more than 60% of assets.

  4. When I last looked Nifty has a substantially larger portion of its business conducted outside India, and exported from India vs the Indian economy 50%+ vs 36%, iirc). For instance, all IT, Pharma firms have mostly exports, as does refining business of Reliance. Tata Steel, Tata Motors, Hindalco have overseas businesses larger or comparable to their Indian businesses.

  5. Another important factor is that the change in computation of GDP (which is a statistic, whereas Nifty earnings are not) that inflates the GDP, and for which back series has not been provided to make a comparison. A reading of the changes with some economists’ commentary led me to believe that that the new series does inflate GDP. This has resulted in divergence between the statistic and pockets of reality we are each exposed to. There was an opinion to that effect as recent as a few days ago (India needs to diagnose its GDP system).

(Gaurav Agarwal) #87

Do you have weighted earnings growth for the year and quarter, if you have that numbers easy?

On on broad level Nifty 50 should represent that best that India has to offer therefore the earnings growth of Nifty 50 shall be more than GDP growth but if the case is otherwise it is something to think about!

(Krishnaraj) #88

You can compute it from the excel sheet by multiplying each unweighted PAT in column D with weights in column H.

This comes to be 29,19,553 for Q4 FY 18

Weighted PAT for the year would have to be the sum of weighted PAT for each quarter (as NIfty keeps changing)

Weighted PAT for Q1, Q2, Q3, Q4 respectively are 26,25,363 , 26.79,188 , 31,99,813 and 29,19,553

(Gaurav Agarwal) #89

This article gives a very rough idea why GDP grew at 7.7% and Nifty 50 grew only 6.2% yoy.

(Gaurav Agarwal) #90

(Gaurav Agarwal) #91

(Krishnaraj) #92


Attached is the Nifty trailing 12 month PE (weighted) as at August 41, 2018. Nifty PE Q1 FY19 for valuepickr.xlsx (111.0 KB)

  1. My computation shows a decrease of 4.6% in TTM Nifty EPS from 460 on May 31, 2018 to 439 on August 14, 2018.

  2. Bloomberg on the other hand shows an increase of Nifty EPS to 480 (I presume it is TTM), an increase of 4.3%. However Bloomberg does not give its source of computation. So far as I’ve seen our computation has been in line with Bloomberg, except this time.

  3. I have checked / rechecked / split whatever little hair I have, but could not see an error. I later analysed why this is so even though weighted PAT has gone up. I try to explain this below, but would appreciate if some members can chip in ( say @Yogesh_s and many others who are excel savvy) to validate what I have done or if some can try to source an alternate computation.

  4. Consequently, as per my computations, Nifty PE has gone up from 23.35 end of May to 26.07 as of yesterday. This is again in keeping with the trend with increase in valuation ahead of increase in earnings.

My explanation of why Nifty EPS has gone down vs May 2018:

First, how I compute

  1. We compute Nifty EPS as Nifty value / Nifty PE, Nifty value is the closing value taken from NSE. So Nifty PE is what we really compute.

  2. Nifty PE is computed as (sum of weighted MCap of each constituent stock) divided by (sum of weighted PAT (consolidated) of each constituent stock)

  3. Sum of weighted MCap of each constituent stock = Full MCap of each stock * weight of the stock. Total weights add up to 100. Weights are sourced from here. Market Cap is taken as the average of BSE / NSE from CMIE’s Prowessiq I am subscribed to.

  4. Sum of weighted PAT (consolidated) of each constituent stock = Consolidated PAT of each stock * weights of the stock as sourced

  5. Consolidated PAT (or standalone in case consolidated is not available) is sourced from company filings or Prowessiq, validated with filings. There are assumptions to be made sometime, which are generally not material and these assumptions can be found in my excel sheet. The biggest assumption I had to make was on HDFC which did not declare consolidated results this quarter because of Ind AS transition.

  6. So computation of PE seems like a straight forward arithmetic affair. The excel shows each of the computation as well.

Next, explanation of decrease

Nifty EPS has declined because Nifty weights have shifted (q-o-q) from companies that added substantially to profits in quarter ended June 2018 vs June 2017 to companies that substantially reduced profits in quarter ended June 2018 vs June 2017. Weights can be thought of as quantities of each stock in a portfolio and shifts in weights among them are akin to selling some and buying ₹ equivalent of some. If the shares of those I sold earn more than the shares of those I buy, the my portfolio EPS will go down.

That’s what has happened with Nifty EPS. Of the 50 stocks, 16 increased their weights (by 4.35 out of 100) and 33 reduced their weights (obviously by the same amount), one remain unchanged. Now the 16 whose weights were increased had profits reduced by ₹ 42,054 million and the 33 whose weights were reduced had profits increased by ₹ 73,121 million. For instance SBI’s weights went up by 0.29 but its profits reduced by ₹ 72,623 million. Reliance’s weights increased by 1.43 but it produced increased profits of just ₹ 3,510 million or 4%. But Dr Reddy’s profits went up 6 times even as its weight dropped. (You may unhide Columns K to P in the sheet attached and see it stock by stock)

This can be better explained (oh really :slight_smile:) if you have say just 2 stocks (A and B) in a portfolio (of 1 unit), of 50 shares each. Say both have equal EPS of 1 and MCap of 500 and 1000. Next year, you sell 25 of stock A, whose MCap remains constant and use that to buy stock B, whose MCap is now risen by 20% to 1,200. Thus you end up buying 20.83 shares of B by selling 25 of A. If during this period A’s profits rose 25%, and B’s falls 10%, then the portfolio earnings per unit has moved down from 100 to 95 (95 = 25 shares1.25 EPS + 70.83 shares.9 EPS). But overall profits have grown up to 152.5 from 150.

P.S: My standalone PE computation matches with that shown in the NSE website (~ 28.02).

(Gaurav Agarwal) #93

I was under impression that weights of individual script in Nifty is contant until it is specifically changes but to my surprise weights of different scripts in Nifty changes in real time (continuously) based on the price of the script.

@diffsoft This may explain the difference between your and Bloomberg calculations. You may be taking weights on different day than Bloomberg.

Methodology for calculation of Nifty is given on this website.

Methodology is explained here.

See today’s newsitem here saying Reliance has become highest weightage in Nifty.

(Krishnaraj) #94

Thanks @Gaurav_Agarwal for your inputs.

I don’t think it changes in real time (and nowhere did I find how it changes). The reason I don’t think it changes in real time is that (a) that would make an Index Fund / ETF very very expensive because these funds have to buy and sell in real time, thus increasing ‘impact cost’ (or trading costs) and (b) the Nifty weights are given for the whole month here without specifying the dates. This lead me to presume that index weights change about once in a month. But it does seem to change a little daily, but very little.

The changes in weights are also not related to changes in MCap. Stocks that have increased MCap have found their weights reduced over the quarter. For instance HCL Tech weight reduced by 0.19 even as its MCap went up 10%, and so on.

They explain everything except how they compute / change the index weight. You can search for index weight. That’s possibly because they licence the index and do not want it copied.

I saw that and read a detailed article here. But this is at variance with what the Nifty Indices published today. It shows HDFC Bank with the highest weightage followed by RIL.

(Gaurav Agarwal) #95

The tweet was at 11:30 today, weights changed again till the end of day.

(Krishnaraj) #96
  1. 1st pic - Real time calculation of the index not of the weights attached to each stock.
  2. 2nd pic - On the weights, you are right, they specify the last day of the month whenever they give the weightages for any month. Haven’t seen for any other day
    3 3rd pic - The areas marked is the Market Cap computation of a company. It says Index Value = Current Mkt Value / Base Market Capital * Base Index of 1000. This is not clear at all, and the best way to see this is to try to compute the index value today through this. For instance Base Market Capital is market cap of each scrip in the index during Base Period. Base Period is set at Nov 3, 1995 (page 6). But what about companies that are in the index and listed later - like TCS, Coal India etc? It’s not clear.

Possible but I don’t think the weights would have changed by 0.58 from 10 to 9.42 close of day…the FE article which has the same headline, says HDFC Bank’s weight was 4.81 or so, but actually HDFC Bank’s weight is given in at 9.52.

Nett I am not clear because these things do not seem to add up.

(Gaurav Agarwal) #97

How is weightage given to stocks in Nifty 50?

There is no source to this, but I thought it might be useful for the community.

(Yogesh Sane) #98

Hi @diffsoft your calculation is correct. Bloomberg probably uses adjusted earning to calculate EPS to remove effect of extra-ordinary and exceptional items from P&L. I do the same too. This quarter SBI, ICICI and Tata Motors had exceptional items. What is exceptional and what is ordinary is subjective so everyone has to use their own judgement.

Alternatively, I calculate contribution of each company to the overall growth rate of the index to eliminate any outliers.

Stocks Weighted Contribution Unweighted Contribution
State Bank Of India -6.3% -9.0%
I C I C I Bank Ltd. -4.0% -3.2%
Tata Motors Ltd. -2.0% -6.3%
Axis Bank Ltd. -0.5% -0.7%
Bharti Airtel Ltd. -0.1% -0.3%
Ultratech Cement Ltd. -0.1% -0.3%
Lupin Ltd. 0.0% -0.2%
Adani Ports & Special Economic Zone Ltd. 0.0% -0.1%
N T P C Ltd. 0.0% 0.0%
Bharti Infratel Ltd. 0.0% 0.0%
Hero Motocorp Ltd. 0.0% 0.0%
U P L Ltd. 0.0% 0.0%
Vedanta Ltd. 0.0% 0.0%
Wipro Ltd. 0.0% 0.1%
Cipla Ltd. 0.0% 0.1%
Zee Entertainment Enterprises Ltd. 0.0% 0.1%
Titan Company Ltd. 0.0% 0.1%
Hindalco Industries Ltd. 0.0% 0.2%
Tech Mahindra Ltd. 0.0% 0.1%
Eicher Motors Ltd. 0.0% 0.1%
Bajaj Auto Ltd. 0.1% 0.3%
Power Grid Corpn. Of India Ltd. 0.1% 0.2%
G A I L (India) Ltd. 0.1% 0.3%
Asian Paints Ltd. 0.1% 0.2%
Grasim Industries Ltd. 0.1% 0.3%
Bajaj Finserv Ltd. 0.1% 0.3%
Indiabulls Housing Finance Ltd. 0.1% 0.3%
Dr. Reddy’S Laboratories Ltd. 0.1% 0.5%
H C L Technologies Ltd. 0.1% 0.3%
Hindustan Petroleum Corpn. Ltd. 0.1% 1.0%
Yes Bank Ltd. 0.2% 0.4%
Indusind Bank Ltd. 0.2% 0.2%
Bajaj Finance Ltd. 0.2% 0.5%
Hindustan Unilever Ltd. 0.2% 0.3%
Infosys Ltd. 0.3% 0.2%
Mahindra & Mahindra Ltd. 0.3% 0.5%
Kotak Mahindra Bank Ltd. 0.3% 0.3%
Tata Steel Ltd. 0.4% 1.3%
Bharat Petroleum Corpn. Ltd. 0.4% 1.9%
Coal India Ltd. 0.4% 1.8%
Larsen & Toubro Ltd. 0.4% 0.4%
Maruti Suzuki India Ltd. 0.4% 0.5%
I T C Ltd. 0.5% 0.3%
Indian Oil Corpn. Ltd. 0.7% 2.9%
Sun Pharmaceutical Inds. Ltd. 0.7% 1.7%
Oil & Natural Gas Corpn. Ltd. 0.8% 2.8%
Reliance Industries Ltd. 1.2% 0.4%
Housing Development Finance Corpn. Ltd. 1.5% 0.7%
Tata Consultancy Services Ltd. 2.3% 1.7%
H D F C Bank Ltd. 2.5% 0.9%
Total 1.6% 3.9%

Source: @diffsoft’s sheet.

As you can see, SBI and ICICI together took out 10% from overall growth (weighted). Every quarter there will be few companies that will have a disproportionate contribution that will skew overall growth number. Most members contribute nothing to the overall nifty growth so the index itself is highly skewed towards few large companies.

Another number I use is growth of operating earnings. Operating earning is EBITDA - Other Income for manufacturing companies and EBDT + Provisions for financial companies. This eliminates P&L items that are based on estimates and that do not reflect performance of underlying business.

(Krishnaraj) #99

Thanks @Yogesh_s for going through it. I have asked some of my sources(!) to get the Bloomberg EPS computation as we can try and figure out.

Anyway, I was in half a mind whether to continue giving Nifty PE / EPS to the group because of the discrepancy, and consequent confusion. I will continue for now and we can see how the discrepancy moves over time.

Warm regards,

(Amit69) #100

I am unable to upload attachment as I am a new user…