Bank Loans Best Practices
Overview
Bank Loans, also referred to as Term Loans and Leveraged Loans, are supported by the Eagle Software Suite in V11.0 and all subsequent releases. A Bank Loan Facility is a package of loans that a single borrower can draw on per the terms and conditions in a Lending Agreement. Bank Loans are traded as a package that consists of all the individual underlying loans.
Eagle models Bank Loan security master files (SMFs) using two components: Facilities and Contracts. Trading, pricing, and valuation are performed at the Facility level, while accrual calculations occur at the Contract level. Positions, open lots, close lots, trades, cash activity, etc. are maintained for Facilities only.
Example reference data screens, trade screens, and reports are attached:
On this page
Entity Setup
There are no specific entity settings required for processing Bank Loans. Ensure the standard fields applicable to fixed income securities, such as Primary Amortization/Accretion Rule (3197), are consistent with your desired Bank Loan treatment.
Cost Method (22) must be set to
Identified Cost
to calculate amortization on Bank Loans;Average Cost
is not supported
Reference Data
Storage & Configuration
Eagle models each Bank Loan Facility and Contract security master file (SMF) as a single row in Data Management. The data requirements between the two are nearly identical, with the exception of a few additional accrual fields for Contracts.
Contracts are linked to a Facility as underlying securities and a Facility must have one or more underlying Contracts. Eagle recognizes Bank Loan restructuring based on the Facility-Contract relationship defined in the UNDERLYING_SECURITY table. Contract units are computed based on the information stored in this table.
Market Data
CUSIPs are not issued for Bank Loans in the market. You should create a unique security identifier for each Facility and Contract.
Bank Loans often have accrual terms that vary across the Contracts underlying a given Facility. This is fully supported in Eagle because each contract has its own interest stream based on its particular accrual terms.
Although most Bank Loans float against a published index, Eagle recommends setting up Contracts with Coupon Type = V (Unscheduled Variable Rate)
to accurately account for the intricacies of their accruals. All-in rates can then be loaded to the VARIABLE_RATES table. Coupons are dropped on dates when Cash Movement Flag (3664) = Yes
. The Ticking Fee percentage should be loaded for non-funded contracts.
Security Data
Bank Loan Facility and Contract SMFs can be set up and maintained using Issue Viewer, Security Reference Manager (SRM), or Reference Data Center (RDC). All fields required to set up both Bank Loan Facilities and Contracts are listed below
Issue Name (961)
Primary Asset ID Type (1432)
Primary Asset ID (14)
Processing Security Type (3931)
Facility =
DBAMTL (Facility Term Loans)
Contract =
DBIBTL (Contract Term Loans)
Issue Country (1418)
Asset Currency (85)
Settlement Currency (63)
Income Currency (1186)
Issue Tax Type (668)
Primary Exchange (17)
Issue Price (69)
Issue Date (68)
Maturity Date (38)
Maturity Price (42)
Trading Flat (3949) =
Yes
Bank Loans have no traded interest on opens or closes
The next set of fields are only required for Contracts, which must have valid accrual information because accruals are calculated the Contract level. Each one can have a different Coupon, Day Count Basis, and Payment Frequency.
Coupon (70): for reference purposes only when Coupon Type =
Unscheduled Variable Rate
as rates are retrieved from the VARIABLE_RATES tableSet to the Ticking Fee percentage for non-funded contracts
Coupon Type (97) =
V (Unscheduled Variable Rate)
Day Count Basis (471)
Payment Frequency (472): for reference purposes only when Coupon Type =
Unscheduled Variable Rate
as coupon dates are controlled by Cash Movement Flag on rate uploadsDated Date (1183)
First Coupon Date (473)
Last Coupon Date (474): must be set to Maturity Date when Coupon Type =
V (Unscheduled Variable Rate)
Linking Contract to Facility
Bank Loan Contracts are linked to Facilities using Add Underlying Security.
Asset ID Type (1432): of Facility
Issue Name (961): of Facility
Underlying Asset ID Type (1103): of Contract
Underlying Asset ID (1348): of Contract
Relationship/Underlying Type (2290) =
ROLLALL
Begin Date (71): effective date of the relationship
End Date (73): final date of the relationship
Base Contract Asset ID (2286): cross reference ID of the Contract entered above, such as its Primary Asset ID
This is required for accurate amortization calculations, but can be left
NULL
if amortization processing is not required
Non Funded Flag (905)
No
: contract accrues interestYes
: contract accrues a Ticking Fee and the amount will be excluded from amortization
Security Global Amount (909): total outstanding par value of this Facility in the market
Underlying Security Amount (911): fraction of Security Global Amount for the specified Contract
The sum of this field across all of a Facility's Contracts must equal the Security Global Amount
If Non Funded Flag =
Yes
, this will be an unfunded amount for the Contract
Underlying Percentage (912): calculated automatically based on Security Global Amount and Underlying Security Amount
Can also be entered directly, but only if you have not populated the Amount fields
Trade Processing
All trading activity is performed at the Facility level and positions are always held long. Bank Loans trade flat in the market, so there is no traded interest on opens or closes.
Open trades can be booked against a Facility before its underlying Contracts are established. However, you will be unable to process accruals until the Contracts have been created and the underlying relationships have been defined. This must occur prior to settle date of the trade.
Open (event type: BUY)
Trades are entered using the Book Trade module once the entity and reference data have been configured. Enter the appropriate entity, security identifier, and trade (35)/settle dates (37) and click Submit to query for the security. Right-click it and select Open > Buy. The list below contains all fields required to book a Bank Loan trade.
Par Value/Current Face (40)
Price (45)
Term Loan Fee Income (844): included in Net Amount, but excluded from cost
Recognized as income
Term Loan Fee Expense (846): included in Net Amount, but excluded from cost
Recognized as an expense
Broker (88)
Close (event type: SELL)
The Book Trade module should also be used to process both full and partial terminations. Enter the same information as the open to query for the security. Right-click it and select Close > Sell. All fields on the close are the same as the open, except Lot Selection Method (27). This defaults to the entity-level value, but can be overridden.
Accounting
Once a Bank Loan trade is booked it will be picked up in Eagle’s global workflow. Daily accruals and periodic coupons are generated as part of the earnings process, Accounting valuation is calculated when posting unrealized gain/loss, and Data Management valuation is calculated in STAR to PACE. These can be scheduled or triggered manually.
Accruals & Amortization
Accruals and Ticking Fees are calculated at the Contract level, then summed and posted at the Facility level along with amortization. The cost of the funded position (all Facility-Contract relationships with Non Funded Flag = No
) is allocated to each funded underlying contract proportionately based on its units (position units * allocation percentage).
The Facility's amortization yield is calculated based on the cashflows of arising from each underlying Contract
Amortization delta is calculated for each funded Contract and then summed up to the Facility level
Amortization excludes non-funded position units and cost from amortization because they are valued at par
Facility-level income can be viewed in the Income Lots tab in Position Viewer
The breakdown of Facility level income and amortization postings is available by for each Contract in the Income Sub Lots tab
This shows accrued interest and amortization at the Contract level, which is helpful for income reconciliation
Ticking Fees are accrued the same way as regular income
Each time you link a Facility to a Contract, Base Contract Asset ID must be populated with the Contract's Primary Asset ID (or another cross reference ID) to ensure amortization is calculated correctly
Coupons are generated at the Contract level
One coupon record is generated for each funded Contract of each open lot
Because Bank Loans trade flat, coupons for each Contract of a sold lot are generated on the next coupon date
Valuation
Bank Loan positions will be valued at the Facility Level. The Facility Level position, which includes both Funded and Non-Funded Contract amounts, will be used in the daily pricing and valuation process. The existing process for loading prices, calculating URGL, and posting URGL entries will be used for Bank Loan positions, as is done for any other fixed income security in Accounting.
Market Value = Par Value/Current Face * Quantity Scale * Price of Bank Loan Facility * Price Multiplier
Fees
In addition to fees entered at trade time, Bank Loan fees can also be booked using the MISCINC
or MISCEXP
transactions (Post Miscellaneous Expense, Asset Specific or Post Miscellaneous Income, Asset Specific). This provides the flexibility to post income and expenses as separate events, if needed.
Two ledger accounts are provided for Bank Loan income and expenses:
4005000600 - Term Loans Fee Income
5005000100 - Term Loans Fee Expense
Two Rec/Pay Event types and offset accounts are also provided:
1007002325 - Term Loans Fees Receivable
2007002325 - Term Loans Fees Payable
Non-Funded Contracts
An unfunded contract has Non Funded Flag = Yes
on its Facility-Contract relationship. Perform the following steps when a non-funded Contract gets funded:
End the Facility-Contract relationship for the previously unfunded amount by adding an End Date
Add a relationship for the newly funded Contract with its corresponding rate
Adjust all other Facility-Contract relationships to correspond to the new Security Global Amount
This settles the unsettled portion of the trade, but does not result in any change to the position at the Facility level.
Restructuring
Bank Loan restructuring does not create any financial event (buy, sell, or cash payment/receipt), nor does it change the Facility's position. It only changes the computations for interest accruals and amortization.
Bank Loan Facilities can be restructured by combining, splitting, or changing the Facility's Security Global Amount and Contract's Underlying Security Amount on the underlying relationship. This is done by first setting an End Date for the existing relationship, which terminates the old Facility-Contract amounts. If the Contract is still valid, you can enter the new effective date and amounts at the same time. Otherwise, you can add relationships for new Contracts.
Updating underlying relationships can be done by double-clicking the relevant Contract in the RDC Underlying Security tab or by using Change Underlying Security in Issue Viewer/SRM.
End Date (73)
Must be one calendar day prior to New Begin Date
Reason (56)
New Security Global Amount (7960)
New Underlying Security Amount (7961)
New Begin Date (2302)
Must be one calendar day after End Date
Core support for restructuring is limited to common coupon dates. If restructuring is required on another date, current Contract relationships should be ended and new Contracts should be set up with Issue Date equal to Issue Date of the Facility and Dated Date equal to the date of the restructure. Then new Facility-Contract relationships can be established with the new Contracts.
Accounting allows restructuring in the middle of a coupon period, but period-to-date interest and amortization are reset, which then requires manual intervention
Principal Repayments
Principal repayments involve either full or partial repayment of the outstanding principal of a Bank Loan. They are processed in Eagle using the Principal Repayment corporate action.
Changes in the Security Global Amount are incorporated in the Facility-Contract relationship for recognition by the earnings process
A principal repayment reduces the Facility global amount as well as the Contract-level global amount (contract size) of the affected contract(s)
Note: the Principal Repayment corporate action does not automatically update the facility/contract relationship details; you must update the Security Global Amount and Underlying Security Amount in the UNDERLYING_SECURITY table to ensure accurate income accruals
Entitlement is calculated based on trade date positions
Facility-level corporate actions, such as exchanges, must be processed using delivers
Required data for a Principal Repayment corporate action is listed below.
Asset ID (14)
Issue Name (961)
Sweep Date (1197): date when the global corporate action process will pick up and execute the corporate action (generally current date)
Ex Date (65): date when the corporate action takes effect
Pay Date (1275)
Treatment of Fractional Shares (3965) =
Post Fractional Shares
Corporate Action Status (54) =
Released
Mandatory/Voluntary Indicator (1734): as specified in the Lending Agreement
Rate of Action (Cash) (1692) =
100
Share Percent (1001): percentage by which the Security Global Amount will be reduced, entered as a decimal value (enter 50% as
0.5
)Calculated as repayment amount divided by Security Global Amount
Corporate Action Type (1728) =
Principal Repayment
Once an announcement has been set up, it can be processed via an automated event or triggered manually.
V17 & Above: Accounting Center > Processing and Exceptions > Global Processes > Corporate Actions > Cash Tender/Calls/Puts/Refund/Credit Event Processing
Prior to V17: Global Process Center > Corporate Actions Processing > Cash Tender/Calls/Puts/Refund/Credit Event
Ensure Corporate Action Begin Sweep Date (220) and Corporate Action End Sweep Date (221) capture the Sweep Date you entered on the announcement(s).
Reporting
STAR to PACE (S2P)
Almost all reports in Eagle Accounting leverage data from Data Management, which is populated by the S2P process. This will be scheduled as part of the daily workflow, but can also be triggered manually as described in the Accounting section.
The S2P process creates a single row for each Bank Loan Facility in the POSITION, POSITION_DETAIL, TRADE, and CASH_ACTIVITY tables. The MARKET_VALUE_INCOME column captures the total market value, inclusive of price fluctuations and period-to-date accruals payable or receivable.
Accounting Reports
Eagle has a core set of accounting reports that can be used to review Bank Loan information. These are designed to support the daily operational workflow for business users, allowing Grid Reports to be easily exported to Excel and customized to provide additional details as needed. Advanced Reports are intended to be client-facing and do not provide the same level of customization.
All reports will display Bank Loan holdings and transaction activity in the same way as other fixed income securities.
Data Management Reporting
Performance
The performance toolkit has full functionality to calculate market value-based performance for Bank Loans using data supplied by the S2P process. Risk and performance attribution features are available to analyze ILB performance.
Total performance of a Bank Loan is calculated at the Facility level
Automation
Bank Loan Facility and Contract security master files (SMFs) and Facility trades can be loaded through the standard Message Center streams. The Facility SMF must be loaded prior to the trade (trades do not spawn SMFs). Refer to Supported Generic Interfaces V17 for more information.
Facility-Contract underlying relationship data and applicable fees can also be loaded. Below are the standard interfaces provided out-of-the-box for Message Center.
Transaction Type | Default Message Center Stream | Sample Files |
Bank Loan Facility and Contract SMF Setup | eagle_default_in_csv_smf | |
Bank Loan Trades (opens, closes & cancels) | eagle_default_in_csv_trades | |
Linking Underlying Bank Loan Contract | eagle_default_in_csv_underlying | |
Restructuring Underlying Bank Loan Contract | eagle_default_in_csv_underlying | |
Bank Loan Fees | eagle_default_in_csv_cash |
|