- How do I set up a configuration file?
- What data is in a security definition file?
- What data is in a portfolio file?
- What data is in a benchmark file?
- What data is in a yield curve file?
- Can FIA calculate return?
- Does FIA need FX rates?
- How can I automate yield curve production?
- What data is required for a particular security type?
- How can I change a security’s characteristics over time?
- How do I set up nested portfolios?
- I have an existing attribution application. Can I port the data into FIA?
- How does FIA store and read money-market reference rates within yield curve data?
- How can I verify that my data will work with the system?
- How much effort do I need to get started?
- Why do you use Julian dates for internal calculations?
How do I set up a configuration file?
A configuration file is a Windows INI file that allows you to set up a virtually unlimited number of options.
The configuration file can be set up and modified in the Flametree GUI (graphical user interface).
Alternatively, if you want to run FIA from the command line, you can edit configuration files using any editor, such as Notepad.
What data is in a security definition file?
Options that set the type of attribution calculation to be performed, the reports to be generated, the format of the reports, data formats, optional start and end dates, and other miscellaneous options that are used to set up the attribution calculation.
What data is in a portfolio file?
Weights and returns (base and local currency) for a portfolio. These can be supplied at daily, weekly, monthly or any other frequency.
Note that the weights and returns apply at the end of each period. For each security, an empty record must be provided at the start of each calculation period to tell the system the length of the first calculation period. For this empty record, only the date is used, so weights and returns can be set to zero. On any given day, the sum-product of the weights and base currency returns must equal the overall return of the portfolio.
What data is in a benchmark file?
Exactly the same information as the portfolio file, and in the same format, but for the benchmark.
What data is in a yield curve file?
Data for a AAA (risk-free) curve, at a given set of dates, for at least three maturity points. Data on other curves can also be included, for instance sector curves or curves with lower credit ratings.
There are no constraints placed on the tenor points at which yield curves are supplied. Their number and values can vary from day to day. This is particularly useful if the user is calculating yield curves from a set of benchmark yields, whose maturity and number will vary from day to day.
Can FIA calculate return?
No, but we have utilities that do. Please contact us for more information.
Does FIA need FX rates?
No, but it can use them.
From the supplied local and base currency returns, the program calculates a set of implied exchange rates, and uses these for currency attribution.
These rates may be overridden with a set of user-supplied rates if (for example) no local currency returns are available. In this case, FIA will calculate local currency returns using these FX rates. See the documentation for the FXFile option.
How can I automate yield curve production?
FIA’s yield curve format is designed to be as simple and flexible as possible. For instance, there is no need to supply curve data at preset maturity points; the program will work with yields at whatever maturities are supplied.
Flametree can help with yield curve data in additional ways:
- We supply command-line utilities that build risk-free zero coupon yield curve files for USD, EUR, JPY, GBP and AUD (NZD in preparation). The data is downloaded from various central banks and collated into the format required by FIA.
- We can also assist with setting up spreadsheets to download curves from data providers such as Bloomberg or Reuters. Any such usage must comply with the conditions of your Bloomberg licence.
What data is required for a particular security type?
See Setting up the security file
How can I change a security’s characteristics over time?
Use the effective date.
Each security has at least one entry in the security definition file, and the effective date field can be left blank if the security’s characteristics are unchanged.
If something does change (for instance, a credit rating, or a maturity date), add a second record for the security with the same identifier, but this time change the record to the new settings, and write the date of the change to the effective date field.
How do I set up nested portfolios?
Instead of supplying the name of a security in the portfolio file, supply the name of another portfolio that has been set up in the same file. The market weight is then interpreted as the fraction of that portfolio you hold. This is a very simple but powerful way to model hierarchical portfolio holdings.
For instance, suppose you manage both a managed fund called STATFUND1, and a unit trust called TRUST1. If the fund holds 50% of the unit trust, then all you need to do is to set up both funds in the same file under their own names, and to add a single line at each date the holding is active:
[Date] [STATFUND1] [TRUST1] [0.5]
I have an existing attribution application. Can I port the data into FIA?
Almost certainly. In addition to performing internal pricing, FIA can also use risk numbers for attribution in the same way as other attribution systems. If you have this data available, it is a straightforward matter to import it into FIA and use the program’s various functions and reports, and to gain the benefits of the program’s extensive functionality.
How does FIA store and read money-market reference rates within yield curve data?
Money-market reference rates (such as the cash rate, 1, 3 and 6-month LIBOR) are all short term interest rates, and may be stored as part of the appropriate risk-free yield curve for that currency. For instance, if you record the cash rate as a point on the yield curve with zero maturity, this is the rate that will be read and used for cash.
How can I verify that my data will work with the system?
FIA performs numerous checks on your data before processing begins. If you upload data files that contain format problems or other issues such as missing security definitions, the system will stop and generate a diagnostic file, indicated exactly where the problem occurred.
How much effort do I need to get started?
Very little. All you need to provide is return and allocation data for your portfolios, plus some security definition information such as maturity dates and coupon. These are delivered in comma-delimited ASCII format, and we supply numerous working examples for you to review and adapt. We even supply basic yield curve data for most markets.
Why do you use Julian dates for internal calculations?
The C language represents dates using the time_t stucture, which models dates as offsets in milliseconds from 1st January 1970. The disadvantage of this scheme is that a 32-bit representation rolls over in 2038, and many fixed income securities have maturity dates that fall after this date.
While there are workarounds for this issue, we decided to standardise on the use of Julian dates for internal calculations within FIA in order to provide the widest possible range of dates and options.
Future releases may use the Boost::DateTime library.