The STRATEGY table has a default strategy 1001 with STRATEGY_NAME of Position Tag Model.
The LONG_SHORT_INDICATOR field attribute is the default STRATEGY_FIELD_ATTRIBUTE field for this strategy and is identified in the STRATEGY_DETAIL_TABLE. Each LONG_SHORT_INDICATOR value on a position or cash_activity used in by the Performance Calculation adds a new row with unique STRATEGY_DETAIL_ID.
In the table below you can see the unique STRATEGY_DETAIL_ID for each STRATEGY_SHORT_DESCRIPTION. The STRATEGY_DETAIL_ID is used in the PERF_SEC_RETURNS table as a unique identifier.
Use the Performance Calculation to Commit Multiple Returns for a Single Security
To enable committing returns multiple times for a security, ensure that the Performance Calculation setting Rollup Securities at the Last Level, is off.
Security Commit Options
Once you set the option to off, the sub-security level Commit Options display under the Security Commit Options.
Each Security Commit Option has a specific PERF_SUMMARY_TYPE in THE PERF_SUMMARY TABLE.
Single Position has a PERF_SUMMARY_TYPE = S.
Positions by Strategy has a PERF_SUMMARY_TYPE OF SS
Positions by Strategy and Dictionary Classification has a PERF_SUMMARY_TYPE of SP
S, SP, and SS type records will all be linked to the security level records in the PERF_SEC_RETURNS table by PERF_SUM_INST.
Select the Type of Security Return
To store separate returns for a single security based on a strategy field, you will need to choose either SP or SS return types.
Both allow multiple returns to be stored for a single security.
SS Records
SS records are sub-security returns that are unique for each SECURITY_ALIAS, EFFECTIVE_DATE, ENTITY_ID like S records but also have the unique identifier STRATEGY_DETAIL_ID. They can be used in dynamic performance analysis and with performance models.
When you choose Positions by Strategy SS a P type record and an SS type record is written to the PERF SUMMARY TABLE. SS records have a STRATEGY_ID but do not have a dictionary_id =0 as they are not specific to a dictionary.
The PERF_SEC_RETURN SS records will have the ROLLUP_RETURNS_ID = 0. SS records are unique by STRATEGY_DETAIL_ID and SECURITY_ALIAS and are available for Dynamic Performance Analysis reporting like S security records.
SP Records
When you choose Positions by Strategy and Dictionary Classification SP, a P type record and an SP type record is written to the PERF SUMMARY TABLE. The P type is for the total and rollup level returns. The SP record represents the sub-security level records in the PERF_SEC_RETURNS table. SP records are specific to a performance model and therefore will have a DICTIONARY_ID populated.
The SP records in PERF_SEC_RETURNS are sub-security returns that are unique for each SECURITY_ALIAS, EFFECTIVE_DATE, ENTITY_ID, STRATEGY_DETAIL_ID and importantly PERF_ROLLUP_RETURNS_ID. Each record is linked to a specific node in the dictionary by the PERF_ROLLUP_RETURNS_ID. This allows SP records to support committing securities returns for multiple long positions in in multiple nodes without violating unique constraints. SP style security returns can only be used with Performance Models.
Add Comment