About Processing Complex Corporate Actions

Eagle Performance requires that STAR to PACE Direct generate traded cash activity records for complex corporate actions to support accurate performance measurement calculations. The CASH_ACTIVITY table is the key table for Eagle Performance. Each row contains a set of flow fields that represent the net affect the activity has on the overall performance of the security and entity.

Complex corporate actions, such as mergers, spinoffs, exchange offers, and assimilations, do not generate real cash movements in Eagle Accounting and there is no cash activity row in the ESTAR_TRADED_CASH_ACTIVITY table. For these types of transactions, STAR to PACE Direct must generate the cash activity record from the ESTAR Cost object. A price must be available for the parent (or original) security for a date prior to ex-date, preferably the day before. This price will be used for flow computations.

When you run STAR to PACE Direct in Batch mode or Delta mode, a separate backend process is called from the POS FINAL procedure to update the CASH_ACTIVITY table for equity and fixed income securities involved with complex corporate actions. This allows Eagle to maintain a separate module to support Eagle Performance, while minimizing the impact on non-Eagle Performance clients.

Typically there are two securities involved in a complex corporate action: the "from" security (sometimes referred to as the parent security) and the "to" security (the child security). Data Management cash activity records must be generated for both assets involved in the corporate action:

  • "From side" cash activity records reflect a decrease in the security's value

  • "To side" cash activity records reflect the increase in the security's value

There is no net cash flow effect on the total portfolio level as the two "sides" offset each other. The overall effect is that accurate performance cash flow information exists at the security level to support the calculation of security-level returns. For this reason, the ESTAR_TRADED_CASH_ACTIVITY table and the Eagle PACE CASH_ACTIVITY table do not contain identical information.

The following table lists the type of cash activity stored for each table.

Database

Table

Type of Cash Activity

Database

Table

Type of Cash Activity

ESTAR

ESTAR_TRADED_ CASH_ACTIVITY

Cash activity only for transactions that generate real cash movement.

CASH

CASH_ACTIVITY

Cash activity for transactions that generate real cash movement plus "memo cash" – cash activity for transactions such as complex corporate actions that do not generate real cash movement.

Complex Corporate Action Event Types

The list below contains the event types for complex corporate actions supported by Eagle Accounting:

  • NONTAXMERGP

  • NONTAXMERGR

  • NONTAXSPINP

  • NONTAXSPINR

  • TAXMERGP

  • TAXMERGR

  • TAXSPINP

  • TAXSPINR

  • TRANSLOTS

Understand Flow Calculations

For the event types listed above, determine the "from side" of each corporate action leg for calculating the local and base total flow fields to be allocated to each "to side" position. The value in the CORPORATE_ACTION_INST field defines each corporate action leg as unique.

The "from side" of the corporate action is determined by the value in the MTTYPE field. If the value is not MTOPEN, then it is part of the "from side."

  1. Retrieve the price for the "from side" security; this price will be used to calculate the total local total flow for the allocation to the "to side"

    1. Note: the effective date of the price retrieval is most recent date less than the effective date of the corporate action

  2. Retrieve the FX rate for the "from side" security; this FX rate (PERF_FX_RATE1) will be used to calculate the total base flow for the allocation

    1. Note: the effective date of the FX rate retrieval is most recent date less than the effective date of the corporate action

  3. Calculate the "from side" local and base total flow amount to be allocated

The calculation below should result in a negative value if the position is a long position and a positive value is the position is short. If LONG_SHORT_INDICATOR for the "from side" security is S, then the local and base total flows for should not be multiplied by -1. The flow values should remain positive numbers. The "to side" flow fields will then be negative values.

If there is any "pure" cash associated with the corporate action, the "from side" total amounts must be adjusted.

The DIVIDEND_RATE field will contain the allocation ratio between the "from side" security and the "to side" security. This ratio is important for spin-off transactions where the "from side" is not closed. The market value allocation, therefore, must account for some of the market value staying with the "from side" while allocating a portion to the new "to side." The DIVIDEND_RATE will be 1 for all other Eagle Accounting event types.      

Calculation Details

First Calculation (security portion of the corporate action)

  • This calculation is done for each "from side" row then summed to an aggregate:

    • Adjusted Local Total Flow = [ ( ( TRANS_QUANTITY * TRADING_UNIT * PRICE_MULTIPLIER * PRICE * DIVIDEND_RATE ) + LOCAL_INT_PUR_SOLD ) * -1 ]

Second Calculation (cash portion of the corporate action)

  • Add any additional cash receipts/disbursements

    • Identify the additional cash by SECURITY_ALIAS = "from side" & ACTIVITY_SOURCE = CASH

  • Cash disbursement (DISB): adjusted total local flow + cash disbursement = final local total flow

    • The cash disbursement will increase the adjusted local total flow amount

    • Final Local Total Flow = adjusted local total flow + LOCAL_AMOUNT [column from CASH_ACTIVITY table]

  • Cash receipt (RECPT): adjusted local total flow - cash receipt = final local total flow

    • The cash receipt will decrease the adjusted local total flow amount

    • Final Local Total Flow = adjusted local total flow - LOCAL_AMOUNT [column from CASH_ACTIVITY table]

Third Calculation (base equivalent)

  • Final Base Total Flow = final local total flow / PERF_FX_RATE1

    • Retrieve the FX rate for the "to side" security

      • This FX rate (PERF_FX_RATE2) will be used to calculate the "to side" local total flow for each allocation

      • This captures when the asset currency of the "to side" is different than the "from side" security

    • Notes

      • The effective date of the FX rate retrieval is most recent date less than the effective date of the corporate action

      • If the "from side" security and "to side" security are the same, then the "from side" total and base flow fields will be allocated directly without the FX rate translation

  • Calculate the ratio for each "to side" row in the cash activity table

    • The "to side" of the corporate action is determined by the value in the MTTYPE field. If the value is MTOPEN, then it is part of the "to side"

    • The "to side" security may be a different currency then the "from side"

      • For this reason the allocation will be done in base currency terms and translated back to local

    • The calculation below should result in a positive value if the position is a long position and a negative value is the position is short

    • If the LONG_SHORT_INDICATOR for the "from side" security is S, then the local and base total flows should not be multiplied by -1 (the flow values should remain positive numbers, while the "to side" values are negative)

      • Sum all "to side" TRANS_QUANTITY amounts

      • Divided each "to side" row TRANS_QUANTITY amount by the total TRANS_QUANTITY amount (this is the allocation ratio)

      • Multiply the allocation ratio by the "from side" base total flow to determine the amount per "to side" open lot, with the result multiplied by -1 if it is a long position

      • Multiply each "to side" open lot by the PERF_FX_RATE2 to arrive at the local total flow amount for each row

      • The sum of all flow fields for both sides of each leg of the corporate action (each unique instance of tag 4268) must net to 0 for the base total flow

        • If there are any rounding issues, the last lot of the "to side" security can be adjusted to make the flows net to 0 (this adjustment should be minimal)

        • The local total flow will not net to zero if the currency of the "from side" security and "to side" security are different

        • If the currency is the same for both assets, then the local total flow will also net 0

Other Notes

S2P computes flows for the event types listed above. Currently, there are no flow values associated with rights and options transactions. Therefore, individual security returns for these securities may be misleading, but returns at the total fund level that combine the "from side" security and the "to side" security will be accurate and reliable.