Il comando loop apre una modalità speciale, in cui gretl accetta un blocco di comandi da ripetere una o più volte. Questa funzionalità è destinata all'uso per le simulazioni Monte Carlo, per il bootstrapping delle statistiche test e altre procedure di stima iterativa. La forma generale di un loop, o ciclo, è:
loop espressione di controllo [ --progressive | --verbose ] corpo del loop endloop
Come si spiega oltre, sono disponibili cinque tipi di espressione di controllo. Nel corpo del loop sono accettati i seguenti comandi: genr, ols, print, printf, pvalue, sim, smpl, store, summary, if, else e endif.
In modalità predefinita, il comando genr all'interno di un loop opera in modo silenzioso (senza mostrare informazioni sulle variabili generate). Per ottenere informazioni da genr è possibile specificare l'opzione --verbose con loop.
L'opzione --progressive di loop modifica il comportamento dei comandi ols, print e store rendendoli più comodi per l'uso in analisi di tipo Monte Carlo (si veda la Sezione La modalità "progressiva").
Le sezioni che seguono descrivono le varie forme di espressioni di controllo e forniscono alcuni esempi di uso dei loop.
Suggerimento: Se occorre eseguire un'analisi Monte Carlo con molte migliaia di ripetizioni, possono verificarsi problemi di memoria e di tempo di calcolo. Un modo per minimizzare l'uso delle risorse di sistema consiste nell'eseguire lo script usando il programma a riga di comando, gretlcli, redirigendo i risultati su un file.