Free Univariate Forecasting — probabilistic forecasting for univariate SARIMA models.
Copyright (C) 1995-1996 J.A. Mauricio; 2009-2026 A.B. Treadway & D.E. Guerrero
License: GNU General Public License v2 or later.
- Introduction
- System requirements
- File structure
- Building
- Command-line usage
- Workflow with FUE and gtk_fue
- Input file format
- Example
- Bug reports
FUF is a command-line program for computing and displaying probabilistic
forecasts from a SARIMA model estimated by FUE. It reads the forecast input
file generated by fue -f, propagates the ARMA structure, and produces:
- A text output file with point forecasts and prediction intervals.
- A LaTeX/PDF report with the forecast graphic.
- A diagnostic plot of the model residuals.
FUF is part of the univariate time series toolkit:
- FUE — identification and exact maximum likelihood estimation
- gtk_fue — GTK+3 graphical interface for FUE and FUF
- C compiler: GCC ≥ 9 (Linux/macOS) or MinGW-w64 (Windows)
- GNU Scientific Library (GSL) ≥ 2.0
- Gnuplot ≥ 5.0 (residual graphics)
- LaTeX distribution with
pdflatex(forecast PDF report) - GNU Make
On Debian/Ubuntu:
sudo apt install build-essential libgsl-dev gnuplot texlive-latex-base
On macOS (Homebrew):
brew install gsl gnuplot
fuf-1.08.1/
├── src/ source files (.c)
├── include/ header files (.h)
├── obj/ compiled objects (created by make)
├── bin/ executable (created by make)
├── Makefile
├── README.md
└── README.es.md
make
The executable is placed in bin/fuf.
make
If GSL is installed via Homebrew and pkg-config cannot find it:
PKG_CONFIG_PATH=/opt/homebrew/lib/pkgconfig make
Windows — cross-compilation from Linux using MXE
make CROSS=x86_64-w64-mingw32.static- # 64-bit
make CROSS=i686-w64-mingw32.static- # 32-bit
The executable is placed in bin/fuf.exe.
make clean # remove object files and executable
make distclean # remove obj/ and bin/
make install # copy bin/fuf to /usr/local/bin
make uninstall # remove /usr/local/bin/fuf
fuf input
| Argument | Description |
|---|---|
input |
forecast input file name (without .inp extension) |
FUF reads input.inp, which must be the file generated by fue input -f.
It writes input.out (text results) and compiles a PDF report.
The normal workflow is:
-
Estimate with FUE:
fue mymodelThis reads
mymodel.inpand writes the estimation reportmymodel.out. -
Generate the forecast input file:
fue mymodel -f [horizon]This writes
forecast_mymodel.inp, which contains the estimated parameters, the forecast horizon (default: 24 periods), and the innovation variance. -
Compute the forecasts:
fuf forecast_mymodelThis reads
forecast_mymodel.inpand produces the forecast report.
From gtk_fue, steps 2 and 3 are triggered automatically by the Forecast button in the toolbar or the Forecast tab.
The .inp file read by FUF is produced by fue -f and shares the same
structure as a standard FUE .inp file, with two additions in the header:
- A residuals series name on the date line (defaults to
A{name}if absent). - A Forecast horizon and estimated innovation variance section immediately
after the date line, containing the lead time
Landσ².
The ARMA operator sections (regular AR/MA, annual AR/MA, fixed-frequency
AR/MA) are in the same format and order as in a standard FUE .inp file.
The src/examples/ directory of the companion fuf-1.08 release contains
PC11.inp, a quarterly model example. To estimate and forecast:
fue PC11
fue PC11 -f 12
fuf forecast_PC11
David E. Guerrero — davidesg@ucm.es