Configure Performance IRR Analysis Fields

Set up Performance IRR Analysis Fields

You set up Performance IRR Analysis fields in the same way that you set up Performance Link Analysis or Performance Risk Analysis fields.

After specifying the name and precision, you select the Frequency of the underlying data that you want to use and a status of preliminary or final. See the following figure.

Frequency of the Underlying Data Option

Next, select the Performance database fields that you want to use for the beginning market value, ending market value, and total flows. Each of these Performance database fields should point at the column to which you loaded or committed these values.

If you plan to perform foreign exchange conversion for the Performance IRR Analysis field when you run the Performance Analysis report, refer to Convert Returns From One Base Currency to Another for more information about setup required for these underlying fields and general information about currency conversion.

It is also important to note that all the values are retrieved from the same record, so you must have all three committed. See the following figure.

Performance Database Field Options

Next, select the weighting method to use. Flows are available for investment for the day they happen — select Begin of Day. However, if flows are not available until the next day, select End of Day. See the following figure.

Weighting Method Options

Next, select the period option. Like Performance Link Analysis and Performance Risk Analysis, you can specify various to-date and rolling time periods.

In addition to specifying the period in the same way, the same records are for linking a return. This is because the beginning market value from the first day of performance in the period is used.

For example, if the period is 31-May-2006 to 31-May-2007, the beginning market value and first flow is from 01-June-2006. This is because the beginning market value on 01-June-2006 would be the ending market value for 31-May-2006. The ending market value and last flow is from 31-May-2007. All the flows between the two dates are picked up. This ends up being the same record that would be used for linking, 01-June-2007 to 31-May-2007. See the following figure.

Period Options

Finally, the Use Business Calendar option requires you to commit a zero if there are no flows on a particular day. This check is not applied to the beginning or ending values in the Partial Period mode. See the following figure.

Business Calendar Option

Calculation Options

Two options, controlled by a drop-down list menu and check box, provide different weighting methods and support annualized IRRs. The drop-down list menu labeled Partial Period Option has three options: None, Calculate Partial Periods, and Null Partial Periods. In addition, a check box outside the option group controls annualization.

Calculate Partial Periods

When the basic IRR is calculated, the number of days in the period is determined by the report begin and end dates. This creates consistent day weights for all the calculations on the report.

For example, if security A is held for the entire 30-day period and has a return of 10 percent, the report IRR is 10 percent. However, if security B is held for three days and has a 10 percent return, the report IRR is much higher than 10 percent due to the day weighting of the cash flows.

While this basic IRR is widely accepted, analysts also need the ability to look at the return of securities based on the amount of time that each was held. So, if security A has a 10 percent return over 30 days and security B is held for three days and has a 10 percent return, the report IRR is 10 percent in both cases.

The option Calculate Partial Periods defines the number of days for each security based on the availability of BMV, EMV, and cash flows for each security. If one security has BMV and EMV, then they are used as begin and end dates for the weighting. However, if the BMV or EMV are missing, the weighting uses the first or last cash flow dates for the weighting.

The basic logic is:

If BMV = Null, Then BeginDate = FirstCashflowDate - 1, Else BeginDate = ReportBeginDate
If EMV = Null, Then EndDate = LastCashflowDate, Else EndDate = ReportEndDate

This option is controlled in the Partial Period Option drop-down list menu in the IRR field dialog box. See the following figure.

Calculate Partial Periods Options

If the beginning position is not found, the Beginning of Day assumption does not adjust the day weight by adding one day and the Middle of Day assumption does not add half a day. Without this additional logic, the first cash flow has a weight greater than 1.

Null Partial Periods

Some analysts need the ability to easily identify and exclude securities that are not held for the entire reporting period from the report. This option allows you to report IRRs only for securities that are held for the entire reporting period.

For example, if security A is held for the entire 30-day period and has a return of 10 percent, the report IRR report is 10 percent. However, if security B is held for three days and has a 10 percent return, the report IRR is null.

The option Null Partial Periods returns a null whenever the security does not have a BMV or EMV. The basic logic is:
If (BMV = Null) or (EMV = Null), Then NULL, Else IRR

Along with Calculate Partial Periods, this option is in the drop-down list menu labeled Partial Period Option in the IRR field dialog. See the following figure.

Null Partial Periods Option

Annualize

Analysts need the ability to calculate the annual IRR if the period is greater than the number of days specified for a year (approximately 365).

The Annualize option annualizes the IRR if the number of days in the reporting period is greater than 365. However, if used with the option Calculate Partial Periods, only securities that are held for more than 365 days are annualized.

The basic logic changes the weighting factor in the IRR to:

W:Weight = (Number of Days Cash Flow is Present)/(365.25)

The day count for existing fields and new fields defaults to 365.25 and is displayed in the field attribute definition as an editable value. See the figure below. You can change the day count to another value and save it as part of the definition of the field attribute.

Each field can be configured with a different annualization day count. For example, some fields can have a day count set to 365 and others set to 365.25.

Annualization Day Count

Variable IRR Convergence

The basic idea behind the IRR is to find a single rate that, when applied equally to the beginning market value and cash flows, equals the ending market value. Eagle Performance uses a bi-section algorithm to find the best rate through trial and error. The accuracy of the guess can be determined by comparing the future value (sum of the beginning market value multiplied by the rate and each cash flow multiplied by the rate) to the present value (the ending market value). If the difference is zero (0.00000000000), you have the exact rate.

Eagle Performance enables you to lower the convergence threshold to anywhere from one (0.1) to six (0.000001) digits of convergence.

It is important to note that lowering the number of digits of convergence causes less accurate Internal Rates of Return to be calculated, so it is important to analyze the effect of any changes. See the following figure.

Variable IRR Convergence Option

Bisection

In addition to more strictly defined parameters, the enhanced Bisection algorithm continues to process if a guess causes an overflow, underflow, or numerical exception. Bisection needs to be started in the right direction and be able to change direction if necessary.
The IRR calculation uses the midpoint of the upper and lower calculation limit to determine if it should find a positive or negative return. If the value is greater than the EMV, a positive return is assumed and if less than EMV, a negative return is assumed.

Each guess should bring the IRR guess closer to converging with the real IRR. If the guess begins to diverge, the IRR automatically goes back to the last convergence and change direction. Employing this directional change allows bisection to solve for IRRs that are in the opposite direction of the initial guess.

The Bisection algorithm can find a result in cases where the difference in one guess is greater than zero and the difference in the next guess is less than zero. In this case, the Bisection algorithm adjusts automatically both the upper and lower limits to search for a result between these two guesses.

The Bisection parameters in IRR are:

  • Upper Limit – 1,000,000,000 percent

  • Lower Limit – -100 percent

  • Precision – Minimum = 0.000001 (6 digits), Maximum = 0.00000000001 (11 digits)

  • Iterations – 500

  • Guess – 0

Directional Exponential Resolver (DER)

The Directional Exponential Resolver (DER) is an Eagle Proprietary algorithm to find IRR value close to zero NPV. DER starts with guess values of 0 and 10, decides the direction of travel, and arrives at the IRR value closest to zero by an iterative process.

The algorithm concludes the IRR by adjusting the guess values (Increasing/decreasing) towards the direction of zero convergence. If NPV is Zero, IRR is concluded.

If a NPV sign change occurs, it’s considered that we’ve bypassed the convergence point. The algorithm adjusts the guess value iteratively in the reverse direction, with increased precision of the guess value (by a factor of 10).

For each sign change, the guess value will be iteratively incremented or decremented with higher precision to achieve zero convergence. The iteration will continue until the NPV output becomes zero or we reach the given acceptable zero tolerance.

This algorithm is capable of increasing the guess values exponentially if the zero convergence is not achieved within a limited number of iterations.

When there are multiple IRRs for the same data set, this Algorithm returns an IRR value close to zero.

The Directional Exponential Resolver in IRR are 

  • Upper Limit: 100,000,000,000,000 (15 digits inclusive of decimals)

  • Lower Limit: -100 percent

  • Precision: Minimum = 0.000001 (6 digits), Maximum = 0.000000000001 (12 digits)

  • Iterations: 500

  • Guess: 0

You can use this new method by choosing the Directional Exponential Resolver option in the IRR Method dropdown box in the Perf IRR Analysis field.

Generate Synthetic Cash Flow Option

When enabled, the Synthetic Cash Flow option results in IRR calculations that include synthetic cash flows under the following conditions:

  1. Composites that have an underlying portfolio that enters or exits the composite within the analysis period.

  2. Securities that have a grouping change, for example a sector change, within the analysis period.

The above IRR calculations include both the regular IRR and the Public Market Equivalent IRR.

The IRR is calculated as a single return for the entire period, after adjusting for cash flows for portfolio changes. In the conditions above, these changes would result in a change in market values, but as these events are not directly caused by the underlying asset appreciation (or depreciation), the synthetic flow is added to offset those changes so that the market values are not included in the IRR and PME IRR calculations.  

When you run the report profile with a LOG level of 10, you can see a detailed view of the logic and values used with the option enabled.

Generate Synthetic Cash Flow Option