Skip to main content

File format for importing TWR

You can import precalculated TWR and benchmark values to use in Analytics+. Imported values speed up the usage of Analytics+ – otherwise, the system calculates performance data dynamically based on portfolio positions, which might take considerable resources and slow down the process. To avoid increased loading times, you can import precalculated TWR for the history data.

To upload the TWR history and benchmark return in the system, follow the steps:

  1. Define the date before which Analytics+ should use imported TWR values:

    • Add the system-level date is defined in preferences. This date is applied to all portfolios. Go to PreferenceAdministrationPerformance calculation and choose the date in the Use imported TWR up to field.

    • (Optional) Add the portfolio-specific date. Open the Portfolio window and choose the date in the Imported TWR date field.

  2. Prepare the import file (CSV and XLSX) and upload it in FA Back via the Import menu. The file format is the same for TWR and benchmark import (with some differences in the required fields and in the field values). You can include the TWR and benchmark data in the same file. To learn more about what benchmark use and aggregation logic, see Measures of benchmarks.

Note

The CSV file delimiter is a semicolon by default, but it can be changed to another character: see Preference - Importing for details.

Download the CSV and XLSX file templates here:

FAFormat_TWR.csv

FAFormat_TWR.xlsx

Updating TWR data

You can update existing TWR data by importing a new file with corrected numbers. The system identifies the data entry to update by the end date (pd.endDate), portfolio ID (pd.identifier), scope (pd.scope), grouping code (pd.groupingCode) and grouping (pd.grouping), so these fields must be filled in.

Three-star syntax isn't supported for updates – all values in the row must be filled in.

FA Format for importing TWR

TWR is imported in FA in a CSV or XLSX file, with the file columns described below. Define the column headers in the first row – you can specify them in any order. After the first header row, each row in the file should contain TWR data.

Depending on what data you have, you can import:

  • TWR

  • Market value at the beginning of the period. The system will calculate TWR based on the market value at the beginning and at the end of the period.

#

Code

Required

Name

Description

1

pd.endDate

Yes

End date

The end date of the period for which the TWR values are valid. The format is YYYY-MM-dd.

2

pd.twr

No

TWR

TWR over the period. Use a dot as a decimal separator, for example: 0.00995.

You can skip the TWR value and import market value at the beginning of the period instead (pd.marketValueStart). The system will calculate TWR based on the market value at the beginning and at the end of the period.

3

pd.twrFx

No

TWR (fx)

TWR (fx) over the period. Use a dot as a decimal separator, for example: 0.00995. The default value is 0.

4

pd.twrGross

No

TWR Gross

TWR Gross over the period. Use a dot as a decimal separator, for example: 0.00995. The default value is 0.

5

pd.marketValueEnd

Yes

Market value

Market value (end of period). Use a dot as a decimal separator, for example: 0.00995.

6

pd.marketValueStart

No

Market value start

Market value (beginning of period). Use a dot as a decimal separator, for example: 0.00995.

This value can be used to calculate the TWR value based on the market value at the beginning and at the end of the period. In this case, you can skip the pd.twr field.

7

pd.cashflow

No

Net cashflow

Net cashflow over the period. Use a dot as a decimal separator, for example: 0.00995. The default value is 0.

8

pd.identifier

Yes

Porfolio ID

Portfolio ID of the portfolio analysed (see the description of the pd.scope field).

9

pd.scope

No

Scope

The scope of analysis. Currently, only one option is available for the TWR import:

  • PORTFOLIO – Import TWR values for a certain portfolio.

The default value is "PORTFOLIO".

10

pd.groupingCode

Yes

Code

Identifier of the item used for grouping the data (the grouping is defined in the pd.grouping field). For a portfolio, specify portfolio ID. For a security or security type, specify the code.

11

pd.grouping

Yes

Grouping

Grouping used for the analysis. For example, you can upload the data grouped by portfolio, security, or security type. For the full list of grouping options, see Analytics+ grouping options in FA Developer guide.

FA Format for importing benchmark return

Benchmark values can be imported in the same file with the TWR data. The file columns are similar, with some differences in the required fields and in the field values.

#

Code

Required

Name

Description

1

pd.endDate

Yes

End date

The end date of the period for which the benchmark return values are valid. The format is YYYY-MM-dd.

5

pd.marketValueEnd

Yes

Market value

Benchmark value (end of period). Use a dot as a decimal separator, for example: 0.00995.

6

pd.marketValueStart

No

Market value Start

Benchmark value (beginning of the period). Use a dot as a decimal separator, for example: 0.00995.

9

pd.scope

Yes

Scope

The scope of analysis. When importing benchmark values, enter "BENCHMARK".

10

pd.groupingCode

Yes

Code

Identifier of the item used for grouping the data (the grouping is defined in the pd.grouping field). For a portfolio, specify portfolio ID. For a security or security type, specify the code.

11

pd.grouping

Yes

Grouping

Grouping used for the analysis. For example, you can upload the data grouped by portfolio, security, or security type. For the full list of grouping options, see Analytics+ grouping options in FA Developer guide.

12

pd.twrBm

No

TWR Bm

Benchmark TWR. Use a dot as a decimal separator, for example: 0.00995.