#
gcubed.projections.projections

This module contains the `Projections`

class, used as a base class
for generating baseline and simulation projections. It provides access
to all forms of projections.

Base class for Simulation Projections and for Baseline Projections.

### Arguments

`stable_manifold`

: The stable manifold used for projecting the model.

`previous_projections`

: The previous projections (baseline or simulation layer or other)
or `None`

if these projections have no previous projections.

### Exceptions

Raises an exception if the stable manifold has not been supplied correctly.

Raises an exception if the stable manifold has not converged.

True if the projections are baseline projections rather than some other kind of projections.

The baseline projections that underpin these projections. If these projections are baseline projections then this property is this instance.

The first projections created (these have no previous projections).

True if the projections are the first projections and False otherwise.

This setting is used to determine whether constant adjustments to long interest rates (nominal and real bond rates) are calculated to ensure first projection year long interest rates match the observed data for that year.

The previous projections (baseline or simulation layer or other) or
`None`

if these projections are baseline projections.

The stable manifold used for projecting the model.

The state-space form of the linearised model.

Returns the list of years for projections from the event year through to and including the projection end year.

Returns the ordered list of 4 digit (YYYY) year column labels for the projections.

Returns the ordered list of 4 digit (YYYY) year publishable projection column labels for the projections.

Returns the dataframe of projections for all variables in the model that are part of the 4 vectors specified. There still need to be additional variable projected that are computed outside of the system to take non-linearity into account (eg long-term interest rates.)

### Exceptions

Raises an exception if the projections are not yet available.

Returns the dataframe of the original database and the projections for all variables in the model.

This splicing of the database onto the database projections is intended to be used for diagnostic purposes only.

### Exceptions

Raises an exception if the combined database and projections are not yet available.

Returns the dataframe of projections for all variables in the model in forms that are consistent with the values contained in the original model database.

### Exceptions

Raises an exception if the database projections are not yet available.

Returns the dataframe of projections for all variables in the model.

### Exceptions

Raises an exception if the publishable projections are not yet available.

The yxr initial values used to start the projections process.

### Exceptions

Raises an exception if the initial values contain NaNs.

Raises an exception if the initial values are not yet available.

Get yxr variable projection values of the projection years as a dataframe.

Get yjr variable projection values of the projection years as a dataframe.

Get exz variable projection values of the projection years as a dataframe.

Get zel variable projection values of the projection years as a dataframe.

Get z1l variable projection values of the projection years as a dataframe.

A dataframe (not a numpy array) that contains the exogenous variable projection values for all of the projection years from the original first projection year through to the last projection year, as a dataframe.

The exogenous variable projections for the years before the first projection year of this projections object are retained because they can be necessary in the event of a subsequent model relinearisation.

### Exceptions

Raises an exception if the exogenous variable projections contain NaN values.

The constant adjustments to long bond rates (real and nominal) in the base projection year to ensure projections equal observed values.

Equivalent to h3t in the Ox implementation

Returns constants and the functions of current and future exogenous variables affecting J1.

Equivalent to c4t in the Ox implementation

Returns constants and the functions of current and future exogenous variables affecting ZE.

Returns constants and the functions of current and future exogenous variables affecting J1. as a dataframe, indexing the rows with costate variable names and the columns with projection years.

Returns constants and the functions of current and future exogenous variables affecting ZE. as a dataframe, indexing the rows with costate variable names and the columns with projection years.

The constantBL matrix used to generate the state variable projections.

Raw projections along with annotations for units and variable descriptions.

Database projections along with annotations for units and variable descriptions.

Combined database and projections along with annotations for units and variable descriptions.

Publication projections along with annotations for units and variable descriptions.

Charting projections along with annotations for set member descriptions and prefix.