Hello every one please i have a big difficulty with propensity score matching model, i understood that we have to get treat-group and control-group in order to execute this model.

first:
my topic is impact of CEO-pay on likelihood of financial fraud
here i dont know how to create treat-variable in order to execute pscore command.
please some explanation for helping.
second
i got set of commands related to execute PSM model which are:
HTML Code:
*first create the pscore*
reg Independent var some cotrol vars  
predict pscore
drop if pscore==.
bys year sic INDP_var: g exp=_n if indep_var 
bys year sic : egen m=max(exp)
drop if m==.
expandcl m if indep_var!=1,cl(year code) gen(g)
bys year code: replace exp=_n if indep_var!=1
bys year sic  exp: egen r=sum(pscore*indep_var)
g q=abs((pscore-r)/r) if indep_var!=1
bys year sic exp: egen u=min(q) if ! indep_var
drop if u!=q&!indep_var
egen mat=group(year sic exp)  
bysort mat:gen fre1=_n
drop if fre1==1
drop exp-fre1
 *then run the model*
i tried those commands but i doubt about it because
my observations are 18000 and after executing those my observations increased into 22000
especially when i run the following command
HTML Code:
expandcl m if indep_var!=1,cl(year code) gen(g)
please i have to learn how to execute PSM model for any type of dataset.


i need to know whether those commands are correct or not?
kind regards
Alkebsee Radwan