public void initialize() throws Exception {
        
        // EXC
        for (int e=0; e<5; e++) {
            client.callProcedure(new BenchmarkCallback("EXC.insert"),"EXC.insert",e);
        }
        System.out.println("  loaded 5 records into EXC");

        // SEC
        for (int s=0; s<numSecs; s++) {
            client.callProcedure(new BenchmarkCallback("SEC.insert"),"SEC.insert",s,rand.nextInt(5));
            prices[s] = (double)rand.nextInt(100);
        }
        System.out.println("  loaded "+numSecs+" records into SEC");

        // CNT
        for (int t=0; t<config.traders; t++) {
            client.callProcedure(new BenchmarkCallback("CNT.insert"),"CNT.insert",t);
        }
        System.out.println("  loaded "+config.traders+" records into CNT");

        // positions (client side only)
        for (int t=0; t<config.traders; t++) {

            // make a list of random securities with no duplicates
            List<Integer> secs = new ArrayList<Integer>();
            while(secs.size() < config.secpercnt) {
                int sec = rand.nextInt(numSecs); 
                if(!secs.contains(sec))
                    secs.add(sec);
            }

            // put securities into an two-dimension array: positions[trader][index] = sec_id
            for (int i=0; i<config.secpercnt; i++) {
                positions[t][i] = (int)secs.get(i);
            }
        }
        System.out.println("  initialized client with array of "+ config.traders * config.secpercnt +" possible positions");

    }