Stata Command: rkqte
Stata Command: rkqte.ado
Estimation and robust inference for quantile treatment effects (QTE) in the regression kink designs (RKD) based on Chen, Chiang, and Sasaki (2020). Use it when you consider a regression kink design and you are interested in analyzing heterogeneous treatment effects of a binary treatment. The method is robust against large bandwidths and arbitrary functional forms.
Installation:
. ssc install qkqte
Example:
. regress outcome covariate
. predict resid, residuals
. rkqte resid treat running_var
Help:
. help rkqte
Note: this command is effective for binary treatments. See qrkd.ado for continuous treatments.
Reference: Chen, H., H.D. Chiang, and Y. Sasaki (2020) Quantile Treatment Effects in Regression Kink Designs. Econometric Theory, 36 (6), pp. 1167-1191. Paper.
rkqte -- Executes estimation and robust inference for quantile treatment effects (QTE) in regression kink designs (RKD).
Syntax
rkqte y d x [if] [in] [, k(real) cover(real) ql(real) qh(real) qn(real) bw(real)]
Description
rkqte executes estimation and robust inference for quantile treatment effects (QTE) in regression kink designs (RKD) based on Chen, Chiang, and Sasaki (2020). The command takes an outcome variable y, a binary treatment variable d, and a running variable or forcing variable x. The primary results consist of estimates and a uniform 95% confidence band of QTEs across multiple quantiles. In addition to these primary results, the command also conducts tests of: 1. the null hypothesis that the QTEs are zero for all the quantiles (i.e., uniformly null treatment effects); and 2. the null hypothesis that the QTEs are constant across all the quantiles (i.e., homogeneous treatment effects) against the alternative of heterogeneous treatment effects.
This command works only for a binary treatment d. For a continuous treatment, refer to qrkd.
Options
k(real) sets the kink location for the RKD. The default value is k(0). (Note: the kink location itself is included as a part of the observations with negative x.)
cover(real) sets the nominal probability that the uniform confidence band covers the true QTE. The default value is cover(.95).
ql(real) sets the lowest quantile at which the QTE is estimated. The default value is ql(.25).
qh(real) sets the highest quantile at which the QTE is estimated. The default value is qh(.75).
qn(real) sets the number of quantile points at which the QTE is estimated. The default value is qn(3).
bw(real) sets the bandwidth with which to estimate the QTE. A non-positive argument, as is the case with the default value bw(-1), will translate into an optimal rate.
Examples
(y outcome variable, d treatment variable, x running variable) Estimation of the QTE:
. rkqte y d x
Estimation of the QTE at 10th, 20th, ..., and 90th percentiles:
. rkqte y d x, ql(0.1) qh(0.9) qn(9)
(The default is the inter-quartile range: 25th, 50th & 75th percentiles.)
Stored results
rkqte stores the following in r():
Scalars r(N) observations r(h) bandwidth r(k) kink location r(cover) coverage probability
Macros r(cmd) rkqte
matrices r(q) quantiles r(b) QTE estimates r(CBlower) lower bounds of confidence band r(CBupper) upper bounds of confidence band r(V) variance matrix
Reference
Chen, H., H.D. Chiang, and Y. Sasaki. 2020. Quantile Treatment Effects in Regression Kink Designs. Econometric Theory, 36 (6), pp. 1167-1191. Link to Paper.
Authors
Heng Chen, Bank of Canada, Ottawa, ON. Harold. D. Chiang, Vanderbilt University, Nashville, TN. Yuya Sasaki, Vanderbilt University, Nashville, TN.