Dear Statalisters,

I want to include a measure I saw in a paper called Krüger, S./Rösch, D. (2017): Downturn LGD modeling using quantile regression, Journal of Banking & Finance, 79, p. 42-56. This measure is like R² and evaluates predicted values but separated for each quantile (see picture)

In the end I want to plot R1 on the y-axis and the quantiles on the x-axis to illustrate which of my models (reg, fracreg, fmm, qr) performs the best over the entire distribution.
I thought about a loop that saves R1(1) to R1(99) in a matrix as shown below for the OLS regression. My results are not quite what I expected so I’m seeking for help. Since I’m fairly new to Stata I’m not sure if I translated the formula the right way or if there is a smarter way to do so.



Code:
*OLS
matrix R1=J(100,2,.)
gen OLSquantres = .
forvalues i=1/99{
            gen ptau1 = .
            replace ptau1 = (`i'/100)*OLSres if OLSres>=0
            replace ptau1 = (1-(`i'/100))*abs(OLSres) if OLSres<0
            qui sum ptau1
            scalar ptau1_sum = r(sum)
          
            _pctile $y1, p(`i')
            replace OLSquantres = $y1 - r(r1)
            gen ptau2 = .
            replace ptau2 = (`i'/100)*OLSquantres if OLSquantres>=0
            replace ptau2 = (1-(`i'/100))*abs(OLSquantres) if OLSquantres<0
            qui sum ptau2
            scalar ptau2_sum = r(sum)
          
            drop ptau1
            drop ptau2
            matrix R1[`i',2] = 1- (ptau1_sum/ptau2_sum)
            matrix R1[`i',1] = `i'
}
Above OLSres is the residual of the OLS regression and $y1 my dependent variable.

Kind regards

Steffen
Attached Files