I've been doing a deep dive into CBPS, using the main article and package code to aid in my understanding. I think I discovered an error in the code for the covariance matrix of the moment conditions for the over-identified model for the ATT weights.
The covariance matrix is made up of four blocks, each corresponding to the cross product of the moment conditions for the logistic regression model and the balance conditions. All the balance conditions involve a factor of $N/N_1$. However, if you look at the code for the variance below, you will see that the block corresponding to the cross product of the logistic regression moment conditions is also multiplied by this factor.
This has the effect of down-weighting the logistic regression moment conditions in favor of the balance moment conditions, which actually serves to improve balance (which is why this may have gone unnoticed).
I've been doing a deep dive into CBPS, using the main article and package code to aid in my understanding. I think I discovered an error in the code for the covariance matrix of the moment conditions for the over-identified model for the ATT weights.
The covariance matrix is made up of four blocks, each corresponding to the cross product of the moment conditions for the logistic regression model and the balance conditions. All the balance conditions involve a factor of $N/N_1$. However, if you look at the code for the variance below, you will see that the block corresponding to the cross product of the logistic regression moment conditions is also multiplied by this factor.
https://github.com/kosukeimai/CBPS/blob/c6695181b44f494ea335548b4060271c727ebd52/R/CBPSBinary.R#L87-L88
This has the effect of down-weighting the logistic regression moment conditions in favor of the balance moment conditions, which actually serves to improve balance (which is why this may have gone unnoticed).
The line should actually read
Note the placement of the last
)
in the first line.