Dear all,

without actually being interested in the estimation of a treatment effect, I want to find a (replicable) way of creating (from a large overall sample with a binary treatment variable) two equal-sized treatment and control samples that are matched on industry (exact) and size (nearest neighbor) - the equal size condition makes it necessary that there is no replacement, and it should be possible to influence the order in which matches are assigned (like the descending option in psmatch2). I have looked for a while, but among the more popular options it seems that
  • psmatch2 doesn't allow exact matches
  • teffects nnmatch always uses replacement
  • calipmatch only randomly matches within the caliper, but has no nearest neighbor functionality
Is there an appropriate Stata command that I have overlooked, or do I have to do it manually (ca. 50k observations, so computing time is a problem for joinby etc. procedures...)

Best, Ferdinand