Calculating Equivalent Shares
In the world of Shareholding Disclosure, many regulators are concerned not only with one’s holdings in shares (equity, but often including preferred equity or ETF “units”) but also how many “equivalent shares” one can be deemed to hold through other financial asset constructions (a term we use for holdings with more than one instrument referenced) like: ADRs  composed of a DR and an underlying equity instrument, convertible bonds  composed of a convertible bond and underlying equity/preferred equity, or derivatives such as futures, swaps, options etc., which are composed of at least 2 instruments.
In addition, some regulation also requires one to include the number of equivalent shares one holds through: a) derivatives which reference composites (e.g. indexes or other reference baskets like our AssetClass: StructuredProduct or Index), or b) ETFs (which are funds that track a composite/index and modeled as our AssetClass: Unit).
How does Rapptr calculate equivalent shares?
Rapptr calculates the relevant number of equivalent shares for each asset (position). In order to do this for the widest range of asset constructions (including multilevel assets  where a single financial product references more than one instrument), Rapptr will perform some intermediate calculations.
Equivalent Shares Adjustment
For each instrument in a construction, the equivalent shares adjustment figure is calculated. For a given instrument, the equivalent shares adjustment is essentially the number of underlying instruments it represents but can also include factors like delta adjustments. In other words, how much exposure to the underlying instrument is gained by holding this instrument itself. For example, the equivalent shares adjustment for an option would be its ContractSize, because the equivalent quantity of the underlying equity held is equal to the quantity of options held multiplied by the option's ContractSize. Likewise, the equivalent shares adjustment for a convertible bond is the ConversionRatio. For components of composites (e.g. indexes), the equivalent shares adjustment involves a bit more maths, which is outlined in our article on indexlookthrough. In summary, it is:
Price (composite, e.g. index) x EffectiveWeighting (component) / Price (component)
Cumulate Equivalent Shares Adjustment
After determining the equivalent shares adjustment factor for each instrument, the next step is to “accumulate” or multiply all equivalent shares adjustments together starting with the top/parent instrument in an asset construction, going downwards though to the most underlying instrument (typically, an Equity, PreferredEquity or Bond). Each instrument in an asset construction can be said to have an accumulated equivalent shares adjustment taking into account its position in the construction including all adjustments from parent instruments. For example, if an instrument has an equivalent shares adjustment of two, and its parent asset has an equivalent shares adjustment of ten, then the cumulate equivalent shares adjustment at this instrument level is twenty. The code representing this is found in the expression of “EquivalentShares” properties and represented as:
Cumulate(EquivalentSharesAdjustment)
Equivalent Shares
Once we reach the ultimate underlying Equity or PreferredEquity in a construction, the Cumulate Equivalent Shares Adjustment will represent the multiplication of all adjustment factors and can then be multiplied by the Quantity of the top/parent instrument to produce the Equivalent Shares for that asset construction.
This Equivalent Shares figure then represents how many of the Equity or PreferredEquity one is deemed to hold taking into account the complete asset construction.
Example
To aid in understanding how EquivalentSharesAdjustment and Cumulate(EquivalentSharesAdjustment) are used to calculate a given asset construction’s EquivalentShares, it may be helpful to outline the data in a table first and calculate each element.
We will use a multilevel example to illustrate, but the same principle can be applied to any asset construction.
Future > ADR > Equity
Level 
Quantity 
ContractSize 
ConversionRatio 
EquivalentSharesAdjustment 
Cumulate 
EquivalentShares 
Future 
10 
5 
5 
5 
100 

>ADR 
2 
2 
10 
100 

>>Equity 
1 
10 
100 
 In columns Quantity, ContractSize and ConversionRatio, we’ve outlined the instrument data which is relevant for our calculations. These values come from the client's position file.
 Now we can calculate the values for EquivalentSharesAdjustment. You can find the exact expression for EquivalentSharesAdjustment in Rapptr. For a future, it is ContractSize and for an ADR it is the ConversionRatio. For an Equity, there is no adjustment so it is just 1.
 Next we can calculate the result of the function Cumulate(EquivalentSharesAdjustment) for each instrument starting from the top/parent instrument down as this is how the Cumulate() function works.
 For the top instrument, Future, this is the same as the EquivalentSharesAdjustment: 5
 For the ADR, we multiply its EquivalentSharesAdjustment (2) by all parent instrument’s EquivalentSharesAdjustments. For the ADR there is only one parent, the Future, and it’s 5. So, 2 * 5 = 10. This is the Cumulate (EquivalentSharesAdjustment) for the ADR given its position in the construction.
 For the Equity, we multiply its EquivalentSharesAdjustment (1) by all parent instrument’s EquivalentSharesAdjustments. For the Equity there are two parents, the ADR (with an EquivalentSharesAdjustments of 2) and the Future (with an EquivalentSharesAdjustments of 5). So, 1 * 2 * 5 = 10. This is the Cumulate (EquivalentSharesAdjustment) for the Equity given its position in the construction.
 Now we can finally calculate the EquivalentShares for the construction. This is given by the code TopQuantity * Cumulate(EquivalentSharesAdjustment) when you’ve reached the ultimate underlying Equity or PreferredEquity. From our example, TopQuantity is 10 and the Cumulate(EquivalentSharesAdjustment) for the Equity is 10. Therefore our EquivalentShares is 10*10 = 100.