Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to rank firms into deciles


    Dear all,

    I am currently studying the impact of financial reporting quality on investment efficiency in Australia. My study relies on Biddle, Hilary, and Verdi in 2009 (How does financial reporting quality relate to investment efficiency?). I am trying to calculate the following in stata but I could not build the exact codes. The following information from the Biddle, Hilary, and Verdi (2009) article:
    “Investment in a given firm-year is the sum of capital expenditures, R&D expenditures, and acquisitions minus sales of PPE, scaled by lagged total assets.”

    “We use ex-ante firm-specific characteristics that are likely to affect the likelihood that a firm will over- or under-invest. In our first test, we focus on firm liquidity using two variables identified by the prior literature. We use firm cash balance as a partitioning variable based on the argument that firms without cash are more likely to be financially constrained.”

    “We first rank firms into deciles based on their cash balance and their leverage (we multiply leverage by minus one before ranking so that, as for cash, it is increasing with the likelihood of over-investment) and re-scale them to range between zero and one. We then create a composite score measure, OverFirm, which is computed as the average of ranked values of the two partitions variables.”


    Investment =the sum of research and development expenditure , capital expenditure , and acquisition expenditure less cash receipts from sale of property, plant, and equipment multiplied by 100 and scaled by lagged total assets

    Capex =capital expenditure multiplied by 100 and scaled by lagged PPE .

    Non-Capex=the sum of research and development expenditure and acquisition expenditure multiplied by 100 and scaled by lagged total assets .



    The following is the calculation that i did:


    Code:
    gen at_lg = L.at
    gen sale_lg = L.sale
    gen lev = (dltt/at_lg)
    gen lev2 = (dltt+dlc)/at_lg
    gen cash = che/at_lg
    winsor cash, gen (cash_w) p(.01)
    winsor lev2, gen(lev2_w) p(.01)
    winsor lev, gen (lev_w) p(.01)
    gen invest  = ((xrd + capx + aqc - sppe) *100) / at_lg
    gen capx_biddle = (capx * 100) /  ppent_lg_w
    gen non_capx = ((xrd + aqc)*100) / at_lg
    tostring sic,replace
    gen sic2 = substr(sic,1,2)
    gen sic_2 = real(sic2)
    bysort sic_2: egen cach_rank = rank(cash)
    gen lev_1 = lev_w * -1
    winsor lev_1 , gen(lev_1_w) p(.01)
    bysort sic_2: egen lev_rank = rank(-lev_1_w)
    sort cash
    sort lev_1_w
    gen rank = _n
    egen cash_rank = rank(cash)
    bysort sic_2 : egen cash_rank_2 = rank(cash)
Working...
X