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 |
---|---|---|
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."
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"
Note: the effective date of the price retrieval is most recent date less than the effective date of the corporate action
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
Note: the effective date of the FX rate retrieval is most recent date less than the effective date of the corporate action
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.