Rebate contracts (kickbacks)
Overview
Rebates, sometimes referred to as "kickbacks", refer to situations in which fees are paid for investments, but part of those fees are paid back. For example, we might get an agreed-upon percentage of management fees returned to us by the fund company whose funds we are investing in.
Rebate contracts may be simple or complex. An example of a simple rebate contract would be one where investors simply receive a flat percentage of their fees back. A more complex rebate contract might be one where investors receive rebates with various different rebate percentages, which vary depending on:
The security - some securities pay a bigger fraction of fees back as rebates
The size of our investment - investing more money may entitle one to larger rebate percentages
The type of cost applied - do we get rebates for management fees, performance fees, subscription and redemption fees, or all of the above?
Rebate structures may also be simple (investors directly receive rebates for their investments) or more complex (multi-tiered hierarchies).
The purpose of FA’s Rebate contracts functionality is to make it easier to handle both simple or complex rebate calculations/structures. It supports simple setups, but also calculating variable rebates depending on the criteria mentioned above. It also supports multi-tiered hierarchies of contracts, intermediate parties and investors, with the ability to pay out rebates to various levels within this hierarchy. We may pay out rebates to the investors themselves, to the intermediate level (e.g. investors' sales representatives) or to the asset management/fund distributor company itself.
This functionality may be used by fund managers who are receiving or paying out rebates, or by asset managers who are receiving rebates (and keeping them or paying them forward, as the case may be).
Rebate calculation logic
The basic formula is: change in ex-post cost type X of position Y for date Z * rebate percentage for cost type X of security Y for date Z
More simply: accrued daily cost * rebate % for that cost
This formula is applied for each underlying position and each day in the selected time period, and the results are aggregated into one or more rebate transactions.
Determining the rebate percentage
Rebate percentages are calculated per:
Contract
Day
Transaction type
Security
I.e. a specific rebate percentage is determined by the contract, day, transaction type, and security.
E.g. to calculate the rebate percentage for contract X's ongoing costs for security Y on 2020-09-18:
We look for percentages and their corresponding AUM thresholds from that contract for ongoing costs for security Y.
For example, let's say we find percentage 40% for threshold 0 - 10 000 and 60% for threshold 10 000+
We calculate the market value of the total position in security Y on that date (including the contract portfolio itself and all portfolios directly or indirectly under that contract)
For example, let's say the underlying portfolios contain 1000 units of the EUR-denominated security, and the market price of the security on 2020-09-18 is 15 EUR → total AUM for that security on 2020-09-18 is 15 000 EUR.
Note, that even if these 1000 units/15 000 EUR are split among multiple portfolios, the rebate percentages for each of the portfolios are still determined based on the total 1000 units/15 000 EUR.
We see which threshold(s) (found in step 1) the AUM falls into (calculated in step 2); how this part works depends on the calculation method selected in the rebate contract profile (see below).
Single percentage.
In single percentage mode, we only use matching AUM thresholds and multiply them with corresponding costs
In this example, total position of security Y on 2020-09-18 is 15 000 EUR, which falls into the 10 000+ AUM threshold. This means we have a 60% rebate for all on-going costs in security Y on 2020-09-18.
E.g. if we have a 30% rebate for AUM 0-100 000 and 50% rebate for AUM 100 000+, an AUM of 200 000 will have a 50% rebate of the full 200 000 position, NOT 30% for the first 100 000 and 50% for the second 100 000!
Incremental percentages
In incremental percentages mode, we use a weighted average rebate percentage based on matching and smaller AUM thresholds. We multiply that weighted average rebate percentage with the corresponding costs
In this example, total position of security Y on 2020-09-18 is 15 000 EUR, which falls into the 10 000+ AUM threshold. This means we have a 40% rebate for 10 000 EUR of our 15 000 EUR investment, and 60% rebate for 5 000 EUR of the 15 000 EUR investment. This gives us a weighted average of 46,66...% rebates of on-going costs in security Y on 2020-09-18.
E.g. if we have a 30% rebate for AUM 0-100 000 and 50% rebate for AUM 100 000+, an AUM of 200 000 will have a 30% rebate for the first 100 000 and 50% for the second 100 000, averaging out at a 40% rebate for the full 200 000 EUR.
Creating rebate transactions
A separate rebate transaction is created per:
Rebate source portfolio (portfolio containing the assets which result in rebates)
Transaction type
Security
If you would like to have separate rebates for each day, that would be achieved by running rebate contracts every day for a single day. Similarly, if weekly rebate transactions are required, the solution is to run the process once per week, etc.
Rebate transaction properties
Transaction & settlement date - selectable date, defaults to run date of the extension (for automated runs)
Amount (units) and trade amount (security currency) - the amount of the rebate; the trade amount is rounded to two decimals, and amount is rounded to however many decimals the security allows.
Unit price - 1 if possible without changing the trade amount based on amount rounding. Otherwise (if security has a higher block size) we use whatever unit price gives us the correct trade amount given the rounded amount.
Fx rates - AUTO (based on close prices)
Security - the security of the position that is the bases for the rebate
Transaction type - selectable in rebate contract profile
Parent portfolio - depends on the rebate recipient choice in the rebate contract profile (see below)
Status - configurable (see below)
Account - configurable (see below)
Int info - What rebate contract (portfolio short name), rebate source (portfolio containing the assets, short name), and dates the rebate is based on
E.g. rebateContract=51309153127;rebateSource="51309153127";startDate=2020-11-20;endDate=2020-11-27;
For an in-depth guide on handling rebates, see Handle contract rebates (kickbacks).