System variables are special predefined variables that provide information about the current context of the calculation engine at run time. The following system variables are available in SLOPE.

**Time Index**

A Time Index value of zero corresponds to the month/year of the Projection Start Date user input field, which is located on the Projection Template.

A positive integer represents the number of months beyond the Projection Start Date. Negative integer values represent the number of calendar months prior to the Projection Start Date.

The Time Index is used by all time-indexed variables to reflect the time relationship between variables. Relative offsets of t+1 and t-1 are quite frequently used to represent values at one month later or one month prior to the current time period.

**Projection Period**

Returns the integer value of the projection period (in months) as defined on the current Projection. In the example below, the * Projection Period *equals 600.

**Projection Time Index**

The * Projection Time Index* system variable is an integer value representing the current time period being processed by the calculation engine. This value always starts at 0 (representing the Projection Start Date) and advances forward 1 month at a time to the

*end month. In contrast, the*

**Projection Period***system variable is an integer value that represents inner loop projection month and can equal a negative, zero, or positive value. Time Index values can exceed the*

**Time Index***value, whereas*

**Projection Period***values cannot.*

**Projection Time Index****Current Date**

A date field representing the projection month/year that is equivalent to the current **Time Index***.* The * Current Date *will always return a Date value for the last day of the month for the given month/year.

**Portfolio Name**

Returns a string containing the name of the Portfolio as defined in the Projection. This is the name set on the Projection, which may be different than the name of the Portfolio that exists within Model Development. This can be useful for varying assumptions and table look-ups across multiple portfolios. The Portfolio Name system variable is only available on Product or Portfolio formulas.

**Product Name**

Returns a string containing the name of the Product from the Product Set corresponding to the current model point. on the Projection This name may be different than the name of the product that exists in Model development. If multiple versions of the same product or model point file have been added to one product set, the different product names will be returned. This can be useful for varying assumptions and table look-ups across similar types of products. This option is only available within Product Variable formulas.

In the Projection Template example below, we observe four highlighted Product Names (Bond1, Golden Ratio, Kinetic Energy, and Life1) that correspond to the * ProdSet1* Product Set.

**Scenario Number**

Returns the integer value of the current scenario number being run from the scenario file. The first scenario from the New York 7 scenarios is selected on the Projection Template in the example below.

**Is Dynamic Processing**

Returns a Boolean value equaling zero (false) or one (true) that indicates whether the current product is being processed dynamically. If false, the product is being processed statically. See Calculation Engine Processing Order for more details on static vs dynamic processing.

**Current Array Value**

Returns a string value of the index name of the array variable currently being calculated. In the example below, the State Capital array variable below evaluates to "Atlanta, Georgia", since Georgia is the index name where the formula below resides.

**Current Array Index**

Returns an integer value representing the index array variable currently being calculated. Array values are indexed in ascending order starting with an index value of 0. In the example below, 'Georgia' has an index of 0, New Mexico has an index of 1, etc.