1 
# Copyright (C) 2003,2004,2005 Michael Creel <michael.creel@uab.es>

1 
## Copyright (C) 2003, 2004, 2005 Michael Creel <michael.creel@uab.es>

2 
#

2 
##

3 
# This program is free software; you can redistribute it and/or modify

3 
## This program is free software; you can redistribute it and/or modify it under

4 
# it under the terms of the GNU General Public License as published by

4 
## the terms of the GNU General Public License as published by the Free Software

5 
# the Free Software Foundation; either version 2 of the License, or

5 
## Foundation; either version 3 of the License, or (at your option) any later

6 
# (at your option) any later version.

6 
## version.

7 
#

7 
##

8 
# This program is distributed in the hope that it will be useful,

8 
## This program is distributed in the hope that it will be useful, but WITHOUT

9 
# but WITHOUT ANY WARRANTY; without even the implied warranty of

9 
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or

10 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

10 
## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more

11 
# GNU General Public License for more details.

11 
## details.

12 
#

12 
##

13 
# You should have received a copy of the GNU General Public License

13 
## You should have received a copy of the GNU General Public License along with

14 
# along with this program; If not, see <http://www.gnu.org/licenses/>.

14 
## this program; if not, see <http://www.gnu.org/licenses/>.

15 

15 



16 
## The GMM objective function, for internal use by gmm_estimate



17 
## This is scaled so that it converges to a finite number.



18 
## To get the chisquare specification



19 
## test you need to multiply by n (the sample size)

16 

20 

17 
# The GMM objective function, for internal use by gmm_estimate



18 
# This is scaled so that it converges to a finite number.



19 
# To get the chisquare specification



20 
# test you need to multiply by n (the sample size)



21 
function obj_value = gmm_obj(theta, data, weight, moments, momentargs)

21 
function obj_value = gmm_obj(theta, data, weight, moments, momentargs)

22 

22 

23 
m = average_moments(theta, data, moments, momentargs);

23 
m = average_moments(theta, data, moments, momentargs);

24 

24 

25 
obj_value = m' * weight *m;

25 
obj_value = m' * weight *m;
