factset ondemand developer’s toolkit...2. architecture factset provides tools to build an...

56
FactSet Research Systems Inc. Copyright © 2015 FactSet Research Systems Inc. All rights reserved www.factset.com FactSet OnDemand Developer’s Toolkit Programmer’s Manual & Reference Version 3.3A

Upload: others

Post on 08-Jul-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

FactSet Research Systems Inc. Copyright © 2015 FactSet Research Systems Inc. All rights reserved

www.factset.com

FactSet OnDemand Developer’s Toolkit Programmer’s Manual & Reference Version 3.3A

Page 2: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

2 | Copyright © FactSet Research Systems Inc. All rights reserved

Table of Contents

Notice ................................................................................................................................................ 3

FactSet Consulting Services ............................................................................................................... 3

1 Introduction .................................................................................................................................. 4

1.1 Overview ............................................................................................................................... 4

1.2 Server Technology ................................................................................................................ 4

2. Architecture................................................................................................................................... 5

3. Retrieving FactSet Data ................................................................................................................. 5

3.1 Extract Data from FactSet ..................................................................................................... 5

3.2 Date Format using FQL and Screening Codes ....................................................................... 7

4. FactSet Functions to Extract Data ................................................................................................. 8

4.1 ExtractDataSnapshot ............................................................................................................ 9

4.2 ExtractFormulaHistory ........................................................................................................ 11

4.3 CorporateActionsDividends ................................................................................................ 13

4.4 CorporateActionsSplits ....................................................................................................... 14

4.5 ExtractBenchmarkDetail ..................................................................................................... 15

4.6 ExtractOFDBItem ................................................................................................................ 18

4.7 ExtractOFDBUniverse ......................................................................................................... 20

4.8 ExtractScreenUniverse ....................................................................................................... 21

4.9 ExtractOptionsSnapshot ..................................................................................................... 22

4.10 ExtractSPARData ................................................................................................................. 23

4.11 ExtractVectorFormula......................................................................................................... 24

4.12 ExtractEconData ................................................................................................................. 25

4.13 ExtractAlphaTestingSnapshot ............................................................................................. 27

4.14 TickHistory .......................................................................................................................... 28

4.15 LSD_Ownership .................................................................................................................. 30

4.16 UploadToOFDB ................................................................................................................... 31

4.17 RealTime ............................................................................................................................. 33

4.18 Snapshot ............................................................................................................................. 33

4.19 Documents .......................................................................................................................... 34

4.20 EstimatesOnDemand .......................................................................................................... 36

4.20.1 EstimatesOnDemand Syntax ...................................................................................... 37

4.20.2 Estimates Report - Actuals ......................................................................................... 38

4.20.3 Estimates Report – Broker Snapshot ......................................................................... 42

4.20.4 Estimates Report – Consensus ................................................................................... 43

4.20.5 Estimates Report – Guidance ..................................................................................... 45

4.20.6 Estimates Report – Surprise ....................................................................................... 46

4.20.7 Estimates Report – Consensus Recommendation ..................................................... 48

4.20.8 Estimates Report – Detailed Recommendation ......................................................... 49

4.20.9 Estimates Report – Coverage ..................................................................................... 50

4.20.10 Appendix ................................................................................................................ 51

Page 3: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

3 | Copyright © FactSet Research Systems Inc. All rights reserved

Notice

This manual contains confidential information of FactSet Research Systems Inc. or its affiliates ("FactSet"). All proprietary rights, including intellectual property rights, in the Licensed Materials will remain property of FactSet or its Suppliers, as applicable. The information in this document is subject to change without notice and does not represent a commitment on the part of FactSet. FactSet assumes no responsibility for any errors that may appear in this document.

FactSet Consulting Services

North America - FactSet Research Systems Inc.

United States and Canada +1.877.FACTSET

Europe – FactSet Limited

United Kingdom 0800.169.5954

Belgium 800.94108

France 0800.484.414

Germany 0800.200.0320

Ireland, Republic of 1800.409.937

Italy 800.510.858

Netherlands 0800.228.8024

Norway 800.30365

Spain 900.811.921

Sweden 0200.110.263

Switzerland 0800.881.720

European and Middle Eastern countries not listed above +44.(0)20.7374.4445

Pacific Rim- FactSet Pacific Inc.

Japan Consulting Services (Japan and Korea) 0120.779.465 (Within Japan) +81.3.6268.5200 (Outside Japan)

Hong Kong Consulting (Hong Kong, China, India, Malaysia, Singapore, Sri Lanka, and Taiwan)

+852.2251.1833

Sydney Consulting Services 1800.33.28.33 (Within Australia) +61.2.8223.0400 (Outside Australia)

E-mail Support

[email protected]

Page 4: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

4 | Copyright © FactSet Research Systems Inc. All rights reserved

1 Introduction This reference guide provides an overview of the technology behind the Developers Toolkit as well as detail about the FactSet calls available for integration. The Developers Toolkit is available for download at http://www.factset.com/download/statlink/. In this zip file there will also be a Quickstart Guide, sample files in each of the supported languages, as well as an online help guide that provides the technical details behind the integration. Quickstart Guide: Located in the main ZIP file and outlines the procedures for creating new projects. Sample Projects: This folder contains sample projects in C++, C#, Visual Basic, Java as well as IronPython and Python. Online Help Guide: Contains an index.html file outlining the available functions and their options. The sample files provided contain all of the necessary components necessary to integrate the Developers Toolkit, including authentication methods as well as sample calls to the FactSet databases.

1.1 Overview

FactSet collects and integrates financial data and makes this data accessible via the Internet. FactSet currently provides standard software integrations to applications such as R and MATLAB®. For clients needing to integrate data into their own system, FactSet provides the Developers Toolkit. The shared libraries provided in the Toolkit encapsulate common communication and data manipulation functions, and free developers from the details of the network connectivity tasks. This toolkit also provides debugging and troubleshooting tools. Users can access reports from FactSet called factlets to retrieve a variety of data sets. Factlets are functions that encapsulate business logic and data collection procedures. A factlet can be a simple data request or can invoke complex application logic. The technology is capable of cross referencing and dealing with time series for a large quantity of data, which can be returned in a variety of tagged or delimited formats. This document provides information on how to use the FactSet provided tools so that FactSet clients can build integrations into their own environments. FactSet allows for this integration to be built using a variety of programming languages such as VB .NET, C#, C++ Java, and Python.

1.2 Server Technology

The collection of technologies used to respond to requests over the Internet is called OnDemand (formerly DataDirect). FactSet maintains redundant data servers in its data centers accessbile via the public Internet. The Developer’s Toolkit contains technology to help generate requests to these OnDemand Servers. The requests will be in the form of an HTTPS request generated by a URL statement. When this request is received by FactSet, the OnDemand server will interpret the request and respond with the proper data. In addition to data requests, the OnDemand servers handle authentication of the user requests and the permissioning of data sets. Please refer to the FactSet DataDirect Summary Document for additional information.

Page 5: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

5 | Copyright © FactSet Research Systems Inc. All rights reserved

2. Architecture

FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET, C#, C++, Java and Python. The main tool is Dynamic Link Libraries (DLL) – a Microsoft shared library technology. The main FactSet DLL is titled kratos_3.dll. kratos_3 is written in .NET. This has been written with .NET 4.0 has a minimum version requirement of Visual Studio 2010.

3. Retrieving FactSet Data FactSet integrates over 200 databases to analyze markets, companies and industries. For a comprehensive list of databases available on FactSet go to: www.factset.com/data The available FactSet databases include the following:

FactSet Fundamentals is updated intra-day and is a comprehensive global database with extensive coverage and data history. The database provides coverage of more than 66,000 public and private companies with annual history going back to 1980 in developed market and the early 1990s in emerging markets.

FactSet Estimates is updated intra-day and provides consensus- and detail-level estimates and statistics from leading investment banks and research firms. According to the Wall Street Journal’s “Best on the Street” Analysts Survey, a quantitative evaluation of analysts’ performance based on the accuracy of buy/sell recommendations, the top analysts evaluated for the survey are identified using broker recommendation data sourced from FactSet Estimates.

FactSet Ownership provides institutional, mutual fund, stakeholder, and float-related share ownership information for equities worldwide.

FactSet clients have access to Equity and Fixed Income Benchmarks, which include Dow Jones, FTSE, MSCI, Russell, S&P, Barclays, and BofA Merrill Lynch, among a number of others. FactSet Market Aggregates (FMA), combines data from FactSet Fundamentals, Estimates and Prices to calculate ratios and per share values on an aggregate level. It provides access to over 50 metrics for more than 3,500 commercial and exchange indices.

FactSet Economics database is updated intra-day and provides comprehensive global coverage. Database includes details such as economic information, exchange rates, commodities, and interest rates.

3.1 Extract Data from FactSet

As outlined above, FactSet integrates a range of data sets - company accounts, security data such as price and return, consensus and detail broker estimates, and economic data are a few of the examples. FactSet stores all of the available data in proprietary database structures on FactSet computers. This allows FactSet to adjust, when necessary, the way data is stored, so that clients can access data as efficiently as possible.

Page 6: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

6 | Copyright © FactSet Research Systems Inc. All rights reserved

This range of data is stored on FactSet in such a way as to make powerful cross-sectional and time-series analysis possible. FactSet provides two different data access methods. The FactSet Query Language is used for time-series requests and the FactSet Screening Language allows extraction of data for a large universe of securities as of a single date. The selected data access method depends on the type of data a user wants to get from FactSet, and what they want to do with that data. FactSet Query Language (FQL): Time-Series Access

The first access method is oriented around time-series data fetches using the FactSet Query Language (FQL). FQL is a proprietary data retrieval language used to access historical FactSet data. Given an entity (i.e. a security or an index) and a data item (i.e. market closing price) or macroeconomic data (i.e. the last 5 years of industrial production for the BRIC countries) the entire history can be fetched using FQL. For more information on FQL, see Online Assistant page 1961 in the FactSet workstation. Some advantages of FQL include:

The ability to specify dates for any database using the same formats. With FQL, date formats are flexible. You can use a number of consistent date formats (defined by FQL) for all databases which makes using and combining data from different databases easier than ever.

The ability to iterate items, formulas, and functions at any frequency. With FQL, you can iterate items, formulas, and functions at any frequency. For example, you can request a series of weekly price to earnings ratios.

To request a time-series of data, a start date, end date and frequency needs to be specified. If a date is not specified, data is returned from the most recent time period. To request data for a time series, the start date is the first date of the requested time series of data. The end date is the last date of the time series. The dates can be designated as absolute dates or relative dates.

Screening Language: Cross- Sectional Access

Alternatively, the extraction of multiple items for a list of ids for 1 date, both for equity and fixed income securities, is done using the Screening Language. The FactSet Screening Language is a way to efficiently facilitate quick access to a data item as of single time period for a universe of securities. By default, the Screening Language does not allow iteration and therefore cannot be used to return a time series of data with a single request code. To request data as of a single historical date, an absolute or relative date must be specified.

Page 7: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

7 | Copyright © FactSet Research Systems Inc. All rights reserved

3.2 Date Format using FQL and Screening Codes

Absolute Dates

Absolute dates indicate a specific day, month-end, fiscal quarter-end, calendar quarter-end, fiscal year-end, or calendar year-end as depicted in the examples below:

Day: MM/DD/YYYY i.e. 7/11/1999 Note: DD/MM/YYYY is not a valid format.

Month-end: MM/YYYY i.e. 6/1999

Fiscal quarter-end: YY/FQ or YYYY/FQ i.e. 1999/1F, 2000/3F, 2001/2F

Calendar quarter-end: YY/CQ or YYYY/CQ i.e. 1999/1C, 00/3C, 2001/1C

Fiscal year-end: YY or YYYY i.e. 2000, 01, 1999

Relative Dates Relative dates represent a date relative to the most recently updated period. For example, 0 (zero) represents the most recently updated period and -1 represents the time period prior to the most recently updated. The zero date is determined by the default time period or the natural frequency of the data being requested. Zero (0) when used with monthly data indicates the most recent month end. Negative one (-1) when used with annual data indicates one year prior to the most recently updated year.

List of Relative Date Arguments:

D 0D is the most recent trading day, -1D is one trading day prior.

AW 0AW is the most recent trading day, -1AW is the one actual week (7 days) prior to the most recent trading day.

W 0W is the last day of the most recent trading week (usually Friday), -1W is the last trading day of the prior week.

AM 0AM is the most recent trading day, -1AM is the same day, one actual month ago.

M 0M is the last trading day of the most recent month, -1M is the last trading day of the prior month.

AQ 0AQ is the most recent trading day, -1AQ is the same day 3 months prior

Q 0Q is the last trading day of the company’s most recent fiscal quarter, -1Q is the last day of the prior fiscal quarter.

CQ 0CQ is the last trading day of the most recent calendar quarter (March, June, September, or December), -1CQ is the last trading day of the prior calendar quarter.

AY 0AY is the most recent trading day, -1AY is one actual year (365 days) prior

Y 0Y is the last trading day of the company’s most recent fiscal year, -1Y is the last trading day of the prior fiscal year.

CY 0CY is the last trading day of the most recent calendar year (the last trading day in December), -1CY is the last trading day of the prior calendar year.

Page 8: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

8 | Copyright © FactSet Research Systems Inc. All rights reserved

4. FactSet Functions to Extract Data FactSet has written a number ofreports, called factlets that retrieve FactSet data using the FQL or Screening languages. These factlets are application components which encapsulate business logic and data collection procedures. The data items that are requested, along with an id (identifier) and date, are stored in a structure. Entities (Security, Index, etc.) and the time dimensions are stored in arrays. The factlets are used to create URL strings. The string specifies several key parameters by providing name-value pairs. Depending on the format of the factlet, date items may be returned in a variety of formats. Pipe format is the most commonly used format. If a DataFrame successfully parses in the PIPE format, it stores the date as an integer value in YYYYMMDD format. If the date value is returned as an integer or a float, the value is returned in YYMMDD format. If the date value is returned in string format, it will return in ‘DD-MMM-YYYYY’ format such as ’12-Nov-2012’. The name-value pair “format=pipe” is added to the URL string by default if another format is not specified. The following examples highlight a number of the functions that allow for time series and point in time data extraction. For a comprehensive list of factlets that are available, refer to Online Assistant page 17337 in the FactSet workstation.

Page 9: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

9 | Copyright © FactSet Research Systems Inc. All rights reserved

4.1 ExtractDataSnapshot

The ExtractDataSnapshot function is used to efficiently extracting data for multiple ids for 1 date. This function is using FactSet Screening Language. The FactSet Screening Language is a way to efficiently extract data for a large universe of securities as of a single date. The data can also be retrieved using a backtest date to avoid having look-ahead bias in the analysis. The backtest functionality is available to clients who subscribe to one of FactSet’s quantitative applications in the workstation, such as Alpha Testing and Portfolio Simulation. Screening Date Format - Absolute Dates

Absolute dates indicate a specific day, month-end, fiscal quarter-end, calendar quarter-end, fiscal year-end, or calendar year-end as depicted in the examples below:

+ A day: MM/DD/YYYY (e.g. 7/11/1999)

Note: DD/MM/YYYY is not a valid date format

+ A month-end: MM/YYYY (e.g. 6/1999)

+ A fiscal quarter-end: YY/FQ or YYYY/FQ (e.g. 1999/1F, 2000/3F, 2001/2F)

+ A calendar quarter-end: YY/CQ or YYYY/CQ (e.g. 1999/1C, 00/3C, 2001/1C)

+ A fiscal year-end: YY or YYYY (e.g. 2000, 01, 1999)

Screening Date Format - Relative Dates

Relative dates represent a date relative to the most recently updated period. For example, 0 (zero) represents the most recently updated period; -1 represents the time period prior to the most recently updated. The zero date is determined by the default time period or the natural frequency of the data being requested. Zero (0) when used with monthly data indicates the most recent month end. Negative one (-1) when used with annual data indicates one fiscal year prior to the most recently updated fiscal year. Required Arguments:

Argument Variable name for the data returned

ids CellString array with a list of one or multiple security identifiers

items CellString array with a list of one or more FactSet data items in the Screening language

backtestDate The backtest date as of which the data is retrieved. If no date is specified, a backtest date will not be set. The date can be entered using a relative date or absolute date.

Optional arguments:

Argument Variable name for the data returned

currency The currency in which the data is to be returned, using a string with the three character ISO code (e.g. ‘USD’ or ‘EUR’).

cal Calendar setting, arguments include:

Page 10: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

10 | Copyright © FactSet Research Systems Inc. All rights reserved

FIVEDAY: Displays Monday through Friday, regardless of whether there were trading holidays. FIVEDAYEOM: Displays Monday through Friday including a weekend date if it falls on the last day of the month. Where the month-end does not fall on a weekend, the calendar will act just as the standard five-day calendar. SEVENDAY: Displays Monday through Sunday. AAM: For Exchange code uses the calendar of a specific exchange, represented by the exchange code. If there is no calendar available for a specific exchange, the calendar will default to FIVEDAY.

universe Screening expression to limit the universe

ison Ison-codes can be used to limit the universe ISON_MSCI_WORLD(0,1) is written as ‘ison’,’msci_world’,’isonParams’,’0,1’

isonParams The arguments within brackets in the ison-code

OFDB Universe is the constituents of an OFDB file, default directory is Client, if the OFDB is stored in another location the path must be included

OFDBDate Specific date for the constituents of the OFDB

universeGroup Specifies what mode of screening to use. The default screening mode is Equity. For Fund screening and Debt screening the universeGroup argument has to be used with either FUND or DEBT respectively.

decimals Positionally set according to the items in the selection, ie ‘decimals’,’,,3,4,3’

Page 11: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

11 | Copyright © FactSet Research Systems Inc. All rights reserved

4.2 ExtractFormulaHistory

The ExtractFormulaHistory function is used for extracting one or more items for one security, an index or a list of securities over time. The function is using the FactSet Query Language (FQL), which is a proprietary data retrieval language used to access a time-series of FactSet data. FQL Date Format - Absolute Dates

Absolute dates indicate a specific day, month-end, fiscal quarter-end, calendar quarter-end, fiscal year-end, or calendar year-end as depicted in the examples below:

+ A day: MM/DD/YYYY (e.g. 7/11/1999)

Note: DD/MM/YYYY is not a valid date format

+ A month-end: MM/YYYY (e.g. 6/1999)

+ A fiscal quarter-end: YY/FQ or YYYY/FQ (e.g. 1999/1F, 2000/3F, 2001/2F)

+ A calendar quarter-end: YY/CQ or YYYY/CQ (e.g. 1999/1C, 00/3C, 2001/1C)

+ A fiscal year-end: YY or YYYY (e.g. 2000, 01, 1999)

FQL Date Format - Relative Dates

Relative dates represent a date relative to the most recently updated period. For example, 0 (zero) represents the most recently updated period; -1 represents the time period prior to the most recently updated. The zero date is determined by the default time period or the natural frequency of the data being requested. Zero (0) when used with monthly data indicates the most recent month end. Negative one (-1) when used with annual data indicates one fiscal year prior to the most recently updated fiscal year.

Required Arguments:

Argument Variable name for the data returned

ids CellString array with a list of one or multiple security identifiers

items CellString array with a list of one or more FactSet data items in the Screening language

dates Date range and frequency entered using actual or relative dates. A valid FactSet frequency (e.g. ‘d’dates Alternate method of entering dates entered in start:end:freq format. (e.g. ‘20101215:20110115:d’)

Optional Arguments:

Argument Variable name for the data returned

currency The currency in which the data is to be returned, using a string with the three character ISO code (e.g. ‘USD’ or ‘EUR’).

cal Calendar setting, arguments include: LOCAL: Uses the local trading calendar for each security. Local exchange holidays will be skipped FIVEDAY: Displays Monday through Friday, regardless of whether there were trading holidays.

Page 12: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

12 | Copyright © FactSet Research Systems Inc. All rights reserved

FIVEDAYEOM: Displays Monday through Friday including a weekend date if it falls on the last day of the month. Where the month-end does not fall on a weekend, the calendar will act just as the standard five-day calendar. SEVENDAY: Displays Monday through Sunday. AAM: For Exchange code uses the calendar of a specific exchange, represented by the exchange code. If there is no calendar available for a specific exchange, the calendar will default to FIVEDAY.

universe Screening expression to limit the universe

ison Ison-codes can be used to limit the universe ISON_MSCI_WORLD(0,1) is written as ‘ison’,’msci_world’,’isonParams’,’0,1’

isonParams The arguments within brackets in the ison-code

OFDB Universe is the constituents of an OFDB file, default directory is Client, if the OFDB is stored in another location the path must be included

OFDBDate Specific date for the constituents of the OFDB

decimals Positionally set according to the items in the selection, ie ‘decimals’,’,,3,4,3’

dataType The optional argument allows users to define a data type for a data item column that is NA for the entire column.

feelback Setting to control data is not falling forward and display NAs instead of carrying forward values, for those databases that do so (using ‘feelback’,’n’).

refresh This will refresh the connection to FactSet servers to capture the latest database updates. This only needs to be used when a refresh is necessary. It is not recommended to leave this argument in every request made. To use this, the refresh argument should be paired with the value “Y”.

Page 13: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

13 | Copyright © FactSet Research Systems Inc. All rights reserved

4.3 CorporateActionsDividends

The CorporateActionsDividends function is used for extracting stock dividend information. Corporate Actions - FactSet Stock Dividends Methodology The retrieved dividend information using the CorporateActionsDividends function includes special dividends, which are defined as nonrecurring distribution of assets by a company to its shareholders in the form of cash. Since it is unlikely to be repeated, it is often used in conjunction with a spinoff. It also includes stock dividends, which are represented as forward stock splits, not regular cash distributions. Only actions affecting the pro-rata adjustment will be reflected. Because employee bonus shares are not included in the pro-rata element announced by the company, the policy is to not include adjustment for employee bonus shares as a part of the stock dividend amount. Required Arguments:

Argument Variable name for the data returned

ids Array with a list of one or more security identifiers.

start date Start date from which dividend data should be retrieved. Method of entering date is in MM/DD/YYYY format.

end date End date for period during which dividend data should be retrieved. The end date field is for entering a future date for which the dividend data is accessed. It can be entered as a future date in MM/DD/YYYY format or as a number, e.g. 50 (50 days from now) Note: When entering number of days, the maximum value that can be entered is 50.

Optional Arguments:

Argument Variable name for the data returned

splitadj Allows for split adjustment to be specified. This argument must be entered as: 'splitadj','9' to retrieve unadjusted dividends.

ngflag Specify 'ngflag ','y ' to return a flag that indicate whether the dividend rate returned is a net or gross. The output would be a G or N flag.

symbol Argument allows for the CUSIP to be retrieved as the last column (by default SecId is the first field that is retrieved when running a CorporateActionsDividends function). This argument must be entered as 'symbol', 'y'.

curr The optional currency argument to specify the currency in which the stock dividend data is returned.

universe Screening expression to limit the universe

ison Ison-codes can be used to limit the universe ISON_MSCI_WORLD(0,1) is written as ‘ison’,’msci_world’,’isonParams’,’0,1’

isonParams The arguments within brackets in the ison-code

secId Currently, the stat packages display the ticker by default in the first column but will now display whatever values are entered in the ids= argument. The secId=Y parameter will now be used to display whatever is entered in the ids= argument.

OFDB Universe is the constituents of an OFDB file, default directory is Client, if the OFDB is stored in another location the path must be included

OFDBDate Specific date for the constituents of the OFDB

Page 14: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

14 | Copyright © FactSet Research Systems Inc. All rights reserved

4.4 CorporateActionsSplits

The CorporateActionsSplits function is used for extracting stock split information.

Corporate Actions - FactSet Stock Split Methodology

The retrieved stock split information using the CorporateActionsSplits function is by ex-date. The timing of adjustments to historical prices is based on regional settings. For more comprehensive details regarding split rollover times by region, refer to Online Assistant page 14178. Required Arguments:

Argument Variable name for the data returned

ids Array with a list of one or more security identifiers.

start date Start date from which split data should be retrieved. Method of entering date is in MM/DD/YYYY format.

end date End date for period during which dividend data should be retrieved. The end date field is for entering a future date for which the split data is accessed. It can be entered as a future date in MM/DD/YYYY format or as a number, e.g. 50, which reflects 50 days from today which is set as the end date. Note: When entering number of days, the maximum value that can be entered is 50.

Optional Arguments:

Argument Variable name for the data returned

symbol Argument allows for the CUSIP to be retrieved as the last column (by default SecId is the first field that is retrieved when running a CorporateActionsSplits function). This argument must be entered as 'symbol', 'y'.

universe Screening expression to limit the universe

ison Ison-codes can be used to limit the universe ISON_MSCI_WORLD(0,1) is written as ‘ison’,’msci_world’,’isonParams’,’0,1’

isonParams The arguments within brackets in the ison-code

secId Currently, the stat packages display the ticker by default in the first column but will now display whatever values are entered in the ids= argument. The secId=Y parameter will now be used to display whatever is entered in the ids= argument.

OFDB Universe is the constituents of an OFDB file, default directory is Client, if the OFDB is stored in another location the path must be included

OFDBDate Specific date for the constituents of the OFDB

Page 15: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

15 | Copyright © FactSet Research Systems Inc. All rights reserved

4.5 ExtractBenchmarkDetail

The ExtractBenchmarkDetail function is used for extracting multiple data items for a benchmark. Benchmark data can be retrieved using other functions, such as with F.ExtractFormulaHistory, but the ExtractBenchmarkDetail function allows a user to retrieve a more comprehensive overview of the index constituent data, without additional codes or calculations. In the default output, identifiers are sorted in descending order by weight in the index and each row shows the index id, company id, date, ticker, and weight. Additional items are displayed at the end.

Benchmark Data

FactSet clients have access to Equity and Fixed Income Benchmarks, which include Dow Jones, FTSE, MSCI, Russell, S&P, Barclays, and BofA Merrill Lynch, among a number of others. Access to benchmarks is based on client subscription to various benchmark providers. In addition, FactSet Market Aggregates (FMA), combines data from FactSet Fundamentals, Estimates and Prices to calculate ratios and per share values on an aggregate level. FMA comprises over 3,500 benchmarks including S&P, Russell, MSCI Global, FTSE, STOXX, TOPIX, and many local exchanges. Benchmarks also include specific sector and industry level indices. This number is constantly expanding based on client demand.

To request benchmark data as of a single date or as a time-series, dates can be designated as absolute dates or relative dates. Date Format - Absolute Dates

Absolute dates indicate a specific day, month-end, fiscal quarter-end, calendar quarter-end, fiscal year-end, or calendar year-end as depicted in the examples below:

+ A day: MM/DD/YYYY (e.g. 7/11/1999)

Note: DD/MM/YYYY is not a valid date format

+ A month-end: MM/YYYY (e.g. 6/1999)

+ A fiscal quarter-end: YY/FQ or YYYY/FQ (e.g. 1999/1F, 2000/3F, 2001/2F)

+ A calendar quarter-end: YY/CQ or YYYY/CQ (e.g. 1999/1C, 00/3C, 2001/1C)

+ A fiscal year-end: YY or YYYY (e.g. 2000, 01, 1999)

Date Format - Relative Dates

Relative dates represent a date relative to the most recently updated period. For example, 0 (zero) represents the most recently updated period; -1 represents the time period prior to the most recently updated. The zero date is determined by the default time period or the natural frequency of the data being requested. Zero (0) when used with monthly data indicates the most recent month end. Negative one (-1) when used with annual data indicates one fiscal year prior to the most recently updated fiscal year.

Page 16: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

16 | Copyright © FactSet Research Systems Inc. All rights reserved

Note: Relative dates and frequencies in ExtractBenchmarkDetail differ from the standard FactSet frequencies.Please see the table below: Argument Description

D 0D is the most recent trading day, -1D is one trading day prior.

WE 0WE is the most recent trading week end, -1AW is the one actual week (7 days) prior to the most recent.

W 0W is the last day of the most recent trading week (usually Friday), -1W is the last trading day of the prior week.

AM 0AM is the most recent trading day, -1AM is the same day, one actual month prior.

M 0M is the last trading day of the most recent month, -1M is the last trading day of the prior month.

AQ 0AQ is the most recent trading day, -1AQ is the same day 3 months prior

Q 0Q is the last trading day of the company’s most recent fiscal quarter, -1Q is the last day of the prior fiscal quarter.

CQ 0CQ is the last trading day of the most recent calendar quarter (March, June, September, or December), -1CQ is the last trading day of the prior calendar quarter.

AY 0AY is the most recent trading day, -1AY is one actual year (365 days) prior

Y 0Y is the last trading day of the company’s most recent fiscal year, -1Y is the last trading day of the prior fiscal year.

CY 0CY is the last trading day of the most recent calendar year (the last trading day in December), -1CY is the last trading day of the prior calendar year.

Required Arguments:

Argument Variable name for the data returned

ids Array with a list of one or more benchmark identifiers.

dates One or more dates; Dates should be entered in start:end:freq format. (e.g. '20101215:20110115:d')

items One or more items in Screening syntax, if FQL syntax is required it may be used with an underscore needs to be appended at the beginning of the code, i.e _P_PRICE

Page 17: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

17 | Copyright © FactSet Research Systems Inc. All rights reserved

Optional Arguments:

Argument Variable name for the data returned

cutoff Number of constituents to display; default displays all instances

matchDate

Argument that turns off the default behavior where dates are repeated when feeling back over holidays by setting the matchDate parameter to ON. It is always used with a frequency argument set to B (indicating business days).

useBTD

To control the alignment of historical stitching following a merger the useBTD parameter is used. When FactSet and a benchmark vendor make different choices in picking a surviving entity symbols can be returned as a dummy ticker to be used as a placeholder. To return the symbol as of the back test date 'useBTD','ON' should be used.

Page 18: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

18 | Copyright © FactSet Research Systems Inc. All rights reserved

4.6 ExtractOFDBItem

The ExtractOFDBItem function provides access to a list of securities and multiple data items for a range of dates uploaded into a single Open FactSet Database (OFDB).

Open FactSet Database (OFDB)

OFDB is a high-performance multi-dimensional database system used to securely store proprietary numeric and textual data on FactSet. It is ideal for users who manage large portfolios or maintain extensive historical proprietary databases. OFDB optimizes large, multi-dimensional databases, giving FactSet users highly flexible, fast access to large volumes of complex data that can be used in many different applications. OFDB is based upon Online Analytical Processing technology, which is the basis for multi-dimensional databases. Date Format - Absolute Dates

Absolute dates indicate a specific day, month-end, fiscal quarter-end, calendar quarter-end, fiscal year-end, or calendar year-end as depicted in the examples below:

+ A day: MM/DD/YYYY (e.g. 7/11/1999)

Note: DD/MM/YYYY is not a valid date format

+ A month-end: MM/YYYY (e.g. 6/1999)

+ A fiscal quarter-end: YY/FQ or YYYY/FQ (e.g. 1999/1F, 2000/3F, 2001/2F)

+ A calendar quarter-end: YY/CQ or YYYY/CQ (e.g. 1999/1C, 00/3C, 2001/1C)

+ A fiscal year-end: YY or YYYY (e.g. 2000, 01, 1999)

Date Format - Relative Dates

Relative dates represent a date relative to the most recently updated period. For example, 0 (zero) represents the most recently updated period; -1 represents the time period prior to the most recently updated. The zero date is determined by the default time period or the natural frequency of the data being requested. Zero (0) when used with monthly data indicates the most recent month end. Negative one (-1) when used with annual data indicates one fiscal year prior to the most recently updated fiscal year. Required Arguments:

Argument Variable name for the data returned

OFDB OFDB file from which the items should be used. The default directory is Client if other locations are used the path must be specified i.e personal:MyOFDB

ids Array with a list of securities to extract the data for. If left blank data for all securities in the OFDB will be extracted.

dates One or more dates; Dates should be entered in start:end:freq format. (e.g. '20101215:20110115:d')

items One or more items in Screening syntax, if FQL syntax is required it may be used with an underscore needs to be appended at the beginning of the code, i.e _P_PRICE

Page 19: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

19 | Copyright © FactSet Research Systems Inc. All rights reserved

Optional Arguments:

Argument Variable name for the data returned

datesOnly Displays only the dates that are in an OFDB with the parameter datesOnly’,’Y’

universe Screening expression to limit the universe

feelback

If the feelback argument is not used, the returned data series will "feel back" over NAs to find the last actual data point and carry this data forward over the NAs. For the data not to carry forward, use 'feelback', 'N'. The data is then returned as it is in the database.

fqlflag

Optional argument that is necessary because by default, the ExtractOFDBItem factlet goes through screening, but when there are _S in the Identifier or spaces between the identifiers, it is necessary to extract the data through FQL to get the values. Need to specify 'fqlflag','y'.

cal Calendar setting, arguments include: FIVEDAY: Displays Monday through Friday, regardless of whether there were trading holidays. FIVEDAYEOM: Displays Monday through Friday including a weekend date if it falls on the last day of the month. Where the month-end does not fall on a weekend, the calendar will act just as the standard five-day calendar. SEVENDAY: Displays Monday through Sunday. AAM: For Exchange code uses the calendar of a specific exchange, represented by the exchange code. If there is no calendar available for a specific exchange, the calendar will default to FIVEDAY.

unsplit Displays prices with split adjustments in unsplit form.

currency The currency in which the data is to be returned, using a string with the three character ISO code (e.g. ‘USD’ or ‘EUR’). This will only work when “Currency Mapping” is used in the OFDB.

Page 20: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

20 | Copyright © FactSet Research Systems Inc. All rights reserved

4.7 ExtractOFDBUniverse

The ExtractOFDBUniverse function provides access to a list of securities belonging to a single Open FactSet Database (OFDB) file as of a single date.

Open FactSet Database (OFDB)

OFDB is a high-performance multi-dimensional database system used to securely store proprietary numeric and textual data on FactSet. It is ideal for users who manage large portfolios or maintain extensive historical proprietary databases. OFDB optimizes large, multi-dimensional databases, giving FactSet users highly flexible, fast access to large volumes of complex data that can be used in many different applications. OFDB is based upon Online Analytical Processing technology, which is the basis for multi-dimensional databases.

Arguments:

Arguments Variable name for the data returned

OFDB OFDB file from which the items should be used. The default directory is Client if other locations are used the path must be specified i.e personal:MyOFDB

date The date the OFDB constituents should be extracted for, only one date can be specified.

Page 21: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

21 | Copyright © FactSet Research Systems Inc. All rights reserved

4.8 ExtractScreenUniverse

The ExtractScreenUniverse function is used for extracting a list of CUSIPS stored in a single FactSet screen. In the FactSet workstation, a user can screen for equity securities based on specified criteria and store a list of companies using FactSet Universal Screening for equity or debt securities.

FactSet Universal Screening

Universal Screening in the FactSet workstation allows users to test and confirm investment strategies across all databases simultaneously. It is possible to screen on a predefined investable universe or on tens of thousands of companies worldwide using data items available on FactSet as the screening criteria. For a more comprehensive overview of Universal Screening refer to Online Assistant page 11721. Arguments:

Arguments Variable name for the data returned

screen Universal Screen for which the universe should be extracted. The default location is Client: for any other location the path must be specified.

name Optional parameter to display the name of the securities extracted. Specified as

'name', 'Y'. All Pulls all of the columns from a saved screen.

Backtestdate Ability to set a backtest date dynamically within the stat packages. This requires an additional subscription to FactSet’s backtesting utilities.

removeColumns Ability to hide specific columns from being displayed in the output. Requires the use of the “All” parameter as well.

includeColumns Ability to select specific columns to display in the output. Requires the use of the “All” parameter as well.

Page 22: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

22 | Copyright © FactSet Research Systems Inc. All rights reserved

4.9 ExtractOptionsSnapshot

The ExtractOptionsSnapshot function is used for extracting options data for one or more conditions from the FactSet-Options Derived Values database. FactSet-Options Derived Values The FactSet-Options derived Values provides access to expired options data such as historical pricing, strike, expiration date, call or put, contract size, option type (equity, index), option style (American or European), FactSet calculated Greeks (Delta, Theta, Vega, Rho, Gamma), and volatilities (Implied Volatility, At-the-money Volatility). The codes that are available for use in statistical packages provide access to option chain symbols for both actively traded and expired options. Date Format - Absolute Dates

Absolute dates indicate a specific day, month-end, fiscal quarter-end, calendar quarter-end, fiscal year-end, or calendar year-end as depicted in the examples below:

+ A day: MM/DD/YYYY (e.g. 7/11/1999)

Note: DD/MM/YYYY is not a valid date format

+ A month-end: MM/YYYY (e.g. 6/1999)

+ A fiscal quarter-end: YY/FQ or YYYY/FQ (e.g. 1999/1F, 2000/3F, 2001/2F)

+ A calendar quarter-end: YY/CQ or YYYY/CQ (e.g. 1999/1C, 00/3C, 2001/1C)

+ A fiscal year-end: YY or YYYY (e.g. 2000, 01, 1999)

Date Format - Relative Dates

Relative dates represent a date relative to the most recently updated period. For example, 0 (zero) represents the most recently updated period; -1 represents the time period prior to the most recently updated. The zero date is determined by the default time period or the natural frequency of the data being requested. Zero (0) when used with monthly data indicates the most recent month end. Negative one (-1) when used with annual data indicates one fiscal year prior to the most recently updated fiscal year.

Arguments:

Arguments Variable name for the data returned

items One or more items in Screening syntax, if FQL syntax is required it may be used with an underscore needs to be appended at the beginning of the code, i.e _P_PRICE

date One or more dates; Dates should be entered in start:end:freq format. (e.g. '20101215:20110115:d')

cond1/2/3 Screening condition with "=" or ">" or "<"; P_OPT_UNDERLYING_SECURITY=(default);P_OPT_ALL_VOLUME>

compval1/2/3 Value that meets cond1/2/3

Page 23: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

23 | Copyright © FactSet Research Systems Inc. All rights reserved

4.10 ExtractSPARData

The ExtractSPARData function is used for displaying SPAR data for specified funds from databases that includes S&P, Lipper, Morningstar, Russell, eVestment, Nelson, Rogerscasey, and PSN. A subscription to SPAR in FactSet is necessary to be able to extract this data in the Statistical Package.

SPAR (Style, Performance, and Risk)

SPAR, FactSet’s returns-based portfolio analysis application, provides reports and charts that can be used to determine the style, performance, risk, and peer group analysis of selected portfolios, benchmarks, and competitor funds. SPAR incorporates the industry-standard methodology developed by Nobel Laureate William Sharpe for determining the style of a portfolio. Note: For more information on William Sharpe's methodology, refer to www.stanford.edu/~wfsharpe/art/sa/sa.htm. SPAR is similar to “Consumer Reports” magazine that ranks automobiles based on a list of criteria such as safety, price, and gas mileage. SPAR does a similar role for money management firms that want to sell their funds to their clients. The only difference is the criteria our clients use is annualized return, standard deviation for risk, and peer rankings relative to the competition. There are literally thousands of money management firms that individuals or institutions can select to manage their money. Typically, you want to select a manager that has consistently beaten the benchmark while managing the proper amount of risk. The SPAR application thus allows users to analyze their portfolio’s returns against 20,000 equity and fixed income benchmarks. Also, you can look at over 70 Modern Portfolio Theory risk statistics such as beta, standard deviation, r-squared, alpha, and tracking error. SPAR allows you to determine the peer rankings of your portfolio and the benchmark against the various mutual fund, institutional, and consultant databases. The specific peer universe data available is S&P, Lipper, Morningstar, Russell, eVestment, Nelson, Rogerscasey, and PSN.

Arguments:

Arguments variable name for the data returned

ids CellString array array with a list of one or more benchmarks or funds.

items CellString array with a list of one or more FactSet data items to display for the selected benchmarks or funds

date One or more dates; Dates should be entered in start:end:freq format. (e.g. '20101215:20110115:d')

OFDB OFDB file used to limit the universe

cal Calendar setting, arguments include: FIVEDAY: Displays Monday through Friday, regardless of whether there were trading holidays. SEVENDAY: Displays Monday through Sunday.

Page 24: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

24 | Copyright © FactSet Research Systems Inc. All rights reserved

4.11 ExtractVectorFormula

The ExtractVectorFormula function is used for extracting FactSet data that is stored in a vector data format, where the data array does not have a predefined size and is organized by the vector position (compared to much of FactSet data that is retrieved through FactSet OnDemand that is indexed by entity, data item, and date, such as 5 years of sales history for a security). A vector can be thought of as a list that has one dimension, a row of data. A vector position allows for a particular element of the array to be accessed. ExtractVectorFormula handles non-sequential data with support for matrix or vector output. The nature of the data determines if the output is a matrix or vector, it is not specified in the function to choose which format the data is returned in. This type of data includes corresponding geographic or product segment breakdowns for a company or detailed broker snapshot or history estimates/analyst information. For example, the FactSet Fundamentals business or geographic segment data for a specified data item would be in a vector output given that IBM has 5 business segments whereas GE has 8 segments. Alternatively, if requesting FactSet Mergers data, such as the current identifier of selected participant in deals. The default output of this FactSet data is in a matrix format, because if there are multiple companies playing for the sale role on the transaction, an array of data is returned. Therefore when extracting this data using the ExtractVectorFormula function, it will automatically retrieve it in a matrix format.

Required Arguments:

Arguments Variable name for the data returned

ids CellString array with a list of one or multiple security identifiers

items CellString array with a list of one or more FactSet data items in the FQL language

Optional Arguments:

Arguments Variable name for the data returned

universe Screening expression to limit the universe

ison Ison-codes can be used to limit the universe ISON_MSCI_WORLD(0,1) is written as ‘ison’,’msci_world’,’isonParams’,’0,1’

isonParams The arguments within brackets in the ison-code

OFDB Universe is the constituents of an OFDB file, default directory is Client, if the OFDB is stored in another location the path must be included

OFDBDate Specific date for the constituents of the OFDB

combinedOutputTypes Required argument when matrix and vector output formats are requested in the same call.

Page 25: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

25 | Copyright © FactSet Research Systems Inc. All rights reserved

4.12 ExtractEconData

The ExtractEconData function provides access to a broad array of macroeconomic content, interest rates and yields, country indices and various exchange rate measures from both the FactSet Economics and the Standardized Economic databases.

FactSet Economics Database

FactSet Economics is a database of primary-sourced information on the global economy. The database includes specialty sources such as Eurostat, ICIS, IMF, LME, NYMEX, and OECD. For a comprehensive list of economic databases available on FactSet please refer to http://www.factset.com/data/data/economic. Each data series from the database has a mnemonic identifying that requested series. For example, GDP published by the National Bureau of Statistics of China Seasonally Adjusted, will have an id or mnemonic assigned to it that’s different from a mnemonic assigned for China’s GDP value that is not seasonally adjusted. To find the mnemonic for a series, use the Series Lookup. For a demonstration covering how to use the Series Lookup please refer to FactSet Online Assistant page 15694. Standardized Economic Data

FactSet's Standardized Economic database includes a wide variety of commonly-used economic items that are consistent across countries, letting you integrate country-level and company-level economic data into FactSet reports and screens. Different reporting standards across countries can present challenges to working with economic data. For example, United States Real GDP may have a base year of 2005, whereas Canada's Real GDP may have a base year of 2002. Items may also be reported in different currencies, making direct country-to-country comparisons difficult. FactSet's Standardized Economic Data solves these challenges by creating one set of commonly-used economic items that are standardized and comparable across 95 countries plus five country aggregates. The database's rebase year is 2005. Please refer to Online Assistant page 2022 for further information. Required Arguments:

Arguments Variable name for the data returned

ids CellString array with a list of the country identifiers when used for the standardized economic database only, if other databases the ids argument should be left blank.

items CellString array with a list of one or more FactSet data items from the Economic database

Optional Arguments:

Arguments Variable name for the data returned

date One or more dates; Dates should be entered in start:end:freq format. (e.g. '20101215:20110115:d')

NFB NFB is the optional "no feel back" argument in FQL codes. If you do not use the NFB

Page 26: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

26 | Copyright © FactSet Research Systems Inc. All rights reserved

argument, the returned data series will contain NAs where the data is not available (default is NFB=1). If you want the data to "feel back" over NAs to find the last actual data point and carry this data forward, set the NFB argument to either 0 or 2.

TSName Used to display the time series value of the item in the label of the column where the data is being displayed. Ie SPEC_ID_DATA('WTI-FDS:FG_PRICE',-121,-1,M) is displayed in the column label as WTI-FDS. Specified as 'TSName','Y'

decimals Positionally set according to the items in the selection, ie ‘decimals’,’,,3,4,3’

Page 27: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

27 | Copyright © FactSet Research Systems Inc. All rights reserved

4.13 ExtractAlphaTestingSnapshot

The ExtractAlphaTestingSnapshot function provides access to data from AlphaTesting model results. Alpha Testing is a tool available in the FactSet workstation used to assess the relationship between one or more variables and subsequent returns over time. A subscription to Alpha Testing in FactSet is necessary to extract this data in the statistical package.

Alpha Testing

The Alpha Testing application in FactSet is used to build models specifying the factors to test, the historical context, and customizing fractile assignments. After building and running a model, the data can be viewed in the FactSet workstation in overview charts, an overall report or in detailed reports for any specific fractile or time period. For a more comprehensive overview of Alpha Testing refer to FactSet Online Assistant page 13550. Arguments:

Arguments Variable name for the data returned

useStat Blank or N. Leave a blank in quotes (‘’) to extract the main report data and extracted with the code AT3_RESULT_STAT. Specify (N) to extract the constituent data for the report, with each security/period in each row and each data item result in each column. This includes the raw, universe return and fractile data to display the raw data available for the companies in the specified universe, compared to the data available if outlier limitations are set within the model, along with the fractile values. This company level data is extracted with the code AT3_RESULT_DATA and goes into the aggregate calculation extracted with AT3_RESULT_STAT.

headers Y or N. Specify if headers are required. If “Y” is specified, this will return ONLY headers in the result. No other data will be retrieved.

model String specifying a AT3 model. Format as client:model name.

report Name of the report to be extracted, i.e. CONSITUENTS, FRACTILES or PERIODS etc.

items CellString specifying items (headers) or column numbers, ALL will return all items in report.

security A single security can be specified.

date A single date can be specified.

resultType M or S. Main or Summary data respectively. Defaults to M.

sortOrder A or D. Displays data in either Ascending or descending order.

sortCol Column from which to sort the data

reportSettingName String specifying name of the report setting or template.

Page 28: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

28 | Copyright © FactSet Research Systems Inc. All rights reserved

4.14 TickHistory

The Tick History function is designed to provide a dynamic way to access real-time trading details for a specific security. This data comes from FactSet’s Time and Sales database, which provides history of quotes and trades for a trailing 60 days or up to 1 year with an additional subscription. Note: Requires an additional subscription and FactSet plugin 3.0+ for Developer’s Toolkit

Available Data Items

Field Description

BID_1 The last bid price or last bid price in an interval

BID_VOL_1 The volume of the last bid or last bid in an interval

BID_EXCH_1 The exchange of the last bid or last bid in an interval

ASK_1 The last ask price or last ask price in an interval

ASK_VOL_1 The volume of the last ask or last ask in an interval

ASK_EXCH_1 The exchange of the last ask or last ask in an interval

LAST_1 The last trade price or last trade price in an interval

LAST_DATE_1 The date of the last trade or last trade in an interval

LAST_TIME_1 The time of the last trade or last trade in an interval

LAST_VOL_1 The volume of the last trade or last trade in an interval

LAST_EXCH_1 The exchange of the last trade or last trade in an interval

CUM_VOL The daily cumulative volume or the cumulative volume for trades inside an interval

VWAP The volume weighted average price for the trades inside an interval

OPEN_1 The first trade of an interval

HIGH_1 The highest trade price in an interval

LOW_1 The lowest trade price in an interval

TRADE_CONDITION Trade condition of the last trade or last trade price in an interval

GMT_OFFSET GMT Offset in Minutes

PRICE_CURRENCY Currency of Quotes and Prices

Page 29: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

29 | Copyright © FactSet Research Systems Inc. All rights reserved

Intervals and Limitations

Limitations and Notes

- If the number of days requested exceeds the “Max Days Requested” listed above, an error

will be returned. - A maximum of 100 TickHistory requests may be made in any one-minute period - If more than 2,000,000 rows of data are requested in any one-minute period, the next

request will be delayed until the next minute. - An additional subscription is required to access the “Extended Subscription”. Please contact

your FactSet Representative to request access. - Only one ticker may be specified in each request

Interval Description Max. Trading Days Requested

0 Every tick 1

1S 1 Second 1

5S 5 Seconds 1

10S 10 Seconds 1

15S 15 Seconds 1

30S 30 Seconds 15

1M 1 Minute 30

2M 2 Minutes 60

5M 5 Minutes 60

10M 10 Minutes 60

15M 15 Minutes 60

30M 30 Minutes 60

1H 1 Hour 60

Page 30: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

30 | Copyright © FactSet Research Systems Inc. All rights reserved

4.15 LSD_Ownership

The FactSet Ownership database collects global equity ownership data for institutions, mutual fund portfolios, and insiders/stake holders. Detailed ownership data can be extracted by company or by holder (institution, mutual fund, and insider/stake). The LSD_Ownership function is used in for extracting one or more data items from the FactSet Ownership database for one or multiple securities or holders.

FactSet Ownership Database

The FactSet Ownership database provides detailed share ownership data including shares held, position change, market value adjusted for daily pricing and corporate actions, percent of both portfolio and shares outstanding, source, metro region, state, style, and turnover. For a more comprehensive overview of the FactSet Ownership database and data collection methodology, refer to Online Assistant page 15915. For details on the Request Code syntax for ownership code see Online Assistant page 11728.

Required Arguments:

Arguments Variable name for the data returned

ids CellString array with one or more identifiers for securities or holders.

items CellString array with a list of one or more FactSet data items from the Lionshares Database

Optional Arguments:

Arguments Variable name for the data returned

combinedOutputTypes Required argument when matrix and vector output formats are requested in the same call.

Page 31: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

31 | Copyright © FactSet Research Systems Inc. All rights reserved

4.16 UploadToOFDB

The UploadToOFDB functionality allows clients to upload data into an OFDB file stored in Data Central in the FactSet workstation. OFDB, which stands for Open FactSet Database, is a high-performance multi-dimensional database system used to securely store proprietary numeric and textual data on FactSet. OFDB is ideal for users who manage large portfolios or maintain extensive historical proprietary databases. OFDB optimizes large, multi-dimensional databases, giving FactSet users highly flexible, fast access to large volumes of complex data that can be used in many different applications.

Note: The optimal use of the UploadToOFDB functionality from Developers Toolkit is for ad-hoc and smaller scale data uploads and would not replace a client’s needs for FTP processes or production services, for larger scale or holdings uploads into FactSet.

Requirements for UploadToOFDB in Developers Toolkit

The following are the necessary requirements to upload data into an OFDB:

+ Data set must have at least ID, Date and Items field;

+ Fields uploaded can be iterated of any frequency or non-iterated;

+ Date types can be High Precision, Integer, or Text;

+ Dates need to be uploaded as integers in YYYYMMDD format.

+ Data Central subscription in the FactSet workstation is necessary;

+ Basic data storage access available to all clients with a premium FactSet workstation in Data Central is 1GB of storage space. Additional data storage is available and should be discussed with a FactSet sales representative.

+ If attempting to upload data to a full OFDB file and thus exceeding data storage space access, there will be an error message, "Client Data Space is Full", after running an upload from Developers Toolkit.

+ FactSet does not need to be launched when uploading data into an OFDB.

Creating a New OFDB

The following details are regarding the behavior of an OFDB file that is created through UploadToOFDB:

+ If the OFDB does not already exist, it will be created.

+ OFDBs created by UploadToOFDB have all fields iterated with Daily Frequency and data type High Precision for numbers and Text(32) for strings.

+ OFDB schemas define the database. If another schema is required for the OFDB file, it should first be created in Data Central. For more details regarding creating or editing schemas refer to Online Assistant page 11502.

+ Once an OFDB is created, no changes to the schema can be made through the UploadToOFDB functionality. A new OFDB would need to be created to make the necessary changes.

Page 32: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

32 | Copyright © FactSet Research Systems Inc. All rights reserved

Modifying an Existing OFDB

The following details are regarding modifying an OFDB file through UploadToOFDB, when adding additional dates or values to that file:

+ Data for an additional date can be appended for existing securities in an OFDB file.

+ Data for additional securities can be appended to an OFDB file for the existing dates in the file or for a new date range.

+ The headers of the data uploaded must match the existing column names.

+ New Data items cannot be appended to an existing OFDB through the UploadtoOFDB functionality.

Arguments:

OFDB The name of the OFDB file to which the data is getting uploaded (default directory is Personal, for other locations the path must be specified).

data The Data structure that is uploaded to the OFDB.

Page 33: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

33 | Copyright © FactSet Research Systems Inc. All rights reserved

4.17 RealTime

The realtime function allows users to stream realtime exchange data. Multiple securities can be streamed at once and the streaming data can be referenced through the variables that are created. The FactSet Workstation must be running for this function to work and the FactSet Datafeed Toolkit must be installed. Note: Requires an additional subscription and FactSet plugin 3.1+ for Developer’s Toolkit There is no streaming interface and data is returned when the request is run. Data will be returned from the latest tick and will include all available exchange data fields for the security requested.

4.18 Snapshot

Note: Requires an additional subscription and FactSet plugin version 3.1+

The Snapshot service provides access to streaming exchange data and allows the “snap” of real-time prices at the user’s request. When the command is run, a list of all available exchange data items will be returned by default. Sample Fields:

Data = REQ_SYM: {'FDS'} KEY: {'FDS-USA:D'} EXCHANGE: 11099 ORIG_SEQUENCE: 1525089 BID_1: 155.1800 BID_DATE_1: 20150218 BID_TIME_1: 135757694 BID_VOL_1: 1 BID_TICK_1: 1 BID_EXCH_1: 1 BID_EXCH: 11100 ASK_1: 155.3300 ASK_DATE_1: 20150218 ASK_TIME_1: 135757694 ASK_VOL_1: 1 ASK_EXCH_1: 9 ASK_EXCH: 11103 SHORT_SALE_INDICATOR: 0 QUOTE_COND: 0 LAST_1: 155.3700 LAST_DATE_1: 20150218 LAST_TIME_1: 135344317 LAST_VOL_1: 30 LAST_COND_1: 6 LAST_TICK_1: 3

LAST_EXCH_1: 3 CLOSE_1: 154.0400 CLOSE_TIME_1: 161507000 LAST_EXCH: 10050 LAST_UNOFF_1: 155.2800 LAST_UNOFF_DATE_1: 20150218 LAST_UNOFF_TIME_1: 135711897 LAST_UNOFF_VOL_1: 30 LAST_UNOFF_COND_1: {'01 2 94 24'} LAST_UNOFF_EXCH_1: 14 LAST_PREMKT_1: 0 LAST_PREMKT_TIME_1: 0 LAST_PREMKT_VOL_1: 0 LAST_UNOFF_EXCH: 10075 LAST_PREMKT_CUM_VOL: 0 LAST_POSTMKT_1: 0 LAST_POSTMKT_TIME_1: 0 LAST_POSTMKT_VOL_1: 0 LAST_POSTMKT_CUM_VOL: 0 OFFBOOK_CUM_VOL: 0 CUM_VOL: 84347 TURNOVER: 1.3060e+04 VWAP: 154.8462 TRD_CNT: 1284 BLK_TRD_CNT: 0 BLK_CUM_VOL: 0 PREV_CLOSE: 154.0400 PREV_CLOSE_DATE: 20150217 LOWER_TRADING_BAND: 147.5300

UPPER_TRADING_BAND: 163.0600 NYSE_BUY_IMBALANCE: 0 NYSE_SELL_IMBALANCE: 0 NAS_BUY_IMBALANCE: 0 NAS_SELL_IMBALANCE: 0 OPEN_1: 153.7300 HIGH_1: 155.7000 HIGH_TIME_1: 120617000 LOW_1: 153.0102 LOW_TIME_1: 93217000 VENUE: {'FINN'} CORR_LAST: NaN CORR_LAST_VOL: NaN SECURITY_TYPE: 1 CUSIP: 30307510 DESCRIPTION: {'FactSet Research Systems Inc.'} SHARES_OUTSTANDING: 41.7070 PRICE_CURRENCY: {'USD'} SECURITY_STATUS: 0 GMT_OFFSET: -300 FINANCIAL_STATUS: 4 HALT_INFO: 0 AVG_30DAY_VOL: 0.2473 AVG_5DAY_VOL: 0.2121 TRADE_CONDITION: {'01 2 94 24'}

Page 34: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

34 | Copyright © FactSet Research Systems Inc. All rights reserved

4.19 Documents

Note: Requires an additional subscription and FactSet plugin version 3.1+

The Documents service provides access for the retrieval of news stories, investment research reports, filings, and transcripts. When requested, summary information of the documents will be returned, including an http URL to access the resulting documents.

There are 5 Documents functions:

Function Description F.DocumentsSearch() This function returns headlines and http URL’s, linking to the documents

returned by the search.

F.DocumentsCount() This function returns the count of headlines returned by the search, grouped by source.

F.DocumentsSources() This request returns a list of possible sources that can be used as arguments in the “Search” function.

F.DocumentsCategories() This request returns a list of possible categories that can be used as arguments in the “Search” function.

F.DocumentsTimezones() This request returns a list of possible time zones that can be used as arguments in the “Search” function.

Search Arguments Note: The only functions above that require arguments are the “Search” and “Count” reports. They both accept the same arguments and the syntax can be seen below:

Search and Count Arguments

Argument Description Ids Requested symbols or securities. This is a comma-separated list with a maximum of 1000. Each

symbol can be a FactSet exchange symbol, CUSIP, or SEDOL. e.g. Ids=IBM,GOOG-USA,GSK-GB

sd Start Date – format is YYYYMMDD or relative +/- days (0,-1,etc) e.g. SD=20121221 or SD=0 Default = today (0) Note – this parameter is ignored if the relative time (rt) parameter is used.

ed End Date – format is YYYYMMDD or relative +/- days (0,-1,etc) e.g. ED=20121221 or ED=-10 Default = today (0) Note – this parameter is ignored if the relative time (rt) parameter is used.

st Start Time – format is HHMMSS e.g. ST=09000 Default = 000000 Note – this parameter is ignored if the relative time (rt) parameter is used.

et End Time – Format is HHMMSS e.g. ET=230000 Default = 235959 Note – this parameter is ignored if the relative time (rt) parameter is used.

rt Relative Tme – format is –HHMMSS RT is always between the time specified and “now”.

Page 35: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

35 | Copyright © FactSet Research Systems Inc. All rights reserved

e.g. rt=-120000 (fetch headlines from between 12 hours ago and now) When using RT, all of the other date and time parameters (ST, ET) will be ignored 24 hours is the maximum historical time to specify (-235959).

N Number of Results to return (SEARCH only) Maximum Limit = 1000 (for more results, combine with the PAGE parameter) e.g N=40 Default = 25

page Page Number of Results to return (SEARCH only) Limit = 50 e.g. Page=2 Default = 1

timezone Time zone to return story dates and times. e.g. Timezone=<field> Use timezones from F.DocumentsTimezones() Time zones are automatically adjusted for daylight savings. No toggling option is available. Default = “America/New_York”

sources Code for document source to include. This is a comma-separated list. Use sources from F.DocumentsSources() e.g. Sources=SA,EDG Default = ALL Note: This will be all document sources the client is permissioned to receive, not all available document sources thru FactSet.

categories Code for categories to include. This is a comma-separated list. Use categories from F.DocumentsCategories() e.g. categories=SB:ANLC,IN:OIL Default = ALL

primary_id Type of Identifier Search to do Y – will only return headlines of stories that have the search ID(s) as the Primary Id N – will return headlines of stories that mention/refer to the ID(s) Default = N

search_text Restricts the search to include any document stories which include the text searched. e.g. search_text=GREECE For a full listing of Boolen Text Search Operators, see Appendix C.

sym_type Specifies the format of the symbol(s) returned in the ALL_IDS field. e.g. sym_type=sedol Values = cusip, sedol, isin, entity_id, tick, tick_region, If this parameter is not used, default symbols will result in the ALL_IDS field. Note – agreements with CUSIP and SEDOL are required to receive these symbol types.

Specialized Arguments

Argument Description StreetAccount Specific sa_categories Code for StreetAccount specific categories to include. This is a comma-

separated list. e.g. sa_categories=98,106 Default = ALL

Investment Research Specific industries One or more FactSet industry codes separated by commas. For company reports, the industry code represents the industry of the company that the report is about. For industry reports, the industry code represents the industry that the report is about. Industry codes are not particularly relevant for other types of documents (e.g., economic reports).

Investment Research Specific contributors One or more contributor codes. A list of contributors can be obtained via downloading a file from an FTP site at FactSet. This process will be outlined at the time of account setup. See section 2.3 for more information.

Investment Research Specific authors One or more analyst codes of authors who were the primary or secondary authors of the documents.

Page 36: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

36 | Copyright © FactSet Research Systems Inc. All rights reserved

4.20 EstimatesOnDemand

The EstimatesOnDemand function provides access to FactSet sourced company level estimates data. The data is accessed through the following reports that are available with this function: Actuals, Broker Detail, Broker Snapshot, Consensus, Guidance, Surprise, Consensus Recommendations, Detailed Recommendations and Broker Coverage.

FactSet Estimates FactSet Estimates provides consensus- and detail-level estimates and statistics from leading investment banks and research firms. With over 780 contributing brokers globally, FactSet Estimates covers more than 16,300 active global companies and 100 data items. Categories of data include sector specific items, commodity estimates, EPS, DPS, guidance and more. Global scope of companies covered is approximately 31% from North America, 27% from Europe, and 35% from Asia. Historical information is available from 1997 for European companies and 2000 for companies in the Americas and Asia. A subscription to the FactSet Estimates database is necessary to be able to extract this data. The manner in which contributed content is displayed and available on FactSet for individual users and user groups is ultimately determined by the contributing partner.Several of FactSet brokerage partners have additional restrictions on their data. Clients can request that the broker allow greater entitlements and/or greater access to their supplied data on FactSet. Please contact your FactSet representative for additional details. For more information regarding the FactSet Estimates database refer to Online Assistant page 13369. For a list of active brokers available in FactSet Estimates refer to Online Assistant page 14706.

Page 37: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

37 | Copyright © FactSet Research Systems Inc. All rights reserved

4.20.1 EstimatesOnDemand Syntax

The syntax for the EstimatesOnDemand function is: Data = F.EstimatesOnDemand(ids, items, report, startDate, optional arguments)

data variable name for the data returned

ids CellString array with a list of one or multiple security identifiers

items CellString array with a list of one or more FactSet data items from the FactSet Estimates database (e.g., EPS, Sales, Net Debt). Note: Table 1 in Appendix has a comprehensive list of items for which estimates are available using this function.

report Allows specification of the types of estimates report through which the data is retrieved. The available reports as Actuals, BrokerDetail, BrokerSnapshot, Consensus, Guidance, Surprise, Consensus Recommendations, Detailed Recommendations, and Broker Coverage.

startDate The start date as of which the estimate data is retrieved.

Optional arguments:

end The end date as of which the estimate data is retrieved

freq The frequency of which the estimate data is retrieved

fiscalPeriod The fiscal period for the estimate item. The option is available of looking at historical, current, or future fiscal periods. The fiscal period can be specified using relative dates. The arguments entered as relative dates represent a date relative to the most recently updated period. For example, 0 (zero) represents the most recently reported period; -1 represents the time period prior to the most recently reported period. Arguments entered can be -1, 0, 1, 2, etc.

periodType The argument can be entered as “annual”, “quarterly”, or “semi”, depending on the type of estimates data request. Not all equities have estimates for all period types.

fields Specification of a select number of fields to extract. Note: Each section provides a detailed list of the output fields associated with each FactSet Estimates report.

timeStamp Display the publication time associated with the publication date. The argument would be set up as: 'timestamp', 'y' and it can be used with an actuals report.

reportDate Display report date. The argument would be set up as: 'reportDate', 'y' and can be used with the Broker Detail report.

previousDates Used with the Consensus report and refers to previous date as of which estimates can be retrieved and compared to the estimates retrieved as of the date argument. For example, if EPS estimates are displayed as of now, allows clients to compare the EPS estimates as of i.e. 30 days ago.

prev If the previousDates argument is used the ‘fields’ and ‘prev’ should be appended.

display Used with the Broker Detail report. If utilizing HISTO for the historical look an ‘end date’ argument must be entered. If utilizing the SNAP mode, an ‘end date’ parameter is not needed unless looking for the current consensus less than 100 days old. Otherwise SNAP will bring back the current consensus as of the last 100 days.

statistic Used with the Surprise report. There are a number of different statistics that the client can bring back using the Surprise Report. They have the ability to specify which one they prefer. The list includes: Mean, Median (MED), High Estimate (HIGH), Low Estimate (LOW), Sigma and Standard Deviation (STDDEV).

Page 38: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

38 | Copyright © FactSet Research Systems Inc. All rights reserved

Offset1/offset2 Used with the Surprise report. This parameter is to change the number of days used before and after the report date to calculate price impact. The argument would be set up as: 'offset1', 'offset2'.

Currency Allows all values to be changed to the specified currency. By default, the currency is the value of the security.

meanText To display the Rating Name. The argument would be set up as: 'meanText', 'y' and can be used with the Consensus Recommendation report.

estCurrency In cases where the security’s local currency does not match the Currency of the estimates the argument 'estCurrency', 'Y' can be used, this changes the currency field to display the Estimate Currency. Also, the field heading changes to EST_CURRENCY.

showExcluded Available for BrokerDetail and BrokerSnapshot, specifying this to N will only display the broker estimates that are included in the consensus; default is to show all values.

universe Screening expression to limit the universe

ison Ison-codes can be used to limit the universe ISON_MSCI_WORLD(0,1) is written as 'ison', 'msci_world', 'isonParams', '0,1'

isonParams The arguments within brackets in the ison-code

OFDB Universe is the constituents of an OFDB file, default directory is Client, if the OFDB is stored in another location the path must be included

OFDBDate Specific date for the constituents of the OFDB

cal Calendar setting, arguments include: FIVEDAY: Displays Monday through Friday, regardless of whether there were trading holidays. SEVENDAY: Displays Monday through Sunday.

4.20.2 Estimates Report - Actuals

The FactSet Estimates Actuals report provides access to the income statement, balance sheet, cash flow statement and per share data for all companies covered by FactSet Estimates; as well as the median value of the post-event consensus, known as the Broker Actual. The data extracted by this report is accessible by using other functions such as ExtractFormulaHistory and ExtractDataSnapshot, but the value added of this function is that the default output includes a more comprehensive overview of the estimate actuals value, date and a flag explaining from where the actuals value is extracted. This default output would entail making multiple requests using the other functions. Actuals Methodology

Estimates are data points representing information about a future period: FY1, or FQ1, and beyond. Actuals are data points representing information about the past: FY0, FQ0, or earlier. An "Actual" can have two forms:

+ The value collected directly from the company’s income statement, balance sheet, cash flow statement, known as the Actual.

+ The median value of the post-event consensus, known as the Broker Actual.

+ Mean can be used to calculate Broker Actual if desired.

+ The Broker Actual is the default value for the European zone, even if an Actual is present.

Page 39: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

39 | Copyright © FactSet Research Systems Inc. All rights reserved

FactSet Estimates actuals data is collected through a variety of channels, but the primary source is financial statements published by the company. For the U.S., European, and Japanese sources mentioned below, FactSet collects earnings announcements as soon as the data is made available to these news services. Depending on local regulations, this can be anywhere from one to six months

after the end of the fiscal period. These sources include: For U.S. Companies:

+ CallStreet Transcripts

+ PR Newswire

+ Business Wire

+ CCN Matthews

+ GlobeNewswire

+ Market Wire

+ CallStreet

For European Companies:

+ Financial Express Company Announcements

+ Europe PR Newswire

+ Hugin Southern Europe

+ Hugin

+ Europe Business Wire

For Japanese Companies:

+ TDNet

Data Fields extracted with the FactSet Estimates Actuals Report

The following table provides a detailed description of each of the 9 data fields that are by default retrieved when using the FactSet Estimates Actuals Report.

Field Name Description SecId The security identifier.

CURRENCY The currency in which the selected estimate actual item is displayed.

FE_ITEM The estimates actual item that is being retrieved, i.e. EPS.

FE_PER_REL The relative fiscal period that is specified in the syntax. For example, when the syntax specified fiscal period=1 and period type=annual, the data is retrieved for the current unreported fiscal year for the company. This field retrieves a 1 for this example since the fiscal period argument is 1. If the argument is for the current reported fiscal year or quarter it would be FY0 or FQ0, respectively.

FE_REPORT_FY The actual report date.

Page 40: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

40 | Copyright © FactSet Research Systems Inc. All rights reserved

PUBDATE The date when the company actually release their data.

Date The period ending date.

FE_ACTUAL The actual value.

FE_ACTUAL_FLAG The Flag for the actual report type being retrieved.

+ 1 is returned if an actual is available outside of Europe (U.S., Canada, Latin America, Asia/Pacific, and Australia).

Note: This is not a broker actual.

+ 2 is returned if a European actual is available.

Note: This is not a broker actual.

+ 3 is returned if the data is a broker actual (consensus coverage).

Estimates Report – Broker Detail

The BrokerDetail report provides access to detail level broker estimates from the FactSet Estimates database. The data extracted by this report is accessible by using other functions such as ExtractVectorFormula, but the value added of this function is that the default output includes more comprehensive broker detail information in terms of the Brokers, Analysts and the change from their historical estimates.

Broker Detail Methodology

The methodology used with the FactSet Estimates database is to group consensus estimates classes into estimate groups, according to the different accounting methodologies used by various brokers. The default consensus (class 0) regroups estimates according to FactSet Estimates methodology. The goal of FactSet Estimates consensus classes is to identify and exclude brokers that use a different methodology from the default methodology used by FactSet Estimates. A consensus estimate is calculated for one class at a time because creating an average across different classes can be misleading. FactSet Estimates provides a more meaningful consensus estimate figure through the consensus class functionality. For example, in the insurance sector, some brokers make an estimate based on gross premium and others on net premium. If the FactSet Estimates methodology uses net premium as a default, then the estimates of the brokers who use gross premium will belong to a new class of consensus which will be different from the default class. Data Fields extracted with the FactSet Estimates BrokerDetail Report

The following table provides a detailed description of each of the 18 data fields that are by default retrieved when using the FactSet Estimates Broker Detail report.

Page 41: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

41 | Copyright © FactSet Research Systems Inc. All rights reserved

Field Name Description

SecId The security identifier.

FE_FP_END The date corresponding to the fiscal period type that is entered. For example, if the arguments entered in the syntax are fiscal period=1 and period type=annual, the relative date is FY1 which is the current unreported fiscal year for the company.

CURRENCY The currency in which the selected estimate item is displayed.

FE_ITEM The estimates item that is being retrieved, i.e. EPS.

FE_PER_REL The relative fiscal period that is specified in the syntax. For example, when the syntax specified fiscal period=1 and period type=annual, the data is retrieved for the current unreported fiscal year for the company. This field retrieves a 1 for this example since the fiscal period argument is 1.

Date The research date for the estimate item. This corresponds to the date of the report issued by a broker. Whenever a broker sends a new estimate or opinion, it is considered a research date. It reflects the date indicated in the actual report issued by the broker, not the date FactSet received it.

FE_BROKER The FactSet Estimates Broker code. For a list of active brokers available in FactSet Estimates and their corresponding codes refer to Online Assistant page 14706.

FE_BROKERNAME The Broker Name, i.e. Goldman Sachs. See Online Assistant page 14706 for a full list.

FE_ANALYST The code for the analyst. The code is based on a FactSet people map and allows brokers to control readership entitlements. See Online Assistant page 14706 for a full list of Broker codes

FE_ANALYSTNAME The name of the Analyst making providing the estimate.

ENTRY_DATETIME The entry date of the estimate.

FE_ESTIMATE The detail estimate history from contributing brokers over specified date range for the specified period (i.e. EPS for FY1).

OTHER_CC Consensus Class that pertains to a particular estimate. The details of this methodology described in section 2 above.

FE_SECTION Indicates if according to the default FactSet Estimates consensus methodology the broker is included or excluded from the calculation.

FE_STATUS Displays exclusion information. Explains the reason for the exclusion (i.e. Dropping Coverage).

FE_EST_REV_VAL The previous estimate value from the same analyst, for the same fiscal period.

FE_EST_REV_VAL_ARROW Retrieves a -1, 0, 1 or NA to indicate the direction of the estimate change from the analyst. A -1 indicates that the latest estimate value retrieved with FE_ESTIMATE is lower than the value retrieved with the previous estimate, retrieved with the field FE_EST_REV_VAL. A 0 indicates that there has been no change in the estimate. A 1 indicates that the latest estimate is higher than the previous value from the same analyst. An NA indicates that there

Page 42: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

42 | Copyright © FactSet Research Systems Inc. All rights reserved

was no previous value from that analyst for this security.

FE_EST_REV_VAL_DATE Retrieves the research date of the previous estimate value that corresponds to FE_EST_REV_VAL.

4.20.3 Estimates Report – Broker Snapshot

The Broker Snapshot function provides access to a historical snapshot of detail level broker estimates from the FactSet Estimates database. The difference between the FactSet Estimates BrokerSnapshot and the FactSet Estimates BrokerDetail reports is that the BrokerSnapshot provides a snapshot only and does not accept a date range, but the snapshot is an annual or quarterly roll argument to look at historical estimates. Estimates on a rolling basis return data for the current unreported fiscal year or quarter as of the date entered. Data Fields extracted with the FactSet Estimates Broker Snapshot Report The following table provides a detailed description of each of the 18 data fields that are by default retrieved when using the Broker Snapshot report.

Field Name Description

SecId The security identifier.

FE_FP_END The date corresponding to the fiscal period type that is entered. For example, if the arguments entered in the syntax are fiscal period=1 and period type=annual, the relative date is FY1 which is the current unreported fiscal year for the company.

CURRENCY The currency in which the selected estimate item is displayed.

FE_ITEM The estimates item that is being retrieved, i.e. EPS.

FE_PER_REL The relative fiscal period that is specified in the syntax. For example, when the syntax specified fiscal period=1 and period type=annual, the data is retrieved for the current unreported fiscal year for the company. This field retrieves a 1 for this example since the fiscal period argument is 1.

Date The research date for the estimate item. This corresponds to the date of the report issued by a broker. Whenever a broker sends a new estimate or opinion, it is considered a research date. It reflects the date indicated in the actual report issued by the broker, not the date FactSet received it.

FE_BROKER The FactSet Estimates Broker code. For a list of active brokers available in FactSet Estimates and their corresponding codes refer to Online Assistant page 14706.

FE_BROKERNAME The Broker Name, i.e. Goldman Sachs.

FE_ANALYST The code for the analyst. The code is based on a FactSet people map and allows brokers to control readership entitlements.

FE_ANALYSTNAME The name of the Analyst making providing the estimate.

Page 43: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

43 | Copyright © FactSet Research Systems Inc. All rights reserved

ENTRY_DATETIME The entry date of the estimate.

FE_ESTIMATE The detail estimate history from contributing brokers over specified date range for the specified period (i.e. EPS for FY1).

OTHER_CC Consensus Class that pertains to a particular estimate. The details of this methodology described in section 2 above.

FE_SECTION Indicates if according to the default FactSet Estimates consensus methodology the broker is included or excluded from the calculation.

FE_STATUS Displays exclusion information. Explains the reason for the exclusion (i.e. Dropping Coverage).

FE_EST_REV_VAL The previous estimate value from the same analyst, for the same fiscal period.

FE_EST_REV_VAL_ARROW Retrieves a -1, 0, 1 or NA to indicate the direction of the estimate change from the analyst. A -1 indicates that the latest estimate value retrieved with FE_ESTIMATE is lower than the value retrieved with the previous estimate, retrieved with the field FE_EST_REV_VAL. A 0 indicates that there has been no change in the estimate. A 1 indicates that the latest estimate is higher than the previous value from the same analyst. An NA indicates that there was no previous value from that analyst for this security.

FE_EST_REV_VAL_DATE Retrieves the research date of the previous estimate value that corresponds to FE_EST_REV_VAL.

4.20.4 Estimates Report – Consensus

The Consensus report provides access to consensus level estimates from the FactSet Estimates databaseThe data extracted by this report is accessible by using other functions such as ExtractFormulaHistory and ExtractDataSnapshot, but the value added of this function is that the default output includes more comprehensive consensus information in terms of the mean, median, high, low and standard deviation of estimates. This default output would entail making multiple requests using the other functions.

Consensus Methodology The methodology used with the FactSet Estimates database is to group consensus estimates classes into estimate groups, according to the different accounting methodologies used by various brokers. The default consensus (class 0) regroups estimates according to FactSet Estimates methodology. The goal of FactSet Estimates consensus classes is to identify and exclude brokers that use a different methodology from the default methodology used by FactSet Estimates. A consensus estimate is calculated for one class at a time because creating an average across different classes can be misleading. FactSet Estimates provides a more meaningful consensus estimate figure through the consensus class functionality. For example, in the insurance sector, some brokers make an estimate based on gross premium and others on net premium. If the FactSet Estimates methodology uses net premium as a default, then the estimates of the brokers who use gross premium will belong to a new class of consensus which will be different from the default class.

Page 44: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

44 | Copyright © FactSet Research Systems Inc. All rights reserved

Broker estimates can be received and processed in a multitude of formats of the brokers choosing. The main two types of formats are manual contribution and automatic contribution. FactSet Estimates does not make or alter estimates received from contributors, but does however, convert currency (i.e., USD to EUR) and convert units (i.e., KM to Miles, Cubic feet to Barrels of Oil (BOE), etc.) when appropriate. The “consensus window” refers to the time period associated with estimates used in the consensus. By default, consensus estimates calculated by FactSet are based on estimates that have been validated via broker research within the past 100 days. When an estimate does not exist in the past 100 days, typically for small cap companies, FactSet Estimates automatically selects the latest estimate received within a predetermined time period. This window is used to ensure that clients are analyzing meaningful consensus estimates.

Data Fields extracted with the FactSet Estimates Consensus Report

The following table provides a detailed description of each of the 17 data fields that are by default retrieved when using the Consensus report.

Field Name Description

SecId The security identifier.

FE_FP_END The date corresponding to the fiscal period type that is entered. For example, if the arguments entered in the syntax are fiscal period=1 and period type=annual, the relative date is FY1 which is the current unreported fiscal year for the company.

CURRENCY The currency in which the selected estimate item is displayed.

FE_ITEM The estimates item that is being retrieved, i.e. EPS.

FE_PER_REL The relative fiscal period that is specified in the syntax. For example, when the syntax specified fiscal period=1 and period type=annual, the data is retrieved for the current unreported fiscal year for the company. This field retrieves a 1 for this example since the fiscal period argument is 1.

Date The research date for the estimate item. This corresponds to the date of the report issued by a broker. Whenever a broker sends a new estimate or opinion, it is considered a research date. It reflects the date indicated in the actual report issued by the broker, not the date FactSet received it.

FE_MEAN Consensus – Estimate Mean

FE_MEDIAN Consensus – Estimate Median

FE_NUM_EST Consensus – Number of Estimates

FE_LOW Consensus – Lowest Estimate

FE_HIGH Consensus – Highest Estimate

FE_STD_DEV Consensus – Standard Deviation from Estimate

FE_UP Consensus – Number of Estimates Revised Up

FE_DOWN Consensus – Number of Estimates Revised Down

Page 45: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

45 | Copyright © FactSet Research Systems Inc. All rights reserved

FE_UNCHANGED Consensus – Number of Estimates Unchanged Revisions

FE_TOTAL Consensus – Number of Total Estimates Revised

FE_MEPS_INFO Estimate Description Label

4.20.5 Estimates Report – Guidance

The Guidance report provides access to the estimates guidance that companies provide as an indication or estimate of their future earnings. FactSet Estimates provides high, low, and mean guidance estimates for companiesThe data extracted by this function is accessible by using other functions such as ExtractFormulaHistory and ExtractDataSnapshot, but the value added of this report is that the default output includes information in terms of the mean, high and low guidance values compared to the mean estimate based on the broker contributions. This default output would entail making multiple requests using the other functions.

Source of Guidance Companies provide guidance as an indication or estimate of their future earnings. The estimate guidance is collected by FactSet from the following sources: For U.S Companies:

+ CallStreet Transcripts

+ PR Newswire

+ Business Wire

+ CCN Matthews

+ GlobeNewswire

+ Market Wire

For European Companies:

+ Financial Express Company Announcements

+ Europe PR Newswire

+ Hugin Southern Europe

+ Hugin

+ Europe Business Wire

For Japanese Companies:

+ TDNet

Data Fields extracted with the FactSet Estimate Guidance Report

The following table provides a detailed description of each of the 12 data fields that can be retrieved when using the Guidance report.

Page 46: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

46 | Copyright © FactSet Research Systems Inc. All rights reserved

Field Name Description

SecId The security identifier.

CURRENCY The currency in which the selected estimate guidance item is displayed.

FE_ITEM The estimates guidance item that is being retrieved, i.e. EPS.

FE_PER_REL The relative fiscal period that is specified in the syntax. For example, when the syntax specified fiscal period=1 and period type=annual, the data is retrieved for the current unreported fiscal year for the company. This field retrieves a 1 for this example since the fiscal period argument is 1.

FE_MEAN_DATE The research date for the estimate item. This corresponds to the date of the report issued by a broker. Whenever a broker sends a new estimate or opinion, it is considered a research date. It reflects the date indicated in the actual report issued by the broker, not the date FactSet received it.

Guidance Min Guidance – Low Estimate

Guidance Max Guidance – High Estimate

Guidance Mean Guidance - Mean of High and Low

FE_MEAN Consensus - Mean of Estimates

Guidance Min Date Guidance Min Record Date

Guidance Max Date Guidance Max Record Date

Guidance Mean Date Guidance Mean Record Date

4.20.6 Estimates Report – Surprise

The Surprise report provides data to measure adjustments made to the consensus vis-à-vis corporate announcements. The data extracted by this function is accessible by using other functions such as ExtractFormulaHistory and ExtractDataSnapshot, but the value added of this report is that the default output includes more comprehensive overview of the change in consensus estimates before and after the surprise event as well as the effect on the security price. This default output would entail making multiple requests using the other functions. Surprise Methodology There are two types of Surprise calculations, either using the Actual or the post-event consensus. The Actual is used as the default calculation for Australia, Japan, and the US geographic regions. The post-event consensus is used for all other regions, primarily Europe. However, if there is no Actual present, then the post-event consensus will be used. Surprise calculations are triggered by events, which include profit warnings, preliminary releases, or an earnings release, whether quarterly, semi-annual, or annual. The first event of the quarter will trigger the surprise calculation. Thus there can be more than one surprise calculation within a single quarter. Only after a company rolls will an Actual or Broker Actual be used. The Surprise Event is, by

Page 47: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

47 | Copyright © FactSet Research Systems Inc. All rights reserved

default, the first event of the quarter. In this case, the surprise calculation can be based on a profit warning if available, instead of a publication date. The post-event consensus is continuously updated as relevant data is received until 100 days after the event. At that point the post-event consensus is finalized and thus the Surprise value for that fiscal period will remain static unless there is more than one event in the same quarter. If the two events occur within the same quarter and they are not 100 days apart, the first post-event consensus will be finalized as of just before the release of the second event. Both annual and quarterly surprise values are calculated for every event. Either the quarterly or annual calculation must be designated by the user. Annual surprises are recalculated quarterly. The FactSet Estimates database assumes that recent quarterly results affect annual estimates. Thus, to retrieve a surprise figure as of the year end, the last fiscal quarter in the FactSet Estimates code should be referenced. Data Fields extracted with the FactSet Estimates Surprise Report

The following table provides a detailed description of each of the 13 data fields that are by default retrieved when using the Surprise report.

Field Name Description

SecId The security identifier.

CURRENCY The currency in which the selected estimate item is displayed.

FE_ITEM The estimates item that is being retrieved, i.e. EPS.

FE_PER_REL The relative fiscal period that is specified in the syntax. For example, when the syntax specified fiscal period=1 and period type=annual, the data is retrieved for the current unreported fiscal year for the company. This field retrieves a 1 for this example since the fiscal period argument is 1.

Surprise_Before_Event Displays the Consensus figure one day prior to the surprise event. It can be displayed in several forms: median, mean, low, high, standard deviation, and number of estimates.

Surprise_After_Event Displays the Consensus figure post the surprise event. It can be displayed in several forms: median, mean, low, high, standard deviation, and number of estimates.

Surprise_Amount Displays the value of surprise after minus surprise before.

Surprise (%) Displays the Surprise percentage, calculated as Surprise Amount/Surprise Before.

Price_Impact (%) Displays the Impact Surprise amount has on the Stock Price. It is the percentage in price change between the dates before the report date and after. By default the price impact will calculate 1 day before and 0 day after the report date.

Surprise_Date Surprise event date.

Page 48: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

48 | Copyright © FactSet Research Systems Inc. All rights reserved

Surprise_Event Description of the event surprise that the figures are based on.

Surprise_Period Displays the fiscal period related to the surprise date.

Surprise_Date_Before_Event Displays the date one day prior to a surprise event.

4.20.7 Estimates Report – Consensus Recommendation

The Consensus Recommendation report provides access to the number of different recommendations given by brokers as well as the mean recommendation based on the recommendation mark mapping. Recommendation Methodology

Recommendation data covers all broker recommendations received over the past 100 days. When a broker issues several recommendations over the past 100 days, only the most recent is retained. Recommendations are divided into five broad categories: Buy, Overweight, Hold, Underweight, and Sell. Then, a rating of between 1 and 3 is attributed to each category according to the table below.

The methodology used with the FactSet Estimates database is to keep recommendations consistent across the FactSet database. Not every broker uses the same recommendations that FactSet has in place. Therefore FactSet works with all of its contributors in order to correctly map their recommendations. The Estimates database builds out a recommendation dictionary for each broker which tells exactly how each of their recommendations corresponds to FactSet's own categories. These recommendations can be changed at any time should a contributor begin to give new recommendations, or want to change their existing mapping. By doing so, FactSet ensure that its contributor recommendations are captured correctly in the Estimates Database.

Data Fields extracted with the FactSet Estimates Consensus Recommendation Report

The following table provides a detailed description of each of the 10 data fields that are retrieved when using the FactSet Estimates Consensus Recommendation report.

Recommendation Mark Recommendation Name

1 Buy

1.5 Overweight

2 Hold

2.5 Underweight

3 Sell

Page 49: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

49 | Copyright © FactSet Research Systems Inc. All rights reserved

Field Name Description

SecId The security identifier.

Consensus Date The consensus date for the mean recommendations.

FE_BUY The aggregate number of buy recommendations.

FE_OVER The aggregate number of overweight recommendations.

FE_HOLD The aggregate number of hold recommendations.

FE_UNDER The aggregate number of underweight recommendations.

FE_SELL The aggregate number of sell recommendations.

FE_TOTAL The aggregate number of recommendations.

FE_MARK The mean recommendation.

FE_MARK_TEXT The mean recommendation with text string; accessible only with ‘meanText’,’Y’

FE_NO_REC The aggregate number of brokers covering the security that are not providing a recommendation for the particular period.

4.20.8 Estimates Report – Detailed Recommendation

The Detailed Recommendation report provides access to the number of different recommendations given by brokers. Recommendation Methodology

Recommendation data covers all broker recommendations received over the past 100 days. When a broker issues several recommendations over the past 100 days, only the most recent is retained. Recommendations are divided into five broad categories: Buy, Overweight, Hold, Underweight, and Sell. Then, a rating of between 1 and 3 is attributed to each category according to the table below.

The methodology used with the FactSet Estimates database is to keep recommendations consistent across the FactSet database. Not every broker uses the same recommendations that FactSet has in place. Therefore FactSet works with all of its contributors in order to correctly map their recommendations.

Recommendation Mark Recommendation Name

1 Buy

1.5 Overweight

2 Hold

2.5 Underweight

3 Sell

Page 50: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

50 | Copyright © FactSet Research Systems Inc. All rights reserved

The Estimates database builds out a recommendation dictionary for each broker which tells exactly how each of their recommendations corresponds to FactSet's own categories. These recommendations can be changed at any time should a contributor begin to give new recommendations, or want to change their existing mapping. By doing so, FactSet ensure that its contributor recommendations are captured correctly in the Estimates Database. Data Fields extracted with the FactSet Estimates Detailed Recommendation Report The following table provides a detailed description of each of the 10 data fields that are by default retrieved when using the FactSet Estimates Detail Recommendation report.

Field Name Description

SecId The security identifier.

FE_BROKER The FactSet Estimates Broker code. For a list of active brokers available in FactSet Estimates and their corresponding codes refer to Online Assistant page 14706.

FE_BROKERNAME The Broker Name, i.e. Goldman Sachs.

FE_ANALYST The code for the analyst. The code is based on a FactSet people map and allows brokers to control readership entitlements.

FE_ANALYSTNAME The name of the Analyst making providing the estimate.

FE_ESTIMATE The detailed recommendation mark from contributing brokers over specified date range for the specified period (i.e. EPS for FY1).

FE_ESTIMATE_VALUE The detailed recommendation name from contributing brokers over specified date range for the specified period (i.e. EPS for FY1).

FE_EST_REV_VAL The previous estimate value from the same analyst, for the same fiscal period.

FE_EST_REV_VAL_ARROW Retrieves a -1, 0, 1 or NA to indicate the direction of the recommendation change from the analyst. A -1 indicates that the latest recommendation value retrieved with FE_ESTIMATE is lower than the value retrieved with the previous estimate, retrieved with the field FE_EST_REV_VAL. A 0 indicates that there has been no change in the recommendation. A 1 indicates that the latest recommendation is higher than the previous value from the same analyst. An NA indicates that there was no previous value from that analyst for this security.

4.20.9 Estimates Report – Coverage

The Analyst Coverage Report allows a user to specify what analyst they are looking for and returns all of the securities that they currently cover. It also gives the user the analyst’s latest recommendation, EPS or FFO estimates. Data fields extracted with the FactSet Estimates Coverage report

Page 51: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

51 | Copyright © FactSet Research Systems Inc. All rights reserved

The following table provides a detailed description of each of the 12 data fields that are by default retrieved when using the FactSet Estimates Coverage report.

Field Name Description

COMPANY FactSet Estimates Company Name

TICKER Ticker

COUNTRY FactSet Estimates Company Name

CURRENCY Default currency in which company trades

RATING Analyst Recommendation

RECOM_DATE Recommendation Record Date

EPS_VALUE Analyst estimate for EPS

EPS_DATE EPS Record Date.

CNS_CLASS_EPS Consensus Class EPS is available in

FFO_VALUE Analyst estimate for FFO

FFO_DATE FFO Record Date

FFO_CNS_CLASS Consensus Class FFO is available

4.20.10 Appendix

Table 1: Items for which estimates available with EstimatesOnDemand Description Item Code

Adjusted Funds From Operations AFFO

Annual Subscription Value ASV

Tangible Book Value per Share BPS_TANG

Book Value Per Share BVPS

Capital Expenditures CAPEX

Cash Flow From Financing CFF

Cash Flow From Investing CFI

Cash Flow From Operations CFO

Cash Flow Per Share CFPS

CurrentAssets CURRENTASSETS

CurrentLiabilities CURRENTLIABILITIES

EPS - Non GAAP CUSTOM_EPS

Dividends Per Share DIV

Reported Earnings Per Share EAG

Earnings Per Share Excluding Exceptionals EBG

EBIT EBIT

Page 52: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

52 | Copyright © FactSet Research Systems Inc. All rights reserved

EBITDA EBITDA

Earnings Per Share EPS

EPS - Non GAAP ex. SOE EPSA

EPS - GAAP EPSR

Stock Option Expense FASB123IMP

Free Cash Flow FCF

Free Cash Flow Per Share FCFPS

Funds From Operations FFO

Adjusted Funds From Operations FFOA

Gross Income GROSSINCOME

Interest Expense INTEXP

Long Term Growth LTG

Number of Shares NBTITB

Number of Shares Basic NBTITBAS

Net Income - Non Consolidated NET_P

Net Profit Adjusted NETBG

Net Debt NETDEBT

Declared Dividend Per Share NETDIV

Net Profit NETPROFIT

Net Income Adjusted NETPROFITA

Pretax Income PTP

Pre Tax Income - Non Consolidated PTP_P

Pre-Tax Profit Reported PTPBG

Pretax Income - Reported PTPR

Research And Development RD_EXP

Selling And Marketing S_M_EXP

Sales SALES

Sales - Non Consolidated SALES_P

Same Store Sales SAMESTORESALES

Selling, General and Administrative Expense SGA

Shareholder's Equity SH_EQUITY

Shares Basic SHARB

Shares Diluted SHARD

Shareholder's Equity SHEQUITY

Shares Dilute SHR

Shares Basic SHRB

Number of Shares Basic SHRBLA

Shares SHRLA

Stock Option Expense SOE

Tax Expense TAX_EXPENSE

Book Value per Share - Tangible TBVPS

Page 53: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

53 | Copyright © FactSet Research Systems Inc. All rights reserved

Target Price TGP

Total Debt TOTALDEBT

Total Assets TOTASSETS

Total Goodwill TOTGW

Total Revenue TOTREV

Airlines

Airlines - Available Seat Km AVAILABLESEATKM

Airlines - Load Factor LOADFACTOR

Airlines - Operating Expenses per ASK OPEX_ASK

Airlines - Passenger Revenue Km REVPASSENGERKM

Airlines - Passenger Revenue per ASK PASS_REV_ASK

Airlines - Passenger Revenue per RPK PASS_REV_RPK

Airlines - Revenue Passenger REV_PASSENGER

Airlines - Total Revenue per ASK TOT_REV_ASK

Airlines Operating Expenses per ASK excluding fuel costs OPEX_ASK_X

Banks

Bank - ASSETS_NONPERF ASSETS_NONPERF

Bank - Average Earnings Assets AVG_EARN_ASSETS

Bank - AVG_EARN_ASSETS AVG_EARN_ASSETS

Bank - DEPS_AVG DEPS_AVG

Bank - INT_INC_MARGIN INT_INC_MARGIN

Bank - LOAN_NET_AVG LOAN_NET_AVG

Bank - Net Charge Offs NET_CHARGE_OFFS

Bank - Net Interest Margin INT_INC_MARGIN

Bank - NET_CHARGE_OFFS NET_CHARGE_OFFS

Bank - Non performing Loans LOAN_NONPERF

Bank - Non-Performing Assets ASSETS_NONPERF

Bank - Operating Expense OperExpen

Bank - Tier 1 Common Capital Ratio COMCAP_RATIO_TIER1

Bank - Capital Adequacy Ratio - Tier 1 - Banks CAP_RATIO_TIER1

Bank - Cost to Income COST_INCOME

Bank - Income from Fees & Commissions INC_FEES

Bank - Net Interest Income NetInterestInc

Bank - Net Loans LOAN_NET

Bank - Provisions for Credit Losses ProvLoans

Bank - Risk Weighted Assets ASSETS_RISK_WGHT

Bank - Total Deposits DEPS

Bank - Trading Income TradInc

Education

Education - New Student Enrollment STUDENTENROLL_NEW

Page 54: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

54 | Copyright © FactSet Research Systems Inc. All rights reserved

Education - Total Student Enrollment STUDENTENROLL_TOT

Commodities

Commodities - Mean Target Price MTGP

Home Builders

Home Builders - Backlog Avg Price BACKLOG_AVG_PRICE

Home Builders - Backlog Units BACKLOG_UNITS

Home Builders - Backlog Value BACKLOG_VALUE

Home Builders - Deliveries Average Price DELIVERIES_AVG_PRICE

Home Builders - Deliveries Units DELIVERIES_UNITS

Home Builders - Financial Services FIN_SERVICES

Home Builders - Home Sales HOME_SALES

Home Builders - Land Sales LAND_SALES

Home Builders - Orders Avg Price NEW_ORDERS_AVG_PRICE

Home Builders - Orders Units NEW_ORDERS_UNITS

Home Builders - Orders Value NEW_ORDERS_AVG_VALUE

Hospitals

Hospitals - Other Operating Expenses OTHER_OPEX

Hospitals - Provision for Bad Debt BAD_DEBT_PROV

Hospitals - Salaries and Benefits SAL_BENEFITS

Hospitals - Same Store Adjusted Admissions SS_ADJ_ADM

Hospitals - Same Store Admissions SS_ADM

Hospitals - Same Store Revenue per Adjusted Admissions SS_REV_PER_ADJ_AM

Hospitals - SUPPLIES SUPPLIES

Hotels

Hotels - Revenue per Available Room-International RevPar_intl

Hotels - ADR Adr_Tot

Hotels - ADR - Dom. ADR_Dom

Hotels - ADR - Intl. ADR_Intl

Hotels - Occupancy % Dom Occupancy_dom

Hotels - Occupancy % Intl Occupancy_intl

Hotels - Occupancy % Total Occupancy_tot

Hotels - RevPAR RevPar_tot

Hotels - RevPAR - Dom RevPar_Dom

Insurance

Combined Ration COMBINED_RATIO

Embedded Value EMBEDDED_VALUE

Insurance - Gross Premiums Written GROSS_PREM_WRITTEN

Insurance - Net Investment Income RevPar_intl

Insurance - Net Premiums Earned PREM_EARN

Insurance - Net Premiums Written PREM_WRITTEN

Page 55: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

55 | Copyright © FactSet Research Systems Inc. All rights reserved

Mining

Mining - Cash Cost CASH_COST

Mining - Realized Price REAL_PRICE

Mining - Total Production TOTAL_PROD

Multi Financial

Multi Financial - Asset Under Management Average AUM_AVG

Multi Financial - Asset Under Management End of the Period AUM

Multi Financial - Long Term Flows LT_FLOWS

Multi Financial - Net Flows NETFLOWS

Oil Companies

Debt-Adjusted Cash Flow DACF

Oil companies - 1P Proved Reserves Proved_1P

Oil companies - 2P Proved and Probable Reserves Proved_2P

Oil companies - 3P Proved Probable and Possible Reserves Proved_3P

Oil companies - Chemicals Income Chemicals_OpInc

Oil companies - Chemicals Income - Dom CHEM_DOM

Oil companies - Chemicals Income - Intl CHEM_INTL

Oil companies - Downstream Income - Dom R_M_DOM

Oil companies - Downstream Income - Downstream R_M_OPINC

Oil companies - Downstream Income - Intl R_M_INTL

Oil companies - Exploration Expense Exploration_Exp

Oil companies - OPEX Per Unit OPEX_UNIT

Oil companies - Production Per Day PRODPERDAY

Oil companies - Production Per Day - Natural Gas PROD_DAY_GAS

Oil companies - Production Per Day - Oil & NGLs PROD_DAY_OIL

Oil companies - Realized Price REAL_PRICE

Oil companies - Realized Price - Natural Gas REAL_PRICE_GAS

Oil companies - Realized Price - Oil & NGLs REAL_PRICE_OIL

Oil companies - Upstream E_P_OPINC

Oil companies - Upstream Income - Dom E_P_DOM

Oil companies - Upstream Income - Intl E_P_INTL

Total Production TOTAL_PROD

Real Estate

Real Estate - Adjusted Funds from Operations AFFO

Real Estate - Funds from Operations FFO

Real Estate - Net Asset Value per Share NAVPS

Real Estate - Net Asset Value per Share - NTM RNAVPS

Retailers

Retailers - Total Production StoresEnd

Retailers - # of Stores Opened StoresClosed_I

Page 56: FactSet OnDemand Developer’s Toolkit...2. Architecture FactSet provides tools to build an application to extract FactSet data by utilizing programming languages such as VB .NET,

56 | Copyright © FactSet Research Systems Inc. All rights reserved

Retailers - # Stores at Period End StoresEnd

Retailers - # Stores at Period End - Intl. StoresEnd_I

Retailers - # Stores at Period End- Dom. StoresEnd_D

Retailers - # Stores Closed During Period StoresClosed

Retailers - # Stores Closed During Period - Dom. StoresClosed

Retailers - # Stores Closed During Period - Intl. StoresClosed

Retailers - # Stores Opened During Period - Dom. StoresOpened_D

Retailers - # Stores Opened During Period - Intl. StoresOpened_I

Retailers - # Stores Relocated During Period StoresReloc

Retailers - # Stores Relocated During Perioud - Dom. StoresReloc_D

Retailers - # Stores Relocated During Perioud - Intl. StoresReloc_I

Retailers - Net Sales per Retail Square Foot NetSalesRetailSq

Retailers - Same Store Sales SameStoreSales

Retailers - Same Store Sales Dom. SameStoreSales_D

Retailers - Same Store Sales INTL. SameStoreSales_I

Retailers - Same Store Sales Monthly SAMESTORESALESM

Retailers - Selling Space Sq. Ft. (Gross) SellingSpace

Retailers - Selling Space Sq. Ft. (Gross)- Dom SellingSpace_D

Retailers - Selling Space Sq. Ft. (Gross)- Intl SellingSpace_I

SSS_WMT SSS_WMT

SSS_WMT_samsclub SSS_WMT_samsclub

Telecom

ACCESS LINES ACCESS_LINES

Average Revenue Per User ARPU

CHURN CHURN

Cost per Gross Add CPGA

Gross Adds GROSS_ADDS

Minute of Use MOU

Net Adds NET_ADDS

Number of Subscribers SUBSCRIBERS_NB

Subscriber Acquisition Cost SAC