On Mon, 15 Oct 2012, Sanzad Siddique wrote:
 I would like to generate an arma dataset using libgretl which is same
as
 the datase created by below code:
 nulldata 2000
 setobs 7 2006/06/02
 series a = normal()
 series z = 0
 z = 0.4*z(-1) + 0.40*z(-2) + a + 0.5*a(-1) + 0.6*a(-2)
 z1 = z-mean(z)
 z2 = z/sd(z)
 z3 = (z-mean(z))/sd(z)
 I have started with  DATASET *dset = create_new_dataset(3, 2000, 0); and
 don't know how to move further. Is there any sample code for data series
 generation like above? can anyone help? 
As it happens I've been working with something very similar 
lately, so here's a stripped-down version of my program (it 
requires current CVS for a couple of small things):
<C>
#include <gretl/libgretl.h>
static int make_ARMA_data (int nobs, PRN *prn)
{
     DATASET *dset;
     gretl_matrix *A;
     gretl_matrix *B;
     double *y, *eps, *u;
     double mu = 4.0;
     int Nrep = 1;
     int k, t;
     dset = create_new_dataset(4, nobs, 0);
     dataset_set_time_series(dset, 4, 1980, 1);
     dataset_rename_series(dset, 1, "y");
     dataset_rename_series(dset, 2, "eps");
     dataset_rename_series(dset, 3, "u");
     y   = dset->Z[1];
     eps = dset->Z[2];
     u   = dset->Z[3];
     /* simulated data spec:
        y = mu + u(t)
        u(t) = 0.5*u(t-1) + eps(t) + 0.3*eps(t-1)
     */
     /* AR term */
     A = gretl_vector_alloc(1);
     A->val[0] = 0.5;
     /* MA terms */
     B = gretl_vector_alloc(2);
     B->val[0] = 1;
     B->val[1] = 0.3;
     for (k=0; k<Nrep; k++) {
 	gretl_rand_normal_full(eps, 0, dset->n-1, 0.0, 1.0);
 	filter_series(eps, u, dset, A, B, 0.0);
 	for (t=0; t<dset->n; t++) {
 	    y[t] = mu + u[t];
 	}
 	printdata(NULL, NULL, dset, OPT_O, prn);
 	/* now actually do stuff with data */
     }
     gretl_matrix_free(A);
     gretl_matrix_free(B);
     destroy_dataset(dset);
     return 0;
}
int main (void)
{
     PRN *prn;
     int nobs = 50;
     int err = 0;
     libgretl_init();
     prn = gretl_print_new(GRETL_PRINT_STDOUT, &err);
     make_ARMA_data(nobs, prn);
     gretl_print_destroy(prn);
     libgretl_cleanup();
     return 0;
}
</C>
Allin Cottrell