Barra PortfolioManager Developers Toolkit Reference Guide
Barra PortfolioManager Developers Toolkit Reference Guide
Developer’s Toolkit
Reference Guide
January 2025
Introduction ...............................................................................................................7
Web Service Overview .............................................................................................................. 7
Supported Operations .............................................................................................................. 7
Development Environment.................................................................................... 10
Client Side ............................................................................................................................... 10
Server Side .............................................................................................................................. 10
WSDL and XMLBeans Primer................................................................................................. 11
Getting Started ....................................................................................................... 19
Assumptions ........................................................................................................................... 19
Data Conventions ................................................................................................................... 19
Create the Build Environment ................................................................................................ 20
Create BDT XMLBeans Classes ............................................................................................. 21
Request Object........................................................................................................................ 21
Send Request .......................................................................................................................... 23
Compile ................................................................................................................................... 23
Run .......................................................................................................................................... 23
Timeout Values and File Sizes ............................................................................................... 23
Workgroup Permissioning...................................................................................................... 23
SubmitImportJob................................................................................................... 24
SubmitImportJobRequest ...................................................................................................... 24
SubmitImportJobResponse ................................................................................................... 81
ListImportJobs ...................................................................................................... 82
ListImportJobsRequest .......................................................................................................... 82
ListImportJobsResponse ....................................................................................................... 84
GetImportJobStatus .............................................................................................. 85
GetImportJobStatusRequest ................................................................................................. 85
GetImportJobStatusResponse .............................................................................................. 86
© 2024 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetImportJobLog .................................................................................................. 87
GetImportJobLogRequest ...................................................................................................... 87
GetImportJobLogResponse ................................................................................................... 90
CreateAttributes .................................................................................................... 93
CreateAttributesRequest ........................................................................................................ 93
CreateAttributesResponse ..................................................................................................... 96
DeleteAttribute ....................................................................................................... 97
DeleteAttributeRequest .......................................................................................................... 97
DeleteAttributeResponse ....................................................................................................... 98
SubmitRebalanceJob ............................................................................................ 99
SubmitRebalanceJobRequest ............................................................................................... 99
SubmitRebalanceJobResponse ........................................................................................... 112
GetRebalanceSummaryReport ........................................................................... 113
GetRebalanceSummaryReportRequest ............................................................................... 113
GetRebalanceSummaryReportResponse ............................................................................ 114
ListRebalanceJobs .............................................................................................. 115
ListRebalanceJobsRequest ................................................................................................. 115
ListRebalanceJobsResponse .............................................................................................. 117
DeleteRebalanceJob ........................................................................................... 118
DeleteRebalanceJobRequest ............................................................................................... 118
DeleteRebalanceJobResponse ............................................................................................ 119
GetRebalanceStatistics ....................................................................................... 120
GetRebalanceStatisticsRequest .......................................................................................... 120
GetRebalanceStatisticsResponse ....................................................................................... 121
GetRebalanceTradeList....................................................................................... 123
GetRebalanceTradeListRequest .......................................................................................... 123
GetRebalanceTradeListResponse ....................................................................................... 124
GetRebalanceJobStatus ..................................................................................... 126
© 2024 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2024 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2024 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2024 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Introduction
The Barra PortfolioManager Developer’s Toolkit (BDT) is a Web service API that enables client developers
to automate a batch interaction with Barra PortfolioManager. A developer can programmatically upload
user assets, portfolios, attributes, set user settings, submit rebalance jobs and generate import logs from
Barra PortfolioManager.
This Web service is intended to meet the needs of our larger clients who want direct programmatic
access to Barra PortfolioManager.
Supported Operations
The Barra PortfolioManager Web service API currently supports the following operations:
• SubmitImportJob – The SubmitImportJob operation enables a client to send new data elements
to Barra PortfolioManager. For details, see SubmitImportJob.
• ListImportJobs – The ListImportJobs operation enables a client to list all import jobs in Barra
PortfolioManager. For details. For details, see ListImportJobs.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 7 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 8 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 9 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Development Environment
Client Side
Various tool vendors provide software to facilitate the development of Web service clients. Barra has
used and tested two such environments:
• Axis2 from the Apache Software Foundation (http://axis.apache.org/axis2/java/core/). Our Web
service is built on this platform. It is our primary recommendation.
• Microsoft’s .NET development environment.
Code Generation
Although it is certainly possible to refer the SOAP schema for each BDT operation and directly code the
XML output, a significantly less error-prone approach is to use a tool that generates code from the WSDL.
Microsoft’s .NET environment provides this functionality directly.
In the Java environment, Barra uses Axis with XMLBeans to generate the data binding. The
https://axis.apache.org/ website has a tutorial that is useful for becoming familiar with the product. This
library comes packaged with the Axis2 distribution.
Server Side
Developers will probably want to set up a test environment for their client application. A simple Web
service can be developed quite easily. The ingredients are:
• A basic Web Server configuration. Barra uses Tomcat (version 5.5) from the Apache Software
Foundation (http://tomcat.apache.org).
• Axis2 deployed as a servlet (see above).
These two applications can be downloaded from the URLs shown. Complete installation instructions
come with each package. In broad terms, the client will:
1. Deploy Tomcat using a simple configuration.
2. Edit $TOMCAT_HOME/conf/server.xml and add a “servlet context” within the <host> element,
such as:
<Context reloadable="false" path="/axis"
docBase="D:/tomcat/webapps/axis2"
debug="0" privileged="true" />
where:
path defines the URL that identifies an Axis request
docBase specifies the directory where Axis data files are stored
3. Drop the axis2.war file into the $TOMCAT/webapps directory.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 10 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
4. Start Tomcat and confirm access to the Axis2 servlet home page, e.g., http://localhost:8000/axis.
5. After developing the testbed web service, the client will create a .jar file that contains class files
and a web service configuration file named META-INF/services.xml. (See the Axis documentation
for details.)
6. Change the extension of this file from .jar to .aar and copy it into the
$TOMCAT/webapps/axis2/WEB-INF/services directory (i.e., <docBase> as defined in the servlet
context in server.xml). The .jar file name will be used by Axis as the name of the Web service
(even though it may have been specified in the services.xml file, as well).
As shown, the source will be written to .\src\com\barra\cp\bdtbeans. For details, refer the Getting
Started section.
In .NET, follow this step to create a BDTService.cs file that will be used in coding the user
application:
wsdl.exe <bdt-wsdl-location>
To see the relationship of the WSDL to the generated source code, it is helpful to inspect the WSDL. We
will illustrate using a real BDT operation. The BDT Web service enables clients to send up a portfolio that
will be stored in the Barra PortfolioManager database. This facility is provided by the SubmitImportJob
operation.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 11 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
The operation definitions can be found near the end of the WSDL:
<wsdl:operation name="SubmitImportJob">
<wsdl:input message="bdt:SubmitImportJobInput"/>
<wsdl:output message="bdt:SubmitImportJobOutput"/>
</wsdl:operation>
The operation is SubmitImportJob, and its input is identified as a SubmitImportJobInput, which is defined
as:
<wsdl:message name="SubmitImportJobInput">
<wsdl:part name="parameters" element="bdt:SubmitImportJobRequest"/>
</wsdl:message>
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 12 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
<xsd:element name="PortfolioAttribute"
type="bdt:PortfolioAttribute" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
The SubmitImportJobRequest contains a number of data elements. The data binding source generated
by WSDL2Java provides classes (using XMLBeans as the code generator) that parallel this structure. A
snippet of Java code that fills in some of this request could look like this:
myJob.setUser("JessicaG");
myJob.setClient("yxsrkk29ey");
myJob.setPassword("My Password");
myJob.setJobName("My Import Job"); // optional
- or -
Portfolio myPf = myJob.addNewPortfolio();
The first approach shows that user-defined types are generally created by using a factory’s newInstance()
method. The second approach hides the details, creating an instance of the Portfolio class, adding it to
the request, and returning a reference so the contents of the Portfolio instance can be initialized.
In .NET, a user-defined type can be set as follows (no factories are used):
Portfolio myPf = new Portfolio();
Returning to the WSDL, we see that a Portfolio can contain a number of different elements:
<xsd:complexType name="Portfolio">
<xsd:sequence>
<xsd:element name="Positions" type="bdt:Positions" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="PortfolioName" type="xsd:string"
use="required"/>
<xsd:attribute name="EffectiveStartDate" type="xsd:date"
use="required"/>
<xsd:attribute name="Owner" type="xsd:string" use="required"/>
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 13 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
<xsd:attribute name="PortfolioImportType"
type="bdt:PortfolioImportType"
use="required"/>
</xsd:complexType>
The basic portfolio information can be set in the Java client code, for example:
myPf.setPortfolioName("My Portfolio");
myPf.setEffectiveStartDate(new GregorianCalendar(2006, 11, 26));
myPf.setOwner("myUser1");
myPf.setPortfolioImportType(PortfolioImportType.BY_HOLDINGS);
In .NET:
myPf.PortfolioName = "My Portfolio";
myPf.EffectiveStartDate = new DateTime(2006, 11, 26);
myPf.Owner = "myUser1";
myPf.PortfolioImportType = PortfolioImportType.BY_HOLDINGS;
Note that the EffectiveStartDate is defined as xsd:date in the WSDL. As a result, the
setEffectiveStartDate() method takes a Calendar. Also note the PortfolioImportType is defined in the
WSDL as follows:
<xsd:simpleType name="PortfolioImportType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BY_HOLDINGS"/>
<xsd:enumeration value="BY_NOTIONAL"/>
<xsd:enumeration value="BY_WEIGHT"/>
<xsd:enumeration value="BY_VALUE"/>
<xsd:enumeration value="BY_VALUE_AND_HOLDINGS"/>
<xsd:enumeration value="BY_HOLDINGS_UPDATE_ABSOLUTE"/>
<xsd:enumeration value="BY_HOLDINGS_UPDATE_DELTA"/>
<xsd:enumeration value="DELETE"/>
<xsd:enumeration value="BY_NOTIONAL_AND_HOLDINGS"/>
<xsd:enumeration value="BY_VALUE_HOLDINGS_AND_NOTIONAL"/>
</xsd:restriction>
</xsd:simpleType>
The XMLBeans implementation of the enumeration is not a true Java 1.5 implementation, but it can be
used in a similar fashion as shown in the sample code above.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 14 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
The next thing to do is to add the portfolio holdings. As seen above, the WSDL defines a bdt:Positions
type. This is a container for multiple bdt:Position types. Each Position defines an asset and shares. Barra
PortfolioManager supports the notion of multiple asset IDs for an asset in a portfolio. This is supported in
the WSDL as well. The structure has been simplified for this example:
<xsd:complexType name="Position">
<xsd:sequence>
<xsd:element name="MID" type="bdt:MID" maxOccurs="unbounded"/>
<xsd:element name="PosAttribute" type="bdt:PositionAttributeTYPE"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="Holdings" type="xsd:double" use="optional"/>
</xsd:complexType>
<xsd:complexType name="MID">
<xsd:attribute name="ID" type="xsd:string" use="required"/>
<xsd:attribute name="IDType" type="xsd:string" use="optional"/>
<xsd:attribute name="Priority" type="xsd:int" use="optional"
default="1"/>
</xsd:complexType>
<xsd:complexType name="PositionAttributeTYPE">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="value" type="xsd:string" use="required"/>
</xsd:complexType>
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 15 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Instantiation of the request object is handled differently than other objects in XMLBeans. Every highest-
level class, which is to say every operation’s request and response, is housed in a specialized document
class. For example, the SubmitImportJobRequest is created as follows:
SubmitImportJobRequestDocument myDoc =
SubmitImportJobRequestDocument.Factory.newInstance();
SubmitImportJobRequestDocument.SubmitImportJobRequest request =
myDoc.addNewSubmitImportJobRequest();
The SubmitImportJobRequestDocument is a container for the request. It is this container that is sent to
the Web service.
In .NET, no factories or documents are used.
The WSDL2Java application also generates the Web service stub. This class, named BDTServiceStub.java
may also be found with the XMLBeans classes. It should be instantiated with the BDT Web Service URL
as an input:
BDTServiceStub myStub = new
BDTServiceStub("https://www.barraone.com/axis2/services/BDTService");
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 16 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
The stub class contains a method that takes the SubmitImportJobRequestDocument as input and returns
a SubmitImportJobResponseDocument. Referring to the WSDL shows that the
SubmitImportJobResponse has the following structure (remember that the container document is
defined on top of the response by XMLBeans):
<xsd:element name="SubmitImportJobResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="JobID" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
We can therefore write the following code to import our portfolio and to retrieve a Job ID:
SubmitImportJobResponseDocument myRespDoc =
myStub.SubmitImportJob(myDoc);
SubmitImportJobResponseDocument.SubmitImportJobResponse myResp =
myRespDoc.getSubmitImportJobResponse();
System.out.println(myResp.getJobID());
In .NET, the following code will import a portfolio and retrieve a Job ID:
// credentials;
string user="User1";
string client="Client1";
string password="Password1";
// Call SubmitImportJob
// Parameters : user, client, password, jobName, UserAssets[],
Portfolio[],
// PortfolioTree[], AssetAttribute[], CurveAttribute[],
// Barra PortfolioManagerOverrides[], Barra PortfolioManagerCases[],
ImpliedVolAttribute[],
// SwaptionImpliedVolAttribute[], PortfolioAttribute[],
// MarketScenario[], MarketConditions[], PortfolioTransactions[],
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 17 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
// DeletePortfolioTransactions[]
// Return value: jobID
string JobID=null;
try
{
JobID=myStub.SubmitImportJob(user, client, password, "My Job Name",
null,new Portfolio[] {myPf}, null, null, null, null, null, null,
null, null, null, null, null, null);
// write the JobID
Console.WriteLine("Job ID: "+JobID);
}
catch(System.Web.Services.Protocols.SoapException ex)
{
// e.g., Invalid Credentials etc.)
Console.WriteLine(ex.Message);
}
catch(System.Net.WebException ex)
{
// e.g., ConnectFailure
Console.WriteLine(ex.Message);
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
Note: The following fields are not supported by Barra PortfolioManager; therefore they should be
mandatorily passed as NULL.
PortfolioTree[]
Barra PortfolioManagerOverrides[]
Barra PortfolioManagerCases[]
SwaptionImpliedVolAttribute[]
MarketScenario[]
MarketConditions[]
PortfolioTransactions[]
DeletePortfolioTransactions[]
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 18 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Getting Started
This section provides a description of the steps that are required to perform the various functions
supported by the Barra PortfolioManager Developer’s Toolkit, plus sample code fragments. For additional
information on the required inputs, refer the subsequent sections.
Assumptions
These instructions assume that the following statements are true:
• The client has a Barra PortfolioManager license
• The client has a Barra PortfolioManager Developer’s Toolkit license
• The user has an access level of Client Admin or Workgroup Admin
• The user has obtained the BDT WSDL from MSCI, available on the client support site:
https://support.msci.com/support/barra-portfoliomanager/barra-portfoliomanager/0731311193
• The user has installed one of the following development environments:
− Java SDK 1.8 from Sun Microsystems and Axis 2 from Apache
− Visual Studio 2003 or 2005 from Microsoft
Data Conventions
String data types must be entered within quotation marks (" "). All other data types are entered without
the quotation marks.
Date Format
The user must create a calendar object to be invoked when setting a date value.
Note: All times passed to BDT must be expressed in GMT. Likewise, all dates returned by BDT should be
interpreted in terms of GMT. The following code will create today’s date to be used when invoked with
myCal:
Calendar myCal = Calendar.getInstance();
In .NET:
DateTime myDate = new DateTime.Now;
To set an attribute to a date value, invoke the value, as illustrated in the following example, which will set
the effective start date for a portfolio to today:
myPf.setEffectiveStartDate(myCal);
In .NET:
myPf.EffectiveStartDate = myDate;
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 19 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Enum Format
The enumeration format requires the user to append the name of the attribute to the enumeration value.
The following example sets the value of the AggregationType attribute of a portfolio node to
“ASSIGNED_WEIGHT”:
myPfnode.setAggregationType(AggregationType.ASSIGNED_WEIGHT);
In .NET:
myPfnode.AggregationType = AggregationType.ASSIGNED_WEIGHT;
Note: In .NET, if an attribute for an enumerated field is not specified in the request, the first attribute in the
enumerated list is sent automatically. (A default attribute cannot be designated in the wsdl.) Thus, if an
enumerated attribute for a required field is not selected, the job will not fail; however, the user should not
depend upon this behavior, and the value should be set explicitly.
For instance, to set the value of the EffectiveStartDate field for a user asset, the following two entries are
required:
myAsset.EffectiveStartDate = myDate;
myAsset.EffectiveStartDateSpecified = true;
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 20 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Run the ant command. This will compile the source and generate jar files in the directory
/BDT/build/lib.
10. To run SimplePortfolioImport, for example, you can change to /BDT/source and run the following
command, which will reference your Axis2 installation and the certificate registered in Step 1:
java -cp
.;/BDT/build/lib/BDTService.aar;/BDT/build/lib/XBeanspackaged.
jar -Djavax.net.ssl.trustStore=[pathToYourKeystore] -
Djavax.net.ssl.trustStorePassword=[keyStorePassword] -
Djava.ext.dirs=[%AXIS2_HOME%/lib] SimplePortfolioImport
Java File
The following steps are required of any Java file, regardless of the BDT function.
1. Create a Java file using any editor (IntelliJ or Eclipse, for example).
2. In the Java file, create an import statement to import the BDT XMLBeans classes:
import com.barra.cp.bdtbeans.*;
.NET File
The following steps are required of any .NET file, regardless of the BDT function.
1. Create a file using any editor (VisualStudio.NET, for example).
2. In the file, create a using statement to include the BDTService.cs file.
3. Create a public class in the file. For example:
Request Object
The following steps are required to be performed in any Java BDT request object.
SubmitImportJobRequest is used in these examples:
1. All request objects must contain a request document. Create a request document with a
declaration and instantiation. For example:
SubmitImportJobRequestDocument myDoc;
myDoc = SubmitImportJobRequestDocument.Factory.newInstance();
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 21 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Note: The following fields are not supported by Barra PortfolioManager; therefore they should be
mandatorily passed as NULL.
PortfolioTree[]
Barra PortfolioManagerOverrides[]
Barra PortfolioManagerCases[]
SwaptionImpliedVolAttribute[]
MarketScenario[]
MarketConditions[]
PortfolioTransactions[]
DeletePortfolioTransactions[]
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 22 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Send Request
For Java, it is finally necessary to send the request. For example:
BDTServiceStub myStub = new BDTServiceStub();
SubmitImportJobResponseDocument myResp = myStub.SubmitImportJob
(myDoc);
String myJobid = myResp.getSubmitImportJobResponse().getJobID();
The JobID will be returned as a string. This string can then be used programmatically in other request
elements.
Note: The WSDL2JAVA tool generates the BDTServiceStub class. This class contains the functions that
send requests to and receive responses from the web service operations.
In .NET, no request objects are required.
Compile
Compile the Java application using javac. Be sure to set the class path to include the location of the
generated XMLBeans and BDTServiceStub.
Run
Run the Java file using Java.
Workgroup Permissioning
Your access to various portfolios, benchmarks, reports, and the like is controlled by the Barra
PortfolioManager workgroup permissioning mechanism. Refer the Barra PortfolioManager Help system
for details about workgroup permissioning.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 23 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
SubmitImportJob
The SubmitImportJob operation consists of the SubmitImportJobRequest element and the
SubmitImportJobResponse element.
SubmitImportJobRequest
The SubmitImportJobRequest element, a child element of the SubmitImportJob operation, is the parent
element of all import jobs (user assets, portfolios and positions, asset attributes and portfolio attributes).
It will return the JobID as a string in the SubmitImportJobResponse document (refer
SubmitImportJobResponse). This string can then be used programmatically in other request elements,
such as GetImportJobStatus, GetImportJobLog, and ListImportJobs.
Table 1. SubmitImportJobRequest
Client Y string Use this attribute to provide the client ID for your firm
or organization
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 24 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Note: The following fields are not supported by Barra PortfolioManager; therefore they should be
mandatorily passed as NULL.
PortfolioTree[]
Barra PortfolioManagerOverrides[]
Barra PortfolioManagerCases[]
SwaptionImpliedVolAttribute[]
MarketScenario[]
MarketConditions[]
DeletePortfolioTransactions[]
PortfolioTransactions[]
The elements of a SubmitImportJobRequest, when imported using separate request documents, should
generally be imported in the order in which they are presented in this document:
• User Assets
• Asset Attributes
• Portfolios
• Portfolio Attributes
This ordering is not necessary within an individual SubmitImportJobRequest. The application will
correctly order the elements.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 25 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
UserAssets
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 26 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Table 2. UserAssets
EffectiveStartDate N date Effective start date for the user asset. If not
specified, the value defaults to today’s date.
Refer Date Format.
For .NET, refer Optional Fields in .NET.
To import terms and conditions for user assets, the following steps are required:
1. Import the basic user asset attributes. For example:
UserAssets myAsset = myJob.addNewUserAssets();
myAsset.setOwner("myUser2");
myAsset.setEffectiveStartDate(myCal); // optional
In .NET:
UserAssets myAsset = new UserAssets();
myAsset.Owner = "myUser2";
myAsset.EffectiveStartDate = myDate; // optional
2. Create the attributes for the asset type (Equity Future in this example—refer EquityFutures). For
example:
EquityFuture myEquityFuture = myAsset.addNewquityFuture();
myEquityFuture.setID(“12345678”);
myEquityFuture.setIDType(“CUSIP”);
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 27 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
my EquityFuture. setPriceCurrency(“USD”);
myEquityFuture.setName(“My Equity Future”);
myEquityFuture.setUnderlierID(“654321”);
myEquityFuture.setUnderlierIDtype(“ISIN”);
myEquityFuture.setDeliveryDate(“myCal”);
myEquityFuture.set InstrumentType(“Equity Future”);
loasUserAssets(myAsset”);
In .NET:
EquityFutures myEquityFutures = new EquityFutures();
myEquityFutures.ID = "12345678";
myEquityFutures.IDType = "CUSIP";
myEquityFutures.Name = "My Bond Option";
myBondOption.Priority = AssetPriority.BARRA;
myEquityFutures.UnderlierID = "654321";
myEquityFutures.UnderlierIDType = "ISIN";
myBondOption.PriceCurrency = "USD"; // optional
myEquityFutures.DeliveryDate = myDate;
myEquityFutures.InstrumentType="Equity Future"
Actions
The Actions element is a child element of the UserAssets element that enables you to import asset
actions (e.g., to delete a user asset) for user assets.
To import asset actions, the following steps are required:
1. Import the basic user asset attributes. For example:
UserAssets myAsset = myJob.addNewUserAssets();
myAsset.setOwner("myUser");
myAsset.setEffectiveStartDate(myCal); // optional
In .NET:
UserAssets myAsset = new UserAssets();
myAsset.Owner = "myUser";
myAsset.EffectiveStartDate = myDate; // optional
myAsset.EffectiveStartDateSpecified = true; // required if
EffectiveStartDate is specified
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 28 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
2. Import the asset action (refer AssetAction). For example, to delete an asset with a CUSIP of
12345678:
Actions myActions = myAsset.addNewActions();
AssetAction myAction = myActions.addNewAssetAction();
myAction.setActionType(ActionType.DELETE);
myAction.setID("12345678");
myAction.setIDType("CUSIP");
loadUserAssets(myAsset);
In .NET:
Actions myActions = new Actions();
AssetAction myAction = new AssetAction();
myAction.ActionType = ActionType.DELETE;
myAction.ID = "12345678";
myAction.IDType = "CUSIP";
myAction.Items = new AssetAction[] {myAction};
AssetAction
The AssetAction element is the sole child element of Actions.
Table 3. AssetAction
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 29 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Composites
The Composites element is a child element of the UserAssets element that enables you to import terms
and conditions for composite assets.
Composite
The Composite element is the sole child element of the Composites element.
Table 4. Composite
PortfolioName Y string Enter the name of the portfolio on which the composite
is based. The portfolio must already exist in Barra
PortfolioManager.
DefaultPriceCurrency N string (3) Enter the ISO code for the currency in which you want
the price defined.
Default = USD.
For a list of currency codes, refer Country and Currency
Codes.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 30 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DefaultPrice N double Enter the price you want for the composite.
Default = 100.
EquityOptions
The EquityOptions element is a child element of the UserAssets element that enables you to import terms
and conditions for equity options. In addition to EquityOption data, you may be required to import
ExerciseSchedule and ImpliedVolatilitySchedule data. For a European-style barrier option, you must also
import EquityBarrierOptionAttributes data. For European-style Asian options, you must also import
AsianOptionAttributes data and possibly AsianOptionPricePool data.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 31 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
EquityOption
The EquityOption element is a child element of the EquityOptions element that enables you to import
basic information about an equity option.
Table 5. EquityOption
PriceCurrency N string (3) Enter the ISO code for the currency in which you want
the price defined.
Default = USD
For a list of currency codes, refer Country and Currency
Codes.
StrikePrice Y double Enter the strike price in the same currency as the
underlying equity. [Must match Price in the Exercise
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 32 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Index BARRAID
DAX DAXD
NASDAQ-100 NASD100
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 33 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ExerciseSchedule
The ExerciseSchedule element is a child element of the EquityOptions element that enables you to import
exercise schedules for Bermudan equity options.
Table 6. ExerciseSchedule
StartDate Y date The exercise date on which the Bermudan option can
be called. (Exercise schedules are used only with
“Bermudan” equity options.)
Refer Date Format.
ImpliedVolatilitySchedule
The ImpliedVolatilitySchedule element is a child element of the EquityOptions, EquityIndexFutureOptions,
FXOptions, FXFutureOptions, EuroDollarFutureOptions, and CommodityFutureOptions elements that
enables you to import an implied volatility schedule for the underlying instrument of the option.
Table 7. ImpliedVolatilitySchedule
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 34 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
AsianOptionAttributes
The AsianOptionAttributes element is a child element of the EquityOptions, EquityIndexFutureOptions,
FXOptions, EuroDollarFutureOptions, and CommodityFutureOptions elements that enables you to import
Asian option attributes for European-style options (other than barrier options).
Table 8. AsianOptionAttributes
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 35 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
AsianOptionPricePool
The AsianOptionPricePool element is a child element of the EquityOptions, EquityIndexFutureOptions,
FXOptions, EuroDollarFutureOptions, and CommodityFutureOptions elements, and enables you to specify
Asian option price pool dates, when an averaging period is not specified using the AsianOptionAttributes
element.
Table 9. AsianOptionPricePool
IDType Y string Enter the ID Type of the equity option. For acceptable
types, see Asset ID Types.
PriceDate Y date The date of a price in the Asian option price pool. It
must be greater than or equal to the option start date,
and less than or equal to the option end date.
Refer Date Format.
EquityBarrierOptionAttributes
The EquityBarrierOptionAttributes element is a child element of the EquityOptions element that enables
you to import barrier attributes for European-style equity options.
HitDate N date The date on which the option hit its barrier.
Refer Date Format.
For .NET, refer Optional Fields in .NET.
RebateAtEnd Y boolean Indicates if the option pays a rebate if the barrier is not
hit.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 36 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
EquityFutures
The EquityFutures element is a child element of the UserAssets element that enables you to import terms
and conditions for equity futures, equity index futures, and commodity index futures.
Note: You are required to import your own prices to model futures (or options on futures) in Barra
PortfolioManager.
EquityFuture
The EquityFuture element is the sole child element of the EquityFutures element.
IDType Y string Enter the ID Type. For acceptable types, see Asset ID
Types.
Name Y string (64) Specify the name of the equity future, equity index
future, or commodity index future.
ContractSize N double Enter the contract size of the equity future, equity index
future, or commodity index future.
Default = 100.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 37 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
UnderlierIDType Y string Enter the ID type of the underlying equity, equity index,
or commodity index.
PriceCurrency Y string (3) Enter the ISO code for the currency in which you want
the price defined.
For a list of currency codes, refer Country and Currency
Codes.
StartDate N date Start date for the equity future, equity index future, or
commodity index future contract.
Refer Date Format.
For .NET, refer Optional Fields in .NET.
FXFutures
The FXFutures element is a child element of the UserAssets element that enables you to import terms
and conditions for foreign exchange futures.
FXFuture
The FXFuture element is the sole child element of the FXFutures element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 38 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ContractSize N double Enter the contract size of the FX future. This is the
receive amount of the future specified in receive
currency.
Default = 100.
QuoteCurrency Y string (3) Enter the ISO code for the currency to be paid.
Currencies without any current or historical LIBOR rates
are rejected during import.
For a list of currency codes, refer Country and Currency
Codes.
Currency Y string (3) Enter the ISO code for the currency to be received.
Currencies without any current or historical LIBOR rates
are rejected during import.
For a list of currency codes, refer Country and Currency
Codes.
Country N string (3) Enter the ISO code of the country (for grouping
purposes).
For a list of country codes, refer Country and Currency
Codes.
FXForwards
The FXForwards element is a child element of the UserAssets element that enables you to import terms
and conditions for foreign exchange forwards.
FXForward
The FXForward element is the sole child element of the FXForwards element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 39 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ContractSize N double Enter the contract size of the FX forward. This is the
receive amount of the forward specified in receive
currency.
Default = 100.
ExchangeRate Y double Enter the contract exchange rate. This is the future
price of the receive currency in terms of the pay
currency.
QuoteCurrency Y string (3) Enter the ISO code for the currency to be paid.
Currencies without any current or historical LIBOR rates
are rejected during import.
For a list of currency codes, refer Country and Currency
Codes.
Currency Y string (3) Enter the ISO code for the currency to be received.
Currencies without any current or historical LIBOR rates
are rejected during import.
For a list of currency codes, refer Country and Currency
Codes.
Country N string (3) Enter the ISO code of the country (for grouping
purposes).
For a list of country codes, refer Country and Currency
Codes.
FXOptions
The FXOptions element is a child element of the UserAssets element that enables you to import terms
and conditions for foreign exchange options.
FXOption
The FXOption element is a child element of the FXOptions element that enables you to import terms and
conditions for foreign exchange options. For a European-style barrier option, you must also import
FXBarrierOptionAttributes data. For Bermudan options, you must also import FXOptionExerciseSchedule
data. To import an implied volatility schedule for the underlying FX forward, you must use
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 40 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ImpliedVolatilitySchedule. For European-style Asian options, you must also import AsianOptionAttributes
data and possibly AsianOptionPricePool data.
QuoteCurrency Y string (3) Enter the ISO code for the currency to be paid.
Currencies without any current or historical LIBOR
rates are rejected during import.
For a list of currency codes, refer Country and
Currency Codes.
Currency Y string (3) Enter the ISO code for the currency to be received.
Currencies without any current or historical LIBOR
rates are rejected during import.
For a list of currency codes, refer Country and
Currency Codes.
StartDate N date The start date of the option contract. Required for
import, but not used by Barra PortfolioManager.)
Refer Date Format.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 41 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
FXBarrierOptionAttributes
The FXBarrierOptionAttributes element is a child element of the FXOptions element that enables you to
import barrier attributes for European-style foreign exchange options.
BarrierLevel Y double Enter the barrier of the option, expressed in units of pay
currency per unit of receive currency.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 42 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
RebateAtEnd Y boolean Indicates if the option pays a rebate if the barrier is not
hit.
Acceptable values:
• true
• false
FXOptionExerciseSchedule
The FXExerciseSchedule element is a child element of the FXOptions element that enables you to import
exercise schedules for Bermudan FX options.
StartDate Y date The exercise date on which the Bermudan option can
be called. (FX exercise schedules are used only with
“Bermudan” FX options.)
Refer Date Format.
Price Y double Enter the strike price on the specified exercise date
(StartDate).
FXFutureOptions
The FXFutureOptions element is a child element of the UserAssets element that enables you to import
terms and conditions for foreign exchange future options.
FXFutureOption
The FXFutureOption element is a child element of the FXFutureOptions element that enables you to
import terms and conditions for foreign exchange future options. To import an implied volatility schedule
for the underlying FX future, you must use ImpliedVolatilitySchedule.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 43 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
QuoteCurrency Y string (3) Enter the ISO code for the currency to be paid.
Currencies without any current or historical LIBOR
rates are rejected during import.
For a list of currency codes, refer Country and
Currency Codes.
Currency Y string (3) Enter the ISO code for the currency to be received.
Currencies without any current or historical LIBOR
rates are rejected during import.
For a list of currency codes, refer Country and
Currency Codes.
StartDate N date The start date of the option contract. (Required for
import, but not used by Barra PortfolioManager.)
Refer Date Format.
DeliveryDate Y date The delivery date or last trade date of the FX future
option. (Required for import, but not used by Barra
PortfolioManager.)
Refer Date Format.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 44 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
LinkProxies
The LinkProxies element is a child element of the UserAssets element that enables you to import terms
and conditions for link proxies, including TBA mortgage-backed securities.
Note: The asset to which you link is restricted to equities, currencies/cash, and cash bonds — that is,
composites, ETFs, derivatives, and other link proxies cannot be used as underliers to a link proxy. For
currencies, the Underlying ID is an ISO currency code. Term deposits use a special Underlying ID. A
special Underlying ID is also used for TBA MBS.
LinkProxy
The LinkProxy element is the sole child element of the LinkProxies element.
UnderlierID Y string Enter the ID of the underlying proxy asset in the Barra
PortfolioManager database you are linking to as a
proxy. The asset to which you link is restricted to
equities, currencies/cash, and cash bonds — that is,
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 45 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
PriceCurrency Y string (3) Enter the ISO code for the currency in which you want
the price defined. [Ignore for Term Deposits].
Default: USD
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 46 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ContractsForDifference
The ContractsForDifference element is a child element of the UserAssets element that enables you to
import terms and conditions for contracts for difference.
ContractForDifference
The ContractForDifference element is the sole child element of the ContractsForDifference element.
Name Y string (64) Specify the name of the contract for difference.
UnderlierID Y string Enter the ID of the underlying asset for the contract for
difference.
UnderlierIDType Y string Enter the ID type of the underlying asset for the contract
for difference.
PriceCurrency N string (3) Enter the ISO code for the currency in which you want
the price defined.
Default = USD
For a list of currency codes, refer Country and Currency
Codes.
StartDate N date The start date of the contract for difference. Refer Date
Format.
For .NET, refer Optional Fields in .NET.
EndDate N date The end date of the contract for difference. Refer Date
Format.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 47 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ContractSize N double Enter the contract size of the contract for difference,
expressed in terms of the number of shares of the
underlying.
Default = 1.
EquityIndexFutureOptions
The EquityIndexFutureOptions element is a child element of the UserAssets element that enables you to
import terms and conditions for equity index future options.
Note: You are required to import your own prices to model futures (or options on futures) in Barra
PortfolioManager.
EquityIndexFutureOption
The EquityIndexFutureOption element is a child element of the EquityIndexFutureOptions element that
enables you to import information about an equity index future option. To import an implied volatility
schedule for the underlying equity future or equity index future, you must use ImpliedVolatilitySchedule.
For European-style Asian options, you must also import AsianOptionAttributes data and possibly
AsianOptionPricePool data.
ID Y string Enter the asset ID of the equity index future option. This
can be either a market identifier or your own custom ID.
It does not need to conform to the ID type’s usual
format.
Name Y string (64) Specify the name of the equity index future option.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 48 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
StrikePrice Y double Enter the strike price in the same currency as the
underlying equity index future.
ContractSize N double Enter the contract size of the equity index future option.
Default = 100.
ImpliedVolatility Y double Enter the implied volatility of the underlying equity index
future. (Enter the percent volatility as a decimal, where
.03 = 3%). Cannot exceed 2.0.
For .NET, refer Optional Fields in .NET.
Country N string (3) Enter the ISO code of the country in which the equity
index future option was issued.
For a list of country codes, refer Country and Currency
Codes.
EquityClaims
The EquityClaims element is a child element of the UserAssets element that enables you to import terms
and conditions for equity claims.
EquityClaim
The EquityClaim element is the sole child element of the EquityClaims element that enables you to import
information about an equity claim.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 49 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ID Y string Enter the asset ID of the equity claim. This can be either
a market identifier or your own custom ID. It does not
need to conform to the ID type’s usual format.
UnderlierID Y string Enter the ID of the underlying equity. The underlying can
be only an equity or link proxy for an equity. Composite
assets are not permitted, even if they hold only equity
assets.
ExRightDate Y date The date from which the equity trades without the
claim. The equity price is the diluted price from this
date forward.
Refer Date Format.
EquityRuleBasedProxies
The EquityRuleBasedProxies element is a child element of the UserAssets element that enables you to
import terms and conditions for equity proxies.
Note: Equity asset exposures are subject to an aging rule in Barra PortfolioManager and will expire after
sixty (60) days. The user must reload equity proxy rules more frequently than this interval in order to
refresh their exposures; otherwise, the system cannot evaluate these assets.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 50 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
EquityRuleBasedProxy
The EquityRuleBasedProxy element is a child element of the EquityRuleBasedProxies element that
enables you to import basic information about an equity proxy. The user will also need to import data for
EquityProxyMarketDataSchedule as well as data for EquityProxyModelIndustry.
Name Y string (64) Specify the name of the equity rule-based proxy.
GICSCode N string Enter the full, 8-digit code for the GICS® (Global
Industry Classification System) to which the equity rule-
based proxy belongs. The S&P/MSCI Barra GICS
scheme uses an 8-digit code in which each of the four
2-digit pairs represent Sector, Industry Group, Industry,
and Sub-Industry, from left to right respectively. For
more information on GICS, see
https://www.msci.com/gics.
Currency Y string (3) Enter the ISO code for the currency to which the equity
rule-based proxy is exposed.
For a list of currency codes, refer Country and Currency
Codes.
Country Y string (3) Enter the ISO code of the country in which the equity
rule-based proxy was issued.
For a list of country codes, refer Country and Currency
Codes.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 51 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
EquityProxyMarketDataSchedule
The EquityProxyMarketDataSchedule element is a child element of the EquityRuleBasedProxies element
that enables you to import a schedule of market data for an equity rule-based proxy.
Note: There is no direct valuation of equity rule-based proxies. Therefore, the user must also import the
asset price using AssetAttribute.
StartDate Y date Enter the data date for which rules-based proxy
exposure will be computed. Barra
PortfolioManager uses the risk model data
available in the system as of this analysis date.
Refer Date Format.
SpecificRiskMultiplier N double Enter the specific risk multiplier for the equity rule-
based proxy. This value is used as scalar of the
cap-weighted average of the specific risk
exposures of all assets covered by the risk model
that are not in the estimation universe and that
share the same industry classification.
If both the SpecificRiskLevel and
SpecificRiskMultiplier are provided, Barra
PortfolioManager applies the multiplier to the
provided specific risk level.
Acceptable values: 0-100. If not specified, Barra
PortfolioManager sets the value to 1.
For .NET, refer Optional Fields in .NET.
SpecificRiskLevel N double Enter the specific risk level for the equity rule-
based proxy. This value is the absolution specific
risk level in terms of standard deviation.
If both the SpecificRiskLevel and
SpecificRiskMultiplier are provided, Barra
PortfolioManager applies the multiplier to the
provided specific risk level.
Acceptable values: 0-100. If not specified, Barra
PortfolioManager sets the value to the cap-
weighted average of the specific risk exposures of
all assets covered by the risk model that are not in
the estimation universe and that share the same
industry classification.
For .NET, refer Optional Fields in .NET.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 52 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
EquityProxyModelIndustry
The EquityProxyModelIndustry element is a child element of the EquityRuleBasedProxies element that
enables users to import an industry designation for an equity rule-based proxy.
ModelClass* Y string Enter the model name of the industry used for the
equity rule-based proxy.
Industry* Y string Enter the industry to which the equity rule-based proxy
belongs. For industries in an equity model, refer the
model datasheet.
* Barra PortfolioManager determines which model class and industry is specified and which risk model is
selected in the user’s analysis.
Certificates
The Certificates element is a child element of the UserAssets element that enables you to import terms
and conditions for certificates and trackers.
Certificate
The Certificate element is a child element of the Certificates element that enables you to import basic
information about a certificate or tracker. The user must also import data for
CerificateUnderlyingInstruments. Additionally, unless CertificateType is “STANDARD,” the user must also
import data for either ReverseCertificate, BonusCertificate, ReverseBonusCertificate, TwinWinCertificate,
OutperformanceCertificate, AirbagCertificate, DiscountCertificate, CapitalProtectedCertificate,
ReverseConvertibleCertificate, or BarrierRangeReverseConvertibleCertificate.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 53 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Currency Y string (3) Enter the ISO code for the currency to which the equity
rule-based proxy is exposed.
For a list of currency codes, refer Country and Currency
Codes.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 54 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
𝑆𝑆 = � 𝑤𝑤𝑖𝑖 𝑆𝑆𝑖𝑖
𝑖𝑖=1
• ReturnType.WEIGHTED_RETURN — certificate
payoff is expressed in terms of a basket of returns
of the individual underlying, i.e., Additional
certificate parameters are defined as multiples of
RS0, i.e., the weighted return at the start date of the
certificate.
𝑁𝑁 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎
𝑆𝑆𝑖𝑖
𝑅𝑅𝑅𝑅 = � 𝑤𝑤𝑖𝑖
𝑆𝑆𝑖𝑖.0
𝑖𝑖=1
CerificateUnderlyingInstruments
The CerificateUnderlyingInstruments element is a child element of the Certificates element that enables
you to import information about the underlying instruments of a certificate or tracker.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 55 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
InitialSharePrice N double Price of the underlying at the certificate Start Date. The
input is used if Start Date is in the past in the following
cases:
• Any certificate type, when the ReturnType is not
equal to “ReturnType.NO_RETURN” (to determine
the return)
• Capital Protection Certificate (to determine the
price level at which protection becomes active)
• Reverse Certificate (only when StrikePrice is not
specified explicitly) In the above cases, if not
provided by the user, the InitialSharePrice will be
computed by Barra PortfolioManager as the
internally available price of the underlying on
StartDate.
For .NET, refer Optional Fields in .NET.
ReverseCertificate
The ReverseCertificate element is a child element of the Certificates element that enables you to import
the strike price of a reverse certificate (for use when CertificateType is “REVERSE”).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 56 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BonusCertificate
The BonusCertificate element is a child element of the Certificates element that enables you to import
detailed information for a bonus certificate (for use when CertificateType is “BONUS”).
BarrierLevel Y double Number that specifies the barrier level. Must be lower
than the BonusLevel.
If ReturnType = “ReturnType.NO_RETURN,” then it
should be specified in the certificate’s currency units;
otherwise, it should be specified as a percentage of RS0.
HitDate N date The date on which the barrier was hit; leave blank if the
barrier has not been hit. If a HitDate is specified, the
BonusLevel is not guaranteed.
Refer Date Format.
For .NET, refer Optional Fields in .NET.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 57 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ReverseBonusCertificate
The ReverseBonusCertificate element is a child element of the Certificates element that enables you to
import detailed information for a bonus certificate (for use when CertificateType is “REVERSE_BONUS”).
HitDate N date The date on which the barrier was hit; leave blank if
the barrier has not been hit. If a HitDate is specified,
the BonusLevel is not guaranteed.
Refer Date Format.
For .NET, refer Optional Fields in .NET.
TwinWinCertificate
The TwinWinCertificate element is a child element of the Certificates element that enables you to import
detailed information for a twin win certificate (for use when CertificateType is “TWIN_WIN”).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 58 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BarrierLevel Y double Number that specifies the barrier level. Must be lower
than the StrikePrice.
If ReturnType = “ReturnType.NO_RETURN,” then it
should be specified in the certificate’s currency units;
otherwise, it should be specified as a percentage of RS0.
HitDate N date The date on which the barrier was hit; leave blank if the
barrier has not been hit. If a HitDate is specified, the
BonusLevel is not guaranteed.
Refer Date Format.
For .NET, refer Optional Fields in .NET.
OutperformanceCertificate
The OutperformanceCertificate element is a child element of the Certificates element that enables you to
import detailed information for an outperformance certificate (for use when CertificateType is
“OUTPERFORMANCE”).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 59 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
AirbagCertificate
The AirbagCertificate element is a child element of the Certificates element that enables you to import
detailed information for an airbag certificate (for use when CertificateType is “AIRBAG”).
Protection Y double A number that specifies the protection level for the
airbag certificate. Must be less than the strike price.
If ReturnType = “ReturnType.NO_RETURN,” then it
should be specified in the certificate’s currency units;
otherwise, it should be specified as a percentage of
RS0.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 60 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DiscountCertificate
The DiscountCertificate element is a child element of the Certificates element that enables you to import
detailed information for a discount certificate (for use when CertificateType is “DISCOUNT”).
BarrierLevel N double Number that specifies the barrier level. Must be lower
than the Cap. If BarrierLevel is specified, then the
certificate has extra protection if the price (or return) of
the underlier stays between the BarrierLevel and the
Cap from BarrierStartDate to BarrierEndDate.
If ReturnType = “ReturnType.NO_RETURN,” then it
should be specified in the certificate’s currency units;
otherwise, it should be specified as a percentage of RS0.
HitDate N date The date on which the barrier was hit; leave blank if the
barrier has not been hit. If a HitDate is specified, the
discount certificate turns into a (capped) tracker
certificate.
Refer Date Format.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 61 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
CapitalProtectedCertificate
The CapitalProtectedCertificate element is a child element of the Certificates element that enables you to
import detailed information for a capital-protected certificate (for use when CertificateType is
“CAPITAL_PROTECTION”).
Protection Y double A number that specifies the protection level for the
capital-protected certificate.
If ReturnType = “ReturnType.NO_RETURN,” then it
should be specified in the certificate’s currency units;
otherwise, it should be specified as a percentage of
RS0.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 62 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ReverseConvertibleCertificate
The ReverseConvertibleCertificate element is a child element of the Certificates element that enables you
to import detailed information for a reverse convertible certificate (for use when CertificateType is
“REVERSE_CONVERT”).
FirstPaymentDate N date The date that specifies the first coupon payment. If
not specified, defaults to the maturity date of the
certificate (a single payment at maturity).
Refer Date Format.
For .NET, refer Optional Fields in .NET.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 63 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
HitDate N date The date on which the barrier was hit; leave blank if
the barrier has not been hit. If a HitDate is
specified, the BonusLevel is not guaranteed.
Refer Date Format.
For .NET, refer Optional Fields in .NET.
BarrierRangeReverseConvertibleCertificate
The BarrierRangeReverseConvertibleCertificate element is a child element of the Certificates element that
enables you to import detailed information for a reverse convertible certificate with a barrier range (for
use when CertificateType is “BARRIER_RANGE_REVERSE_CONVERT”).
FirstPaymentDate N date The date that specifies the first coupon payment.
If not specified, defaults to the maturity date of
the certificate (a single payment at maturity).
Refer Date Format.
For .NET, refer Optional Fields in .NET.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 64 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
HitDate N date The date on which the barrier was hit; leave blank
if the barrier has not been hit.
Refer Date Format.
For .NET, refer Optional Fields in .NET.
Portfolio
The portfolio element is a child element of the SubmitImportJobRequest element that enables you to
define the basic attributes of your portfolios in Barra PortfolioManager or to delete the specified portfolio.
To import a portfolio, the following steps are required:
1. Import the portfolio attribute. For example:
Portfolio myPf = myJob.addNewPortfolio();
myPf.setPortfolioName("My Portfolio");
myPf.setDescription("My Portfolio Description"); // optional
myPf.setEffectiveStartDate(myCal);
myPf.setOwner("myUser");
myPf.setPortfolioImportType(PortfolioImportType.BY_HOLDINGS);
// myPf.setPortfolioValue(100); // optional
// myPf.setPortfolioCurrency("USD"); // optional
// myPf.setValidate(true); // optional
// myPf.setValidationModel("MAC.L"); // optional
// myPf.setStoreByValue(false); // optional
In .NET:
Portfolio myPf = new Portfolio();
myPf.PortfolioName = "My Portfolio";
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 65 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
2. Create the portfolio positions (refer Positions). The following example will load a position in the
asset with a CUSIP of 12345678. Note that the example also references an asset with an ISIN of
123456. The asset priority determines the priority of the asset ID for which a search is conducted.
If an asset that matches the CUSIP does not exist in Barra PortfolioManager, the system will look
for an asset that matches the ISIN.
Positions myPositions = myPf.addNewPositions();
Position myPos = myPositions.addNewPosition();
myPos.setHoldings(100);
// myPos.setWeight(100); // optional
// myPos.setValue(100); // optional
In .NET:
Positions myPositions = new Positions();
Position myPos = new Position();
myPos.Holdings = 100;
myPos.HoldingsSpecified = true;
// myPos.Weight = 100; // optional
// myPos.WeightSpecified = true; // optional
// myPos.Value = 100; // optional
// myPos.ValueSpecified = true; // optional
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 66 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Portfolio Y string Enter the short name of your portfolio. The full list of
prohibited characters in portfolio names is as follows:
{ } [ ] ~ ` ‘ # + = : ; <> " / \ | ? * TAB
The following non-alphanumeric characters are
allowed:
. , - _ $ % @ ^ ( ) & SPACE.
Date Y date Enter the effective holdings date. Refer Date Format.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 67 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ValidationModel N string Enter the name of the model to use for the validation.
Description N string Enter a long name description for the link or node.
Positions
The Positions element is a child element of the Portfolio element that enables you to define the positions
in your portfolio. You may import a position by holdings, weight, or value.
Note: Submitting a portfolio with no positions will clear the holdings in the portfolio for the date specified.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 68 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Position
The Position element is the sole child element of the Positions element.
PosAttribute name Y string Enter the name of the position-level attribute. Asset
attributes may be associated to the position (i.e., a
Portfolio/Benchmark + Asset ID combination). This
enables users to have different attribute values for
an asset depending on where it resides.
This is intended only for descriptive, grouping
attributes, and not for valuation.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 69 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Value N double When you import a position by value (or value and
holdings), enter the market value for each position.
Barra PortfolioManager will store the portfolio by
shares based on market value = dirty price * shares
* contract size.
For Bonds, the market value should include
accrued interest.
For some asset types, you may need to account for
differences in contract size between Barra
PortfolioManager and your back office system.
When you specify both value and holdings, the
system will read import by value as the higher
priority.
For .NET, refer Optional Fields in .NET.
Currency N* string (3) Enter the ISO currency code of the currency
perspective you want to use with this portfolio.
*Currency is required if PortfolioImportType is set
to PortfolioImportType.BY_VALUE.
This setting will override the currency setting read
from the Base Strategy.
For a list of currency codes, refer Country and
Currency Codes.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 70 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
AssetAttribute
The AssetAttribute element is a child element of the SubmitImportJobRequest element that enables you
to import (or delete) user-defined attributes (such as prices) for assets. Note that deletions are supported
only for user-defined attributes with an association of “Miscellaneous” or “Price.”
To import asset attributes, the following steps are required:
1. Import the attribute properties. For example:
AssetAttribute myAttribute = myJob.addNewAssetAttribute();
myAttribute.setName("My Attribute");
myAttribute.setEffectiveStartDate(myCal);
myAttribute.setOwner("myUser");
myAttribute.setClearData("NULL"); // optional
In .NET:
AssetAttribute myAttribute = new AssetAttribute();
myAttribute.Name = "My Attribute";
myAttribute.EffectiveStartDate = myDate;
myAttribute.Owner = "myUser";
myAttribute.ClearData = "NULL"; // optional
In .NET:
AttrValues myAttrvalues = new AttrValues();
AttrValue myAttrvalue = new AttrValue();
myAttrvalue.Value = 100;
myAttrvalue.Currency = "USD"; // optional
myAttrvalue.MID myMid = new MID();
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 71 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myMid.ID = "87654321";
myMid.IDType = "SEDOL"; // optional
myMid.Priority = 1; // optional
Name Y string Enter the attribute name. (The attribute must first be
created using either “AttributeDefinition” or the
Barra PortfolioManager graphical user interface.)
ClearData N string Enter the string that will be used in the Value field of
an attribute (in the AttrValue definition) in order to
delete that attribute value. Note that deletions are
supported only for user-defined attributes with an
association of “Miscellaneous” or “Price.”
AttrValues
The AttrValues element is a child element of the AssetAttribute element that enables you to define the
specific values for your imported asset attributes.
AttrValue
The AttrValue element is the sole child element of the AttrValues element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 72 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Value N double Enter the value of the specified attribute for the
asset.
To delete the data point, enter either “NULL” or the
value specified for ClearData in the AssetAttribute
definition.
PortfolioAttribute
The PortfolioAttribute element is a child element of the SubmitImportJobRequest element that enables
you to import user-defined portfolio attributes and time series of portfolio attribute values.
To import portfolio attributes, the following steps are required:
1. Import the portfolio attribute properties. For example:
PortfolioAttribute myPortAttribute =
request.addNewPortfolioAttribute();
myPortAttribute.setName("My Portfolio Attribute");
myPortAttribute.setEffectiveStartDate(myCal);
myPortAttribute.setOwner("myUser");
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 73 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myPortAttribute.setAssociation(PortfolioAttributeType.ASSIGNED_BASE_V
ALUE.
toString());
myPortAttribute.setType(PPfTimeSeriesType.REAL_NUMBER.toString());
In .NET:
PortfolioAttribute myPortAttribute = new PortfolioAttribute();
myPortAttribute.Name = "My Portfolio Attribute";
myPortAttribute.EffectiveStartDate = myDate;
myPortAttribute.Owner = "myUser";
myPortAttribute.Association =
PortfolioAttributeType.ASSIGNED_BASE_VALUE;
myPortAttribute.Type = PfTimeSeriesType.REAL_NUMBER;
myPortAttribute.EffectiveStartDate = new DateTime(2011, 9, 17);
myPortAttribute.MaxAge = 1;
2. Create and load the portfolio attribute data (refer “NumericWithCurrencyPortfolioTimeSeries”).
For example:
NumericWithCurrencyPortfolioTimeSeries myNWCPTS =
myPortAttribute.addNewNumericWithCurrencyPortfolioTimeSeries();
NumericWithCurrencyPortfolioTimeSeries.NumericWithCurrencyTimeSeries
myNWCTS = myNWCPTS.addNewNumericWithCurrencyTimeSeries();
myNWCTS.setPortfolio("My Portfolio");
myNWCTS.setPortfolioOwner("myUser");
NumericWithCurrencyTimeSeriesData myNWCTSD =
myNWCTS.addNewNumericWithCurrencyTimeSeriesData();
myNWCTSD.setEffectiveStartDate(myCal);
myNWCTSD.setValue(125);
myNWCTSD.setCurrency("USD");
In .NET:
NumericWithCurrencyPortfolioTimeSeries myNWCPTS = new
NumericWithCurrencyPortfolioTimeSeries ();
NumericWithCurrencyPortfolioTimeSeriesNumericWithCurrencyTimeSeries
myNWCTS = new
NumericWithCurrencyPortfolioTimeSeriesNumericWithCurrencyTimeSeries()
;
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 74 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
MaxAge N int Enter the number of calendar days until the attribute
data should expire, with a range of 1-365.
• Roll to next data point = −1 [Not used]
• None = 0 [Not used]
• Default = 1
Note: Portfolio Return is given a MaxAge of 1,
regardless of the user entry.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 75 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
PortfolioAttributeProperties
The PortfolioAttributeProperties element is a child element of the PortfolioAttribute element that enables
you to define the specific data values for your imported portfolio attributes.
Note: This is a legacy element that is retained solely for backward compatibility for importing
PORTFOLIO_RETURN or ASSIGNED_BASE_VALUE Association types. Use
NumericWithCurrencyPortfolioTimeSeries instead.
PortfolioAttributeProperty
The PortfolioAttributeProperty element is a child element of the PortfolioAttributeProperties element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 76 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
PortfolioName N string Enter the name of the portfolio with which the portfolio
attribute should be associated.
PortfolioOwner N string Enter the User ID of the owner of the portfolio with
which the portfolio attribute should be associated.
Currency N string Enter the ISO code of the currency in which the portfolio
attribute is denominated.
For a list of currency codes, refer Country and Currency
Codes.
TimeSeriesData
The TimeSeriesData element is the sole child element of the PortfolioAttributeProperty element. It
enables you to assign dated data values as a time series to the portfolio attribute.
EffectiveStartDate N date Enter the date at which the value of the portfolio
attribute is effective.
Refer Date Format.
For .NET, refer Optional Fields in .NET.
Currency N string Enter the ISO code of the currency in which the portfolio
attribute value is denominated.
For a list of currency codes, refer Country and Currency
Codes.
TextPortfolioTimeSeries
The TextPortfolioTimeSeries element is a child element of the PortfolioAttribute element that enables you
to define the specific data values for your imported portfolio attributes. It is used only for portfolio
attributes with a MISCELLANEOUS Association and a TEXT Type. Refer PortfolioAttribute.
Note: This element is reserved for future use; it serves no current function in Barra PortfolioManager.
TextTimeSeries
The TextTimeSeries element is the sole child element of the TextPortfolioTimeSeries element.
Portfolio Y string Enter the name of the portfolio with which the
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 77 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
PortfolioOwner Y string Enter the User ID of the owner of the portfolio with
which the portfolio attribute should be associated.
TextTimeSeriesData
The TextTimeSeriesData element is the sole child element of the TextTimeSeries element. It enables you
to assign dated data values as a time series to the portfolio attribute.
EffectiveStartDate Y date Enter the date at which the value of the portfolio
attribute is effective. Refer Date Format.
NumericPortfolioTimeSeries
The NumericPortfolioTimeSeries element is a child element of the PortfolioAttribute element that enables
you to define the specific data values for your imported portfolio attributes. It is used only for portfolio
attributes with a MISCELLANEOUS Association and a REAL_NUMBER Type. Refer PortfolioAttribute.
Note: This element is reserved for future use; it serves no current function in Barra PortfolioManager.
NumericTimeSeries
The NumericTimeSeries element is the sole child element of the NumericPortfolioTimeSeries element.
Portfolio Y string Enter the name of the portfolio with which the
portfolio attribute should be associated.
PortfolioOwner Y string Enter the User ID of the owner of the portfolio with
which the portfolio attribute should be associated.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 78 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
NumericTimeSeriesData
The NumericTimeSeriesData element is the sole child element of the NumericTimeSeries element. It
enables you to assign dated data values as a time series to the portfolio attribute.
EffectiveStartDate Y date Enter the date at which the value of the portfolio
attribute is effective. Refer Date Format.
ReferencePortfolioTimeSeries
The ReferencePortfolioTimeSeries element is a child element of the PortfolioAttribute element that
enables you to define the specific data values for your imported portfolio attributes. It is used only for
portfolio attributes with a MISCELLANEOUS Association and a REFERENCE_PORTFOLIO Type. Refer
PortfolioAttribute.
Note: This element is reserved for future use; it serves no current function in Barra PortfolioManager.
ReferenceTimeSeries
The ReferenceTimeSeries element is the sole child element of the ReferencePortfolioTimeSeries element.
Portfolio Y string Enter the name of the portfolio with which the
portfolio attribute should be associated.
PortfolioOwner Y string Enter the User ID of the owner of the portfolio with
which the portfolio attribute should be associated.
ReferenceTimeSeriesData
The ReferenceTimeSeriesData element is the sole child element of the ReferenceTimeSeries element. It
enables you to assign dated data values as a time series to the portfolio attribute.
EffectiveStartDate Y date Enter the date at which the value of the portfolio
attribute is effective. Refer Date Format.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 79 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
CurrencyPortfolioTimeSeries
The CurrencyPortfolioTimeSeries element is a child element of the PortfolioAttribute element that
enables you to define the specific data values for your imported portfolio attributes. It is used only for
portfolio attributes with a MISCELLANEOUS Association and a CURRENCY Type. Refer PortfolioAttribute.
Note: This element is reserved for future use; it serves no current function in Barra PortfolioManager.
CurrencyTimeSeries
The CurrencyTimeSeries element is the sole child element of the CurrencyPortfolioTimeSeries element.
Portfolio Y string Enter the name of the portfolio with which the
portfolio attribute should be associated.
PortfolioOwner Y string Enter the User ID of the owner of the portfolio with
which the portfolio attribute should be associated.
CurrencyTimeSeriesData
The CurrencyTimeSeriesData element is the sole child element of the CurrencyTimeSeries element. It
enables you to assign dated data values as a time series to the portfolio attribute.
EffectiveStartDate Y date Enter the date at which the value of the portfolio
attribute is effective. Refer Date Format.
Currency Y string Enter the ISO code of the currency in which the
portfolio attribute value is denominated.
For a list of currency codes, refer Country and
Currency Codes.
NumericWithCurrencyPortfolioTimeSeries
The NumericWithCurrencyPortfolioTimeSeries element is a child element of the PortfolioAttribute
element that enables you to define the specific data values for your imported portfolio attributes. It is
used only for portfolio attributes with an ASSIGNED_BASE_VALUE, PORTFOLIO_RETURN, or
CASH_IN_OUTFLOW Association (and a REAL_NUMBER Type). Refer PortfolioAttribute.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 80 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
NumericWithCurrencyTimeSeries
The NumericWithCurrencyTimeSeries element is the sole child element of the
NumericWithCurrencyPortfolioTimeSeries element.
Portfolio Y string Enter the name of the portfolio with which the
portfolio attribute should be associated.
PortfolioOwner Y string Enter the User ID of the owner of the portfolio with
which the portfolio attribute should be associated.
NumericWithCurrencyTimeSeriesData
The NumericWithCurrencyTimeSeriesData element is the sole child element of the
NumericWithCurrencyTimeSeries element. It enables you to assign dated data values as a time series to
the portfolio attribute.
EffectiveStartDate Y date Enter the date at which the value of the portfolio
attribute is effective. Refer Date Format.
Currency Y string Enter the ISO code of the currency in which the
portfolio attribute value is denominated.
For a list of currency codes, refer Country and
Currency Codes.
SubmitImportJobResponse
The SubmitImportJobResponse element, a child element of the SubmitImportJob operation, contains the
JobID as a string in the SubmitImportJobResponse document that is returned as the response to the
SubmitImportJobRequest element (refer SubmitImportJobRequest). This string can then be used
programmatically in other request elements, such as GetImportJobStatus, GetImportJobLog, and
ListImportJobs.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 81 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ListImportJobs
The ListImportJobs operation consists of the ListImportJobsRequest element and the
ListImportJobsResponse element.
ListImportJobsRequest
The ListImportJobsRequest element, a child element of the ListImportJobs operation, will return the
attributes of the ImportJobRecords element contained in the ListImportJobsResponse document (refer
ListImportJobsResponse).
Filter N enum Indicate whether you want to list all export jobs or
only BDT-initiated export jobs.
Acceptable values:
• ListJobFilter.BDT_JOBS_ONLY (default)
• ListJobFilter.ALL
• ListJobFilter. BPM_UI_JOBS
• ListJobFilter. BPM_BDT_JOBS
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 82 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Note: The WSDL2JAVA tool generates the BDTServiceStub class. This class contains the functions that
send requests to and receive responses from the web service operations.
For .NET:
ImportJobRecords myJobRecords = bdtWS.ListImportJobs("myUser",
"myClient",
"myPassword", ListJobFilter.ALL);
foreach(ImportJobRecord myRecord in myJobRecords)
{
Console.WriteLine("Job ID: "+myRecord.JobID);
Console.WriteLine("Job Name: "+myRecord.JobName);
Console.WriteLine("Owner: "+myRecord.Owner);
Console.WriteLine("Start Time: "+myRecord.StartTime);
Console.WriteLine("Completion Time: "+myRecord.CompletionTime);
Console.WriteLine("Job Status: "+myRecord.ImportJobStatus);
}
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 83 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ListImportJobsResponse
The ListImportJobsResponse element, a child element of the ListImportJobs operation, contains the
attributes of the ImportJobRecord element contained in the ListImportJobsResponse document that is
returned as the response to the ListImportJobsRequest element (refer ListImportJobs).
ImportJobRecords
The ImportJobRecords element is a child element of the ListImportJobsResponse element.
ImportJobRecord
The ImportJobRecord element is a child element of the ImportJobRecords element.
JobName Y String64Length (64) The import Job Name assigned to the import job in
the SubmitImportJobRequest document.
StartTime Y dateTime The date and time at which the import job began.
CompletionTime Y dateTime The date and time at which the import job ended.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 84 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetImportJobStatus
The GetImportJobStatus operation consists of the GetImportJobStatusRequest element and the
GetImportJobStatusResponse element.
GetImportJobStatusRequest
The GetImportJobStatusRequest element, a child element of the GetImportJobStatus operation, will
return the StatusValue as an integer in the GetImportJobStatusResponse document (refer
GetImportJobStatusResponse). This integer can then be used programmatically in other request
elements.
Client Y string Use this attribute to provide the client ID for your
firm or organization
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 85 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
(myDoc);
int myStatusValue =
myResp.getGetImportJobStatusResponse().getImportJobStatus();
Note: The WSDL2JAVA tool generates the BDTServiceStub class. This class contains the functions that
send requests to and receive responses from the web service operations.
In .NET, send the following:
int myStatusValue = bdtWS.GetImportJobStatus("myUser", "myClient",
"myPassword", "myJobID");
GetImportJobStatusResponse
The GetImportJobStatusResponse element, a child element of the GetImportJobStatus operation,
contains the StatusValue as an integer in the GetImportJobStatusResponse document that is returned as
the response to the GetImportJobStatusRequest element (refer GetImportJobStatusResponse). This
integer can then be used programmatically in other request elements. The GetImportJobStatusResponse
operation is normally invoked in a polling loop. The client should wait at least one minute between calls to
avoid excessive network traffic.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 86 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetImportJobLog
The GetImportJobLog operation consists of the GetImportJobLogRequest element and the
GetImportJobLogResponse element.
Note: The user should insert a pause between a GetImportJobStatus and GetImportJobLog request,
especially for short-running import jobs. For example:
getImportJobStatus();
Thread.sleep(5000);
getImportJobLog();
GetImportJobLogRequest
The GetImportJobLogRequest element, a child element of the GetImportJobLog operation, will return the
attributes of the ImportLog element contained in the GetImportJobLogResponse document (refer
GetImportJobLogResponse).
Client Y string Use this attribute to provide the client ID for your
firm or organization
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 87 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myJob.setJobID("12345678");
Note: The WSDL2JAVA tool generates the BDTServiceStub class. This class contains the functions that
send requests to and receive responses from the web service operations.
For .NET:
ImportLog myImportLog = bdtWS.GetImportJobLog("myUser", "myClient",
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 88 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
"myPassword", "myJobID");
// Console.WriteLine("Import Job Name: "+myImportLog.JobName);
foreach(ImportLogGroup myGroup in myImportLog.LogGroups)
{
Console.WriteLine("Group EffectiveDate: "+myGroup.EffectiveDate); //
// optional
Console.WriteLine("Group Name: "+myGroup.Name);
Console.WriteLine("Group Owner: "+myGroup.Owner);
Console.WriteLine("Group Total: "+myGroup.Total); // optional
Console.WriteLine("Group Rejected: "+myGroup.Rejected); // optional
Console.WriteLine("Group Blank: "+myGroup.Blank); // optional
Console.WriteLine("Group Duplicate: "+myGroup.Duplicate); // optional
Console.WriteLine("Group Result Message: "+myGroup.ResultMsg); //
optional
Console.WriteLine("Group Result Code: "+myGroup.ResultCode); //
optional
if(myGroup.Details!=null) {
foreach(ImportLogDetail myDetail in myGroup.Details)
{
Console.WriteLine("Detail Result Message: "+myDetail.ResultMsg); //
// optional
Console.WriteLine("Detail Result Code: "+myDetail.ResultCode); //
// optional
Console.WriteLine("Detail Message 1: "+myDetail.Detail1);
Console.WriteLine("Detail Message 2: "+myDetail.Detail2); // optional
Console.WriteLine("Detail Message 3: "+myDetail.Detail3); // optional
Console.WriteLine("Detail Message 4: "+myDetail.Detail4); // optional
}
}
}
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 89 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetImportJobLogResponse
The GetImportJobLogResponse element, a child element of the GetImportJobLog operation, contains the
attributes of the ImportLog element within the GetImportJobLogResponse document that is returned as
the response to the GetImportJobLogRequest element (refer GetImportJobLog). It contains summary and
detail log information associated with the import job or Bloomberg operation.
ImportLog
The ImportLog element is a child element of the GetImportJobLogResponse element. It contains the job
name associated with the import job in the import log.
JobName Y String64Length (64) The import Job Name assigned to the import job in
the SubmitImportJobRequest document.
LogGroups
The LogGroups element is a child element of the ImportLog element.
ImportLogGroups
The ImportLogGroups element is a child element of the LogGroups element. It contains summary log
information about the elements of the import job. Each row summarizes detail data that shares an
identical EffectiveDate, Name, and Owner.
Name Y string The name of the objects (i.e., the name of the portfolio,
attribute, asset type, etc.) being imported or deleted.
Owner Y string The owner of the objects (i.e., the owner of the portfolio,
attribute, asset type, etc.) being imported or deleted.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 90 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ResultMsg Y string The description of the result (e.g., “Success”) for the
imported objects. “Success” means that one or more of
the elements were imported successfully.
ResultCode Y string The result code (e.g., “OK”) for the imported objects.
Refer Error Codes.
Details
The Details element is a child element of the ImportLogGroups element.
ImportLogDetail
The ImportLogDetail element is a child element of the Details element. It contains detailed log
information about the group (e.g., the rejected assets in the portfolio).
ResultMsg Y date The description of the result (e.g., “Asset not found.
Cannot delete.”) for the imported or deleted object.
ResultCode Y string The result code (e.g., “BDOE019”) for the imported
or deleted object. Refer Error Codes.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 91 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 92 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
CreateAttributes
The CreateAttributes operation consists of the CreateAttributesRequest element and the
CreateAttributesResponse element.
CreateAttributesRequest
The CreateAttributesRequest element, a child element of the CreateAttributes operation, will create one or
more attributes in Barra PortfolioManager. It will return each created attribute’s Name/StatusValue pair in
the CreateAttributesResponse document (refer CreateAttributesResponse). The response can then be
used programmatically in other request elements.
Note: The CreateAttributes operation is used to create an attribute prior to importing attribute data. It
should be used when needed to create attributes and not used as part of a regular import process.
Client Y string Use this attribute to provide the client ID for your firm or
organization
4. Create the attribute (refer “AttributeDefinition”). For example, to create two attributes (the second
of which is an enumerated attribute):
AttributeDefinition myDef = myRequest.addNewAttributeDefinition();
myDef.setName("MyAttribute1");
myDef.setAttributeType(AttributeType.DATE);
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 93 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myDef.setAttribAgeType(AttribAgeType.THREE_MONTHS);
myDef.setAttribAggregationType(AttribAggregationType.NONE);
myDef = myRequest.addNewAttributeDefinition();
myDef.setName("MyAttribute2");
myDef.setAttributeType(AttributeType.ENUM);
myDef.setAttribAgeType(AttribAgeType.NONE);
myDef.setAttribAggregationType(AttribAggregationType.NONE);
String[] myArgs=new String[] {"one", "two", "three"};
myDef.EnumeratedAttribute=myArgs;
AttributeDefinition
AttributeDefinition is a child element of the CreateAttributesRequest element that enables you to define
the characteristics of the attribute to be created.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 94 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
AttribAgeType Y enum Maximum Age allowed for the values of the attribute.
Acceptable values:
• AttribAgeType.ONE_DAY
• AttribAgeType.ONE_WEEK
• AttribAgeType.ONE_MONTH
• AttribAgeType.THREE_MONTHS
• AttribAgeType.ONE_YEAR
• AttribAgeType.NONE
Note: For Performance Attribution, set this value to
greater than one day for a Price attribute if you want
your supplied prices (used to calculate returns) to roll
forward on weekends and holidays. Applies only to
assets for which Barra PortfolioManager calculates
returns from prices (i.e., derivatives and mutual funds).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 95 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
CreateAttributesResponse
The CreateAttributesResponse element, a child element of the CreateAttributes operation, contains the
attribute Name/StatusValue pairs in the AttributeCreationStatus document that is returned as the
response to the CreateAttributesRequest element (refer CreateAttributesRequest). This response can
then be used programmatically in other request elements.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 96 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DeleteAttribute
The DeleteAttribute operation consists of the DeleteAttributeRequest element and the
DeleteAttributeResponse element.
DeleteAttributeRequest
The DeleteAttributeRequest element, a child element of the DeleteAttribute operation, will delete one
attribute from Barra PortfolioManager. It will return each deleted attribute’s StatusValue in the
DeleteAttributeResponse document (refer DeleteAttributeReponse). The response can then be used
programmatically in other request elements.
Client Y string Use this attribute to provide the client ID for your
firm or organization
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 97 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DeleteAttributeResponse
The DeleteAttributeResponse element, a child element of the DeleteAttribute operation, contains the
attribute StatusValue in the DeleteAttributeResponse document that is returned as the response to the
DeleteAttributeRequest element (refer DeleteAttributeRequest). This response can then be used
programmatically in other request elements.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 98 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
SubmitRebalanceJob
The SubmitRebalanceJob operation consists of the SubmitRebalanceJobRequest element and the
SubmitRebalanceJobResponse element.
SubmitRebalanceJobRequest
The SubmitRebalanceJobRequest element, a child element of the SubmitRebalanceJob operation, takes a
set of optimization settings and parameters and submits an optimization job in Barra PortfolioManager.
Child elements of the SubmitRebalanceJobRequest element include RebalanceJobArgs and
RebalanceProfileSettingsArgs. The SubmitRebalanceJobRequest element will return a JobID for the
optimization (refer SubmitRebalanceJobResponse). The response can then be used programmatically in
other request elements.
RebalanceJobArgs
The RebalanceJobArgs element is a child element of the SubmitRebalanceJobRequest element that will
set up a base profile for the optimization and the initial portfolio.
Notes:
• The user must select an existing profile. Barra PortfolioManager Developer’s Toolkit does not
support the creation of a new optimization profile.
• The optimization profile element SingleOptimizationProfile enables the user to temporarily
override the settings of an existing optimization profile.
• To nullify a field value in an existing profile, the user must submit a value of zero (0) for an int
data type, an empty string (““) for a string data type, and a value of “Double.NaN” for a double data
type.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 99 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
RebalanceProfileName
The RebalanceProfileName element is a child element of the RebalanceJobArgs element.
RebalanceProfileSettingsArgs
The RebalanceProfileSettingsArgs element is a child element of the SubmitRebalanceJobRequest
element that enables you to override the settings in the base rebalance profile. OptimizationSetting is the
child element of RebalanceProfileSettingsArgs and contains the OptimizationMethod element. Currently,
only Single Optimization method is supported.
<xsd:complexType name="RebalanceProfileSettingsArgs">
<xsd:sequence>
<xsd:element name="OptimizationSetting"
type="bdt:OptimizationSetting" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OptimizationSetting">
<xsd:sequence>
<xsd:element name="OptimizationMethod"
type="bdt:OptimizationMethod" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 100 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
</xsd:complexType>
SingleOptimizationProfile
The SingleOptimizationProfile element is a child element of the OptimizationMethod element that enables
you to specify detailed settings for a Max Utility optimization type (Single Optimization method).
MaxUtility
The MaxUtility element is the sole child element of the SingleOptimizationProfile element and includes
the MaxUtilityConstraints and MaxUtilityGeneralSettings child elements.
MaxUtilityConstraints
The MaxUtilityConstraints element is a child element of the MaxUtility element that includes the
CashSettings, TurnoverConstraints, NonCashAssets, AssetLevelBounds, AssetParing,
TradeParingBySideTradePairingBySide, TradeLimitsBySide and RestrictedList elements.
CashSettings
The CashSettings element is a child element of the MaxUtilityConstraints element.
UpperBound N
CashInOutType
The CashInOutType element is a child element of the CashInOut element and provides the following
choices to control the optimized portfolio’s value.
Double N double Enter an amount entered that will tell the optimizer how
much (in the base currency) to add to the portfolio’s
value during optimization.
For example:
If the user specifies $100,000, the value of the
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 101 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Cleardata N boolean Use this choice to clear the value specified in the base
optimization profile.
BoundType
The BoundType element is a child element of the LowerBound and UpperBound elements and provides
the following choices.
TurnoverConstraints
The TurnoverConstraints element is a child element of the MaxUtilityConstraints element.
MaxBuyTurnover N
MaxSellTurnover N
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 102 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
TurnoverConstraintType
The TurnoverConstraintType element is a child element of the MaxTurnover, MaxBuyTurnover, and
MaxSellTurnover elements. Its child elements include Value and SetPriority. The Value element contains
the ValueType element, which provides the following choices to specify the constraint value.
The SetPriority element contains the PriorityType element, which enables you to specify if the constraint
is mandatory or soft. Acceptable values are:
• MANDATORY
• SOFT
NonCashAssets
The NonCashAssets element is a child element of the MaxUtilityConstraints element. You can specify
upper and lower bounds to include/restrict in the optimal portfolio all the noncash assets in the universe
and initial portfolios (and benchmark, if Include Benchmark in Universe is selected in the Optimization
Parameters). You can use this field, for example, if you are tracking a model portfolio and want to ensure
holdings with positions in all its assets (does not apply to futures).
Note: If you have imported asset bounds for specific assets, Barra PortfolioManager uses the imported
bounds for those assets, regardless of other constraint settings. You can specify the minimum as an
absolute value or relative (e.g., p+0.5, b-.01) to another portfolio.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 103 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
LowerBound N BoundType You can specify the minimum weight (in decimals, where
0.02 =2%) that any non-cash asset must have in the optimal
portfolio. If you set a minimum, the optimizer must include
these assets and weights, or it will not produce an optimal
portfolio. This minimum can be in addition to or instead of
setting a MinHolding for all assets. If the two values conflict,
Barra PortfolioManager uses the more restrictive constraint
(the higher minimum). Tip: To include all the non-cash assets
in the universe but still leave the optimizer room to add other
assets as well, you can set the minimum percentage to a very
small figure.
Refer BoundType.
UpperBound N BoundType You can specify the maximum weight as an absolute value or
relative (e.g., p+0.5, b-.01) to another portfolio (in decimals,
where 0.02 = 2%).
Refer BoundType.
AssetLevelBounds
The AssetLevelBounds element is a child element of the MaxUtilityConstraints element.
LowerBound Y AssetLvlBoundType Use to specify the name of the asset attribute that contains
the minimum weight for specific assets in the optimal
portfolio. If a minimum is set, the optimizer must include
these assets and weights, or it will not produce an optimal
portfolio. This can be a way to ensure that certain assets are
not sold in the optimization. This constraint can be set in
addition to (or instead of) the other Holdings Bounds (cash
and non-cash positions) and the MinHolding for all assets.
If any constraints conflict for particular assets, Barra
PortfolioManager uses the imported bounds for those
assets, regardless of other constraint settings. This requires
that the user first creates an asset attribute for the type of
bound to use (such as MinBound_Absolute or
MinBound_Relative) and then imports the asset data.
Minimum bounds can be set as absolute values or relative
to another portfolio or benchmark.
Refer AssetLvlBoundType.
UpperBound Y AssetLvlBoundType Use to specify the name of the asset attribute that contains
the maximum weight for specific assets in the optimal
portfolio. This constraint can be set in addition to (or
instead of) the other Holdings Bounds (cash and non-cash
positions) and the MinHolding for all assets.
If any constraints conflict for particular assets, Barra
PortfolioManager uses the imported bounds for those
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 104 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
AssetLvlBoundType
The AssetLvlBoundType element is a child element of the LowerBound and UpperBound elements. Its
child elements include AssetAttribute and ClearData.
ClearData N boolean Use this choice to clear the value specified in the
base optimization profile.
The AssetAttribute element contains the TypeAssetAttribute element, which provides the details of the
asset attribute.
AssetAttributeOwner N string Owner of the asset attribute. Note that this is case-
sensitive.
AssetParing
The AssetParing element is a child element of the MaxUtilityConstraints element. MinOfAssets and
MaxOfAssets are its child elements.
TradeConstraintType
The TradeConstraintType element is a child element of the MinOfAssets and MaxOfAssets elements.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 105 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
TradePairingBySide
The TradePairingBySide element is a child element of the MaxUtilityConstraints element. Use this
constraint to find an optimal portfolio by specifying a small, fixed number of trades, which can be
different for long and short positions.
TradePairingByType
The TradePairingByType element is a child element of the MinOfTradesLong, MaxOfTradesLong,
MinOfTradesShort and MaxOfTradesShort elements.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 106 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Value N integer Enter values in the respective fields for the minimum
and maximum number of long trades and the
minimum and maximum number of short trades for
the portfolio.
Cleardata N boolean Use this choice to clear the value specified in the
base optimization profile.
TradeLimitsBySide
The TradeLimitsBySide element is a child element of the MaxUtilityConstraints element. Use this
constraint to define the default limits on how much every asset in the universe can be traded separately
for the long and short leg of the portfolio.
LongMaxTrade N TradeLimitType Use to set a limit on the amount you can trade any
asset, as a percentage of the long leg or short leg
of the optimized portfolio. Enter the values in
percent for the maximum trade on the long and/or
short sides.
LongBuyLessThan N TradeLimitType
Refer TradeLimitType.
LongSellLessThan N TradeLimitType
ShortMaxTrade N TradeLimitType
ShortBuyLessThan N TradeLimitType
ShortSellLessThan N TradeLimitType
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 107 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
TradeLimitType
TradeLimitByType is a child element of the LongMaxTrade, LongBuyLessThan, LongSellLessThan,
ShortMaxTrade, ShortBuyLessThan and ShortSellLessThan elements.
RestrictedList
The RestrictedList element is a child element of the MaxUtilityConstraints element. This constraint allows
you to designate a whole portfolio or portfolio attributes, as Do Not Hold or No Trade, either firm-wide or
for a specific account.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 108 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
RestrictedListType
RestrictedListType is a child element of the FirmWideRestrictedList and AccountSpecificRestrictedList
elements.
Table 88 RestrictedListType
MaxUtilityGeneralSettings
The MaxUtilityGeneralSettings element is a child element of the MaxUtility element.
ReferenceSettings
The ReferenceSettings element is a child element of the MaxUtilityGeneralSettings element.
ReferenceProperties
The ReferenceProperties element is a child element of the ReferenceSettings element. Its child elements
include PrimaryBenchmark, SecondaryBenchmark, Market, and Universe.
ReferencePropertyType
The ReferencePropertyType is a child element of the PrimaryBenchmark, SecondaryBenchmark, Market,
and Universe elements. It allows to set the benchmarks, market and universe to either cash or a portfolio,
and also to clear a previously-defined value.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 109 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
The PortfolioType element is a child element of the ReferencePropertyType element and contains the
PortfolioDataType element.
1. In Barra PortfolioManager, go to Tools > Import/Export > Profile > Export Single to export your
Rebalance Profile.
2. Open the profile in Notepad++ (or any similar editor).
3. Modify the profile as needed.
4. Select all the content and click Plugins > MIME Tools > Base64 Encode.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 110 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
4. Create specific parameters for the Single Optimization type (refer SingleOptimizationProfile).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 111 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
SubmitRebalanceJobResponse
The SubmitRebalanceJobResponse element, a child element of the SubmitRebalanceJob operation,
contains the JobID as a string in the SubmitRebalanceJobResponse document that is returned as the
response to the SubmitRebalanceJobRequest element (refer SubmitRebalanceJobRequest). This string
can then be used programmatically in other request elements, such as GetRebalanceJobStatus and
ListRebalanceJobs.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 112 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceSummaryReport
The GetRebalanceSummaryReport operation consists of the GetRebalanceSummaryReportRequest
element and the GetRebalanceSummaryReportResponse element.
GetRebalanceSummaryReportRequest
The GetRebalanceSummaryReportRequest element, a child element of the GetRebalanceSummaryReport
operation, will return the attributes of the OptSummaryReport element contained in the
GetRebalanceSummaryReportResponse document (refer GetRebalanceSummaryReportResponse).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 113 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceSummaryReportResponse
The GetRebalanceSummaryReportResponse element, a child element of the
GetRebalanceSummaryReport operation, contains the attributes of the OptSummaryReport element
within the GetRebalanceSummaryReportResponse document that is returned as the response to the
GetRebalanceSummaryReportRequest element (refer GetRebalanceSummaryReportRequest).
OptSummaryReport
OptSummaryReport is a child element of the GetRebalanceSummaryReportResponse element.
OptSummaryRow
OptSummaryRow is child element of the OptSummaryReport element.
OptSummaryColumn
OptSummaryColumn is a child element of the OptSummaryRow element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 114 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ListRebalanceJobs
The ListRebalanceJobs operation consists of the ListRebalanceJobsRequest element and the
ListRebalanceJobsResponse element.
ListRebalanceJobsRequest
The ListRebalanceJobsRequest element, a child element of the ListRebalanceJobs operation, will return
the attributes of the RebalanceJobRecord element contained in the ListRebalanceJobsResponse
document (refer ListRebalanceJobsResponse).
RebalanceSettings
RebalanceSettings is an element of the ListRebalanceJobsRequest element that enables you to specify
the rebalance settings.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 115 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myDoc = ListRebalanceJobsRequestDocument.Factory.newInstance();
3. Set the request attributes (see Tables 97 and 98). For example:
myJob.setUser("myUser");
myJob.setClient("myClient");
myJob.setPassword("myPassword");
myJob.setAnalysisDate("AnalysisDate");
RebalanceSettings rebSettings =
RebalanceSettings.Factory.newInstance();
rebSettings. setOptimizationProfileName (“profile name”);
rebSettings.setOptimizationProfileOwner(“myUser”);
rebSettings.setPortfolioName(“portfolioName”);
rebSettings.set PortfolioOwner(“myUser”);
Note: The WSDL2JAVA tool generates the BDTServiceStub class. This class contains the functions that
send requests to and receive responses from the web service operations.
For .NET:
RebalanceJobRecords myJobRecords = bdtWS.ListRebalanceJobs("myUser",
"myClient","myPassword",);
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 116 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ListRebalanceJobsResponse
The ListRebalanceJobsResponse element, a child element of the ListRebalanceJobs operation, contains
the attributes of the RebalanceJobRecord element contained in the ListRebalanceJobsResponse
document that is returned as the response to the ListRebalanceJobsRequest element (refer
ListRebalanceJobs).
RebalanceJobRecords
RebalanceJobRecord is a child element of the ListRebalanceJobsRequest element.
StartTime Y dateTime The date and time at which the rebalance job
began.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 117 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DeleteRebalanceJob
The DeleteRebalanceJob operation consists of the DeleteRebalanceJobRequest element and the
DeleteRebalanceJobResponse element.
DeleteRebalanceJobRequest
The DeleteRebalanceJobRequest element, a child element of the DeleteRebalanceJob operation, will
delete one rebalance job from Barra PortfolioManager. It will return each deleted job’s StatusValue in the
DeleteOptimizationJobResponse document (refer DeleteRebalanceJobResponse). The response can then
be used programmatically in other request elements.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 118 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DeleteRebalanceJobResponse
The DeleteRebalanceJobResponse element, a child element of the DeleteRebalanceJob operation,
contains the attribute StatusValue in the DeleteRebalanceJobResponse document that is returned as the
response to the DeleteRebalanceJobRequest element (refer DeleteRebalanceJobRequest).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 119 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceStatistics
The GetRebalanceStatistics operation consists of the GetRebalanceStatisticsRequest element and the
GetRebalanceStatisticsResponse element.
GetRebalanceStatisticsRequest
The GetRebalanceStatisticsRequest element, a child element of the GetRebalanceStatistics operation, will
return the attributes of the OptimizedPortfolioStatistics element contained in the
GetRebalanceStatisticsResponse document (refer GetRebalanceStatisticsResponse).
Portfolio Y int Enter the index of the portfolio. This is always 1, except
for efficient frontier optimizations, where the value
represents the number that identifies the portfolio on
the efficient frontier.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 120 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceStatisticsResponse
The GetRebalanceStatisticsResponse element, a child element of the GetRebalanceStatistics operation,
contains the attributes of the OptimizedPortfolioStatistics element in the
GetRebalanceStatisticsResponse document that is returned as the response to the
GetRebalanceStatisticsRequest element (refer GetRebalanceStatisticsRequest).
OptimizedPortfolioStatistics
OptimizedPortfolioStatistics is a child element of the GetRebalanceStatisticsResponse element that lists
the statistics of the rebalance.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 121 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 122 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceTradeList
The GetRebalanceTradeList operation consists of the GetRebalanceTradeListRequest element and the
GetRebalanceTradeListResponse element.
GetRebalanceTradeListRequest
The GetRebalanceTradeListRequest element, a child element of the GetRebalanceTradeList operation,
will return the attributes of the OptimizerTradeListInfo element contained in the
GetRebalanceTradeListResponse document (refer GetRebalanceTradeListResponse).
Portfolio Y int Enter the index of the portfolio. This is always 1, except
for efficient frontier optimizations, where the value
represents the number that identifies the portfolio on
the efficient frontier.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 123 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceTradeListResponse
The GetRebalanceTradeListResponse element, a child element of the GetRebalanceTradeList operation,
contains the attributes of the OptimizerTradeListInfo element within the GetRebalanceTradeListResponse
document that is returned as the response to the GetRebalanceTradeListRequest element (refer
GetRebalanceTradeListRequest).
OptimizerTradeListInfo
OptimizerTradeListInfo is a child element of the GetRebalanceTradeListResponse element that lists
details of the trade list.
AssetId
AssetId is a child element of the OptimizerTradeListInfo element and the AssetWeight element.
OptimalPortfolioAssetIdentifier
The OptimalPortfolioAssetIdentifier element is a child element of the AssetId element.
Id
The Id element is a child element of the OptimalPortfolioAssetIdentifier element and contains an array of
the ID and ID type for assets.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 124 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Table 107. Id
AssetIdentifier Y array An array of ID and IDType pairs (one pair per asset).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 125 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceJobStatus
The GetRebalanceJobStatus operation consists of GetRebalanceJobStatusRequest element and the
GetRebalanceJobStatusResponse element.
GetRebalanceJobStatusRequest
The GetRebalanceJobStatusRequest element, a child element of the GetRebalanceJobStatus operation,
will return the StatusValue as an integer in the GetRebalanceJobStatusResponse document (refer
GetRebalanceJobStatusResponse). This integer can be used programmatically in other request elements.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 126 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceJobStatusResponse
The GetRebalanceJobStatusResponse element, a child element of the GetRebalanceJobStatus operation,
contains the StatusValue as an integer in the GetRebalanceJobStatusResponse document that is
returned as the response to the GetRebalanceJobStatusRequest element (refer
GetRebalanceJobStatusRequest). This integer can then be used programmatically in other request
elements.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 127 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceOptimalWeights
The GetRebalanceOptimalWeights operation consists of the GetRebalanceOptimalWeightsRequest
element and the GetRebalanceOptimalWeightsResponse element.
GetRebalanceOptimalWeightsRequest
The GetRebalanceOptimalWeightsRequest element, a child element of the GetRebalanceOptimalWeights
operation, will return the attributes of the OptimalWeights element contained in the
GetRebalanceOptimalWeightsResponse document (refer GetRebalanceOptimalWeightsResponse).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 128 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceOptimalWeightsResponse
The GetRebalanceOptimalWeightsResponse element, a child element of the
GetRebalanceOptimalWeights operation, contains the attributes of the OptimalWeights element within the
GetRebalanceOptimalWeightsResponse document that is returned as the response to the
GetRebalanceOptimalWeightsRequest element (refer GetRebalanceOptimalWeightsRequest).
OptimalWeights
The OptimalWeights element is a child element of the GetRebalanceOptimalWeightsResponse element.
AssetWeight
The AssetWeight element is a child element of the OptimalWeights element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 129 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceStatusAndOptimalWeights
The GetRebalanceStatusAndOptimalWeights operation consists of the
GetRebalanceStatusAndOptimalWeightsRequest element and the
GetRebalanceStatusAndOptimalWeightsResponse element.
GetRebalanceStatusAndOptimalWeightsRequest
The GetRebalanceStatusAndOptimalWeightsRequest element, a child element of the
GetRebalanceStatusAndOptimalWeights operation, will return the attributes of the OptimalWeights (if the
rebalance job is complete) or the Status of the job (if the rebalance job is pending) in the
GetRebalanceStatusandOptimalWeightsResponse document (refer
GetRebalanceStatusAndOptimalWeightsResponse).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 130 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myRequest.setPassword("myPassword");
myRequest.setJobID("myJobID");
myRequest.SetPortfolio(“myPortfolioIndex”)
GetRebalanceStatusAndOptimalWeightsResponse
The GetRebalanceStatusAndOptimalWeightsResponse element is a child element of the
GetRebalanceStatusAndOptimalWeights operation. It contains the Status or OptimalWeights elements
depending on the job status in the GetRebalanceStatusAndOptimalWeightsResponse document that is
returned as the response to the GetRebalanceStatusAndOptimalWeightsRequest element (refer
GetRebalanceStatusAndOptimalWeightsRequest).
Status N string Indicates the status of the rebalance job and returns
“WAITING” only if the job is currently in progress. If the
job is complete, only optimal portfolio weights are
returned.
OptimalWeights
OptimalWeights is a child element of the GetRebalanceStatusAndOptimalWeightsResponse element.
AssetWeight
The AssetWeight element is a child element of the OptimalWeights element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 131 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceInputFiles
The GetRebalanceInputFiles operation consists of the GetRebalanceInputFilesRequest element and the
GetRebalanceInputFilesResponse element.
GetRebalanceInputFilesRequest
The GetRebalanceInputFilesRequest element, a child element of the GetRebalanceInputFilesJob
operation, will retrieve the saved debug info for a rebalance job from Barra PortfolioManager. It will return
a zipped file, which will contain three files (.xml, .wsp, and .txt) with the optimization input data, in the
GetRebalanceInputFilesResponse document (refer GetRebalanceInputFilesResponse).
Portfolio Y int Enter the index of the portfolio. This is always 1, except
for efficient frontier optimizations, where the value
represents the number that identifies the portfolio on
the efficient frontier.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 132 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetRebalanceInputFilesResponse
The GetRebalanceInputFilesResponse element, a child element of the GetRebalanceInputFiles operation,
contains a zipped file in the GetRebalanceInputFilesResponse document that is returned as the response
to the GetRebalanceInputFilesRequest element (refer GetRebalanceInputFilesRequest). The zipped file
contains the optimization input data, which can be used for debugging, in three different formats (.xml,
.wsp, .txt).
RebalanceInputFiles
The RebalanceInputFiles is a child element of the GetRebalanceInputFilesResponse element.
AttachmentType
The AttachmentType element is the child element of the RebalanceInputFiles element.
FileName Y string The file name of the optimization input file retrieved.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 133 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ListSupportedReports
The ListSupportedReports operation provides a list of reports that can be submitted and retrieved
through the SubmitReportJob and RetrieveReports operations. It consists of the
ListSupportedReportsRequest element and the ListSupportedReportsResponse element. The list of
reports is returned as an XML object.
ListSupportedReportsRequest
The ListSupportedReportsRequest element, a child element of the ListSupportedReports operation, will
return the ReportDetails element contained in the ListSupportedReportsResponse document (refer
ListSupportedReportsResponse).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 134 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ListSupportedReportsResponse
The ListSupportedReportsResponse element, a child element of the ListSupportedReports operation,
contains the attributes of the ReportDetails element contained in the ListSupportedReportsResponse
document that is returned as the response to the ListSupportedReportsRequest element.
ReportDetails
The ReportDetails element is a child element of the ListSupportedReportsRequest element.
ReportDetailsGroup
The ReportDetailsGroup is a child element of the ReportDetails element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 135 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetReportParameters
The GetReportParameters operation uses the ReportId returned by the ListSupportedReportsResponse
element and returns the supported parameters that can be used to run a report. This operation consists
of the GetReportParametersRequest element and the GetReportParametersResponse element.
GetReportParametersRequest
The GetReportParametersRequest element, a child element of the GetReportParameters operation, will
return the attributes of the ReportParameters element contained in the GetReportParametersResponse
document (refer GetReportParametersResponse).
ReportId
The ReportId element is a child element of the GetReportParametersRequest element.
ReportDetails
The ReportDetails element is a child element of the ReportId element. For details, see ReportDetails.
To create the GetReportParametersRequest object, the following steps are required:
1. Create a request document with a declaration and instantiation. For example:
GetReportParametersRequestDocument myDoc;
myDoc = GetReportParametersRequestDocument.Factory.newInstance();
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 136 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ReportParametersResponse[] myReportParameters
=stub.GetReportParameters("myUser", "myClient",
myPassword",”myReportId”);
ReportParametersResponse[0] =ReportName ;
ReportParametersResponse[1]= ReportParameters;
GetReportParametersResponse
The GetReportParametersResponse element, a child element of the GetReportParameters operation,
contains the attributes of the ReportParameters element in the GetReportParametersResponse document
that is returned as the response to the GetReportParametersRequest element.
ReportName
The ReportName element is a child element of the GetReportParametersResponse element.
ReportDetails
The ReportDetails element is a child element of the ReportName element. For details, see ReportDetails.
ReportParameters
The ReportParameters element is a child element of the GetReportParametersReponse element.
ReportParametersDef
The ReportParametersDef element is a child element of the ReportParameters element.
DefaultParameters
The DefaultParameters element is a child element of the ReportParametersDef element.
Parameters
The Parameters element is a child element of the DefaultParameters element
ParametersGroup
The ParametersGroup is a child element of the Parameters element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 137 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ParametersNameandValues
The ParametersNameandValues element is a child element of the ReportParametersDef element.
ParameterValueIdName
The ParameterValueIdName element is a child element of the ParametersNameAndValues element.
ParameterValueGroup
The ParameterValueGroup is a child element of the ParameterValueIdName element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 138 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
SubmitReportJob
The SubmitReportJob operation consists of the SubmitReportJobRequest element and the
SubmitReportJobResponse element.
SubmitReportJobRequest
The SubmitReportJobRequest element, a child element of the SubmitReportJob operation, will return the
attributes of the JobResponse element contained in the SubmitReportJobResponse document (refer
SubmitReportJobResponse).
PAAttributionParam
The PAAttributionParam element is a child element of the SubmitReportJobRequest element.
ReturnAttribution
The ReturnAttribution element is a child element of the PAAttributionParam element. It contains details
about the portfolios, analysis settings and time series settings to be used in the report.
Portfolios
The Portfolios element is a child element of the ReturnAttribution element. You can specify multiple
portfolios in a SubmitReportJobRequest element.
InputPortfolio
The InputPortfolio element is a child element of the Portfolios element.
NameAndOwner
The NameAndOwner element is a child element of the InputPortfolios element. It specifies the name and
owner of the portfolio.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 139 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
AnalysisSettings
The AnalysisSettings element is a child element of the ReturnAttribution and the SharedSettings
elements.
InputAnalysisSettings
The InputAnalysisSettings element is a child element of the AnalysisSettings element.
NameAndOwner
The NameAndOwner element is a child element of the InputAnalysisSettings element. It specifies the
name and owner of the analysis settings that will be used in the report.
TimeSeriesSettings
The TimeSeriesSettings element is a child element of the ReturnAttribution and the SharedSettings
elements.
InputTimeSeriesSettings
The InputTimeSeriesSettings element is a child element of the TimeSeriesSettings element.
TimeSeriesDateRange
The TimeSeriesDateRange element is a child element of the InputTimeSeriesSettings element. It can be
used to change the timeseries settings that will be used in the report. You can either specify a relative
date or a date range.
NameAndOwner
The NameAndOwner element is a child element of the InputTimeSeriesSettings element. It specifies the
name and owner of the time series settings that will be used in the report.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 140 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
SubmitReportJobResponse
The SubmitReportJobResponse element, a child element of the SubmitReportJob operation, contains the
attributes of the JobResponse element contained in the SubmitReportJobResponse document that is
returned as the response to the SubmitReportJobRequest element.
JobResponse
The JobResponse element is a child element of the SubmitReportJobRequest element. It contains an
array of job IDs (one for each portfolio specified in the request) and a task ID associated with the report.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 141 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 142 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetReportJobStatus
The GetReportJobStatus operation consists of the GetReportJobStatusRequest element and the
GetReportJobStatusResponse element.
GetReportJobStatusRequest
The GetReportJobStatusRequest element, a child element of the GetReportJobStatus operation, will
return the attributes of the StatusValue element contained in the GetReportJobStatusResponse
document (refer GetReportJobStatusResponse).
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 143 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetReportJobStatusResponse
The GetReportJobStatusResponse element, a child element of the GetReportJobStatus operation,
contains the attributes of the StatusValue element in the GetReportJobStatusResponse document that is
returned as the response to the GetReportJobStatusRequest element (refer
GetReportJobStatusRequest).
StatusValue Y int Indicates the status of the job. The following values
are supported:
• 30 for a pending job.
• 1 for a successful job.
• -1 for a failed job.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 144 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
RetrieveReports
The RetrieveReports operation is used to retrieve reports in XML object format. It consists of the
RetrieveReportsRequest element and the RetrieveReportsResponse element. The following reports are
currently supported:
• Risk
− Portfolio Risk Summary
− Risk Attribution
− Allocation-Selection Risk Attribution
− Positions Report
− Factor Exposure
− GICS Exposure
• Return
− Portfolio Return Summary
− Return Attribution
− Time-Series Return Attribution
− Time Series Factor Comparison
− Factor Return Attribution
− Allocation-Selection Return Attribution
− Asset Contribution to Return
RetrieveReportsRequest
The RetrieveReportsRequest element, a child element of the RetrieveReports operation, will return the
ReportRoot element contained in the RetrieveReports Response document. To use the RetrieveReports
operation, we require two main parameters in the RetrieveReportsRequest element:
1. The preferred choice for retrieving a report. Currently, there are three ways to retrieve a report
(you must specify at least one):
− Retrieve by Task ID
− Retrieve by Performance Report Definition
− Retrieve by Risk Report Definition
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element name="TaskId"
type="xsd:string" minOccurs="0" maxOccurs="1"/>
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 145 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
<xsd:element name="PAReportDefinition"
type="bdt:ReturnAttribution" minOccurs="0" maxOccurs="1"/>
<xsd:element name="RiskReportsDefinition"
type="bdt:RiskReportsDefinition" minOccurs="0" maxOccurs="1"/>
</xsd:choice>
2. The preferred choice for specifiying report details. Currently, there two options available (you
must specify at least one):
− The ReportParameterList element, which can override the default parameters used to run the
report. Its child element is the ReportParametersDef element. This must include the
ReportName, which will be used to retrieve the report.
− The ReportTemplate element, which will specify the user-saved report template that should be
used to retrieve the report.
PAReportDefinition N Use the same report definition that you use to run the
SubmitReportJob operation to retrieve the report. For
details, see PAReportDefinition.
PAReportDefinition
The PAReportDefinition element is a child element of the RetrieveReportsRequest element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 146 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ReturnAttribution
The ReturnAttribution element is a child element of the PAReportDefinition element. The parameters
must be the same as the ones used in the SubmitReportJob operation. It contains details about the
portfolios, analysis settings and time series settings to be used in the report.
Portfolios
The Portfolios element is a child element of the ReturnAttribution element. You can specify multiple
portfolios in a SubmitReportJobRequest element.
InputPortfolio
The InputPortfolio element is a child element of the Portfolios element.
NameAndOwner
The NameAndOwner element is a child element of the InputPortfolios element. It specifies the name and
owner of the portfolio.
AnalysisSettings
The AnalysisSettings element is a child element of the ReturnAttribution element.
InputAnalysisSettings
The InputAnalysisSettings element is a child element of the AnalysisSettings element.
NameAndOwner
The NameAndOwner element is a child element of the InputAnalysisSettings element. It specifies the
name and owner of the analysis settings that will be used in the report.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 147 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
TimeSeriesSettings
The TimeSeriesSettings element is a child element of the ReturnAttribution and the SharedSettings
elements.
InputTimeSeriesSettings
The InputTimeSeriesSettings element is a child element of the TimeSeriesSettings element.
NameAndOwner
The NameAndOwner element is a child element of the InputTimeSeriesSettings element. It specifies the
name and owner of the time series settings that will be used in the report.
TimeSeriesDateRange
The TimeSeriesDateRange element is a child element of the InputTimeSeriesSettings element. It can be
used to change the timeseries settings that will be used in the report. You can either specify a relative
date or a date range. The following reports are currently supported:
• Return Attribution
• Time-Series Return Attribution
DateRelativeTo N Year to date, month to date, quarter to date relative to a specified date.
Includes two child elements – StartDateRangeValue and
DateRelativeToValue.
Allowed values:
• StartDateRangeValue – YEAR, QUARTER, MONTH
• DateRelativeToValue – TODAY, PREVIOUS_CLOSE,
PREVIOUS_MONTH_END, PREVIOUS_QUARTER_END,
PREVIOUS_YEAR_END
LatestDateRelativeTo N Most recent days, weeks, months, etc relative to a specified date. For
example, you can select latest six months relative to the previous closing
date. Includes two child elements -LatestStartDateRangeValue and
DateRelativeToValue.
Allowed values:
• LatestStartDateRangeValue – specify a date
• DateRelativeToValue – YEARS, QUARTERS, MONTHS, WEEKS,
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 148 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
FromStartDateToEndDate N From a specific date to another specific date. Includes two child
elements:
• FromDateValue
• ToDateValue
RiskReportsDefinition
The RiskReportsDefinition element is a child element of the RetrieveReportsRequest element.
Portfolios
The Portfolios element is a child element of the RiskReportsDefinition element.
InputPortfolio
The InputPortfolio element is a child element of the Portfolios element.
NameAndOwner
The NameAndOwner element is a child element of the InputPortfolios element. It specifies the name and
owner of the portfolio.
AnalysisSettings
The AnalysisSettings element is a child element of the RiskReportsDefinition element.
InputAnalysisSettings
The InputAnalysisSettings element is a child element of the AnalysisSettings element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 149 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
NameAndOwner
The NameAndOwner element is a child element of the InputAnalysisSettings element. It specifies the
name and owner of the analysis settings that will be used in the report.
ReportParameterList
The ReportParameterList element contains the ReportParametersDef element.
ReportTemplate
The ReportTemplate element is a child element of the RetrieveReportsRequest element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 150 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
RetrieveReportsResponse
The RetrieveReportsResponse element, a child element of the RetrieveReports operation, contains the
Response element, which contains the ReportRoot element, an XML representation of the report.
When the RetrieveReportsRequest element specifies a TaskId that is linked to multiple JobIds, the
RetrieveReportsResponse element will return a collection of reports, one for each JobId, in a single
ReportRoot element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 151 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
RetrieveTemplateReports
The RetrieveTemplateReports operation is used to retrieve reports in an XML object format, similar to the
RetrieveReports operation. You can use this operation instead of RetrieveReports when you want to
retrieve risk reports for multiple dates. It consists of the RetrieveTemplateReportsRequest element and
the RetrieveTemplateReportsResponse element. The following risk reports are currently supported:
• Portfolio Risk Summary
• Risk Attribution
• Allocation-Selection Risk Attribution
• Positions Report
• Factor Exposure
• GICS Exposure
RetrieveTemplateReportsRequest
The RetrieveTemplateReportsRequest element, a child element of the RetrieveTemplateReports
operation, will return the ReportRoot element contained in the RetrieveTemplateReports Response
document. To use the RetrieveTemplateReports operation, we require two main parameters in the
RetrieveTemplateReportsRequest element:
1. The preferred choice for retrieving a report. Currently, there are three ways to retrieve a report
(you must specify at least one):
− Retrieve by Task ID
− Retrieve by Performance Report Definition
− Retrieve by Risk Report Definition
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element name="TaskId"
type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="PAReportDefinition"
type="bdt:ReturnAttribution" minOccurs="0" maxOccurs="1"/>
<xsd:element name="RiskReportsDefinition"
type="bdt:RiskReportsDefinition" minOccurs="0" maxOccurs="1"/>
</xsd:choice>
2. The preferred choice for specifiying report details. Currently, there two options available (you
must specify at least one):
− The ReportParameterList element, which can override the default parameters used to run the
report. Its child element is the ReportParametersDef element. This must include the
ReportName, which will be used to retrieve the report.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 152 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
− The ReportTemplate element, which will specify the user-saved report template that should be
used to retrieve the report.
RetrieveReportsInputParams
The RetrieveReportsInputParams element is a child element of the RetrieveTemplateReportsRequest
element.
Preferred choice for retrieving a Y n/a Select one of the following three options.
report:
Preferred choice for specifying Y n/a Select one of the following two options.
report details:
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 153 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
RiskReportsDefinition
The RiskReportsDefinition element is a child element of the RetrieveReportsInputParams element.
Portfolios
The Portfolios element is a child element of the RiskReportsDefinition element.
InputPortfolio
The InputPortfolio element is a child element of the Portfolios element.
NameAndOwner
The NameAndOwner element is a child element of the InputPortfolios element. It specifies the name and
owner of the portfolio.
AnalysisSettings
The AnalysisSettings element is a child element of the RiskReportsDefinition element.
InputAnalysisSettings
The InputAnalysisSettings element is a child element of the AnalysisSettings element.
NameAndOwner
The NameAndOwner element is a child element of the InputAnalysisSettings element. It specifies the
name and owner of the analysis settings that will be used in the report.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 154 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
TimeSeries
The TimeSeries element is a child element of the RiskReportsDefinition element. Use this to specify the
exact dates for which reports must be retrieved or a frequency – monthly or quarterly.
RetrieveTemplateReportsResponse
The RetrieveTemplateReportsResponse element, a child element of the RetrieveTemplateReports
operation, contains the RetrieveReportsOutParams element. Depending on the request attributes
specified in RetrieveTemplateReportsRequest, the RetrieveReportsOutParams element will contain either
the Response element or the DatedResponse element.
• Response- this is similar to the output of RetrieveReportsResponse
• DatedResponse– this includes 2 additional attributes:
− Date - indicates the date for which the report is generated
− Status - indicates if the report is retrieved for the given date
Also, note that when the RetrieveTemplateReportsRequest element specifies a TaskId that is linked to
multiple JobIds, the RetrieveTemplateReportsResponse element will return a collection of reports, one for
each JobId, in a single ReportRoot element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 155 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
SubmitExtendCFAJob
The SubmitExtendCFAJob operation enables you to extend a custom model once it has been processed
successfully via the Barra PortfolioManager UI (using the Custom Factor Attribution tool). It consists of
the SubmitExtendCFAJobRequest element and the SubmitExtendCFAJobResponse element.
Detailed information about creating and processing a custom model is available here.
SubmitExtendCFAJobRequest
The SubmitExtendCFAJobRequest element is a child element of the SubmitExtendCFAJob operation.
ExtendCFAJobParams
The ExtendCFAJobParams element is a child element of the SubmitExtendCFAJobRequest element.
CFADefinition
The CFADefinition element is a child element of the ExtendCFAJobParams element. It contains details
about the the custom model (CFA job) that is to be extended.
NameAndOwner
The NameAndOwner element is a child element of the CFADefinition element. It specifies the name and
owner of the custom model.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 156 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
3. Set the request attributes (refer Tables 145 and 146). For example:
myRequest.setUser("myUser");
myRequest.setClient("myClient");
myRequest.setPassword("myPassword");
myRequest.set ExtendCFAJobParams “myExtendCFAJobParams”);
SubmitExtendCFAJobResponse
The SubmitExtendCFAJobResponse element, a child element of the SubmitExtendCFAJob operation,
contains the job ID and the start and end date of the extension period for the custom model.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 157 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
CreateTimeSeriesSettings
The CreateTimeSeriesSettings operation is used to create time series settings for Barra
PortfolioManager. It consists of the CreateTimeSeriesSettingsRequest element and the
CreateTimeSeriesSettingsResponse element.
CreateTimeSeriesSettingsRequest
The CreateTimeSeriesSettingsRequest element, a child element of the CreateTimeSeriesSettings
operation, takes a set of settings and parameters and submits a CreateTimeSeriesSettings request in
Barra PortfolioManager. Child elements of the CreateTimeSeriesSettingsRequest element include
TimeSeriesSettingsName and TimeSeriesSettings. It returns a node ID for the CreateTimeSeriesSettings
request (refer CreateTimeSeriesSettingsResponse).
TimeSeriesSettings
TimeSeriesSettings is a child element of the CreateTimeSeriesSettingsRequest element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 158 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
TimeSettings
TimeSettings is a child element of the TimeSeriesSettings element and is used to define the periodicity of
the results in your time series reports. Use daily frequency if you have a short investment horizon and you
want to perform daily return/forecast risk analysis. Use monthly frequency if you have a longer
investment horizon and are not interested in seeing intra-month fluctuations.
TimeSeriesDataRange
TimeSeriesDataRange is a child element of the TimeSettings. You can select one of the three options for
date range settings.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 159 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Subperiod
Subperiod is a child element of the TimeSettingsType element. ComputeSubperiodsType consists of two
child elements SubperiodFrequency and ComputeSubperiods.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 160 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ComputeSubperiods N boolean When this attribute is set to true, you can break
down the selected date range into subperiods. By
default, it is set to false. Note that computing
subperiods will increase the duration of the
computation.
AnalyticOptions
AnalyticOptions is a child element of the TimeSeriesSettings element.
PerformanceAnalysisSettings
PerformanceAnalysisSettings is a child element in the AnalyticOptions element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 161 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ManagedPortfolioReturnAttributionSettings
ManagedPortfolioReturnAttributionSettings is a child element in the PerformanceAnalysisSettings
element that allows you to select from the two available return settings.
TransactionCosts
TransactionCosts is a child element in the TimeSettingsType element. Transaction costs can be a critical
component of performance attribution for strategies with high levels of turnover. To provide transaction
costs, specify a currency and a value for Buy, Sell, and Short Sell costs. The transaction costs are then
converted into the selected currency in the Analysis Settings for each period, depending on the analysis
frequency.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 162 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BuyCostPerShare N double Set buy transaction costs per share. By default, it is set
to 0.00.
BuyCostPerTrade N double Set buy transaction costs per trade. By default, it is set
to 0.00.
SellCostPerShare N double Set sell transaction costs per share. By default, it is set
to 0.00.
SellCostPerTrade N double Set sell transaction costs per trade. By default, it is set
to 0.00.
ShortSellCostPerShare N double Set short sell transaction costs per share. By default, it
is set to 0.00.
ShortSellCostPerTrade N double Set short sell transaction costs per trade. By default, it
is set to 0.00.
AssetDetails
AssetDetails is a child element in the TimeSettingsType element. Storing time series risk and
performance results data for each asset in your portfolio and each date in the time series is time
intensive. To be more efficient, you have the option of selecting up to 80 assets for which you want to
compute and store asset-level results. You can retain asset-level details, including
contributions/withdrawals, fees and expenses, and portfolio-level net versus gross return.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 163 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BarraIdAssetName
BarraIdAssetName is a child element in the AssetDetailsType element.
OtherSettings
OtherSettings is a child element in the TimeSettingsType element. Use this to specify the Currency
Treatment and Country Treatment options that allow you to choose which country and currency you want
to use for performance attribution.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 164 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
OtherSettingsType
OtherSettingsType is a child element in the OtherSettings element.
CurrencyTreatment Y enum Select the currency you want to use for performance
attribution. Accepted values:
• USE_CURRENCY_OF_EXPOSURE
• USE_PRICE_CURRENCY
CountryTreatment Y enum Select the country you want to use for performance
attribution. Accepted values:
• USE_COUNTRY_OF_EXPOSURE
• USE_COUNTRY_OF_QUOTATION
3. Set the request attributes (refer above Tables 148-159). For example:
myRequest.setUser("myUser");
myRequest.setClient("myClient");
myRequest.setPassword("myPassword");
myRequest.setTimeSeriesSettingsName("myTimeSeriesSettingsName");
myRequest.setTimeSeriesSettings("myTimeSeriesSettingsArgs");
// Time Subsetting
TimeSettingsType myTimeSubsetting = new TimeSettingsType();
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 165 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myTimeSubsetting.ReturnFrequency = ReturnFrequencyType.Daily;
myTimeSubsetting.RollingRiskPeriod = myRollingRiskPeriod;
myTimeSubsetting.ProcessAdditionalTrailingTimeSpans = booleanFlag1;
myDateRange.Item = myRelativeDateRange;
myTimeSubsetting.TimeSeriesDataRangeSettings = myDateRange;
myTimeSeriesSettingsParams.TimeSettings = myTimeSubsetting;
// Transaction Costs
TransactionCostsType tranCost = new TransactionCostsType();
tranCost.TransactionCostsCurrency = myTranCostCurrency;
tranCost.SellCostInPercentage = mySellInCostPercentage;
tranCost.SellCostPerShare = mySellCostPerShare;
tranCost.SellCostPerTrade = mySellCostPerTrade;
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 166 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
// Asset Details
AssetDetailsType assetDetail = new AssetDetailsType();
assetDetail.RetainTimeSeriesDetailsOfIndividualAssets = booleanFlag3;
assetDetail.RetainTimeSeriesIndividualAssetsFactorContribution =
booleanFlag4;
assetDetail.NumberOfTopBottomAssets = myNumberOfTopBottomAssets;
assetDetail.NumberOfTopBottomAssetsType =
NumberOfTopBottomAssetsType.AVERAGE_ACTIVE_WEIGHT;
assetDetail.BarraIdAssetName = assetNameTypeList;
myTimeSeriesSettingsParams.AssetDetails = assetDetail;
CreateTimeSeriesSettingsResponse response =
stub.CreateTimeSeriesSettings("myUser", "myClient", "myPassword",
"myTimeSeriesSettingsName", myTimeSeriesSettingsParams);
String nodeId = response.NodeId;
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 167 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
CreateTimeSeriesSettingsResponse
CreateTimeSeriesSettingsResponse is a child element of the CreateTimeSeriesSettings operation. It is
returned as the response to the CreateTimeSeriesSettingsRequest element and contains the node ID of
the CreateTimeSeriesSettings operation.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 168 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DeleteTimeSeriesSettings
The DeleteTimeSeriesSettings operation consists of the DeleteTimeSeriesSettingsRequest element and
DeleteTimeSeriesSettingsResponse element.
DeleteTimeSeriesSettingsRequest
The DeleteTimeSeriesSettingsRequest element, a child element of the DeleteTimeSeriesSettings
operation, takes a set of parameters and submits a DeleteTimeSeriesSettings request in Barra
PortfolioManager. Child elements of the DeleteTimeSeriesSettingsRequest element include
TimeSeriesSettingsName and TimeSeriesSettingsOwner. It will return DeleteTimeSeriesSettingResult and
StatusValue for the DeleteTimeSeriesSettings request (refer DeleteTimeSeriesSettingsResponse).
DeleteTimeSeriesSettingsRequestDocument.DeleteTimeSeriesSettingsReque
st myRequest = myDoc.getDeleteTimeSeriesSettingsRequest();
3. Set the request attributes (refer Table 161). For example:
myRequest.setUser("myUser");
myRequest.setClient("myClient");
myRequest.setPassword("myPassword");
myRequest.setTimeSeriesSettingsName("myTimeSeriesSettingsName");
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 169 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myRequest.setTimeSeriesSettingsOwner("myTimeSeriesSettingsOwner");
DeleteTimeSeriesSettingsResponse
The DeleteTimeSeriesSettingsResponse element is a child element of the DeleteTimeSeriesSettings
operation. It is returned as the response to the DeleteTimeSeriesSettingsRequest element and contains
the child elements, DeleteTimeSeriesSettingResult and StatusValue.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 170 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
CreateAnalysisSetting
The CreateAnalysisSetting operation consists of the CreateAnalysisSettingRequest element and the
CreateAnalysisSettingResponse element. Analysis Settings allow you to select a risk model and
associate it with a currency and benchmark, select an attribution type, customize how statistics about
your analytics and data are calculated, and so on. For more information about Analysis Settings ,see
Defining Analysis Settings.
CreateAnalysisSettingRequest
The CreateAnalysisSettingRequest element, a child element of the CreateAnalysisSetting operation, takes
a set of settings and parameters and submits a CreateAnalysisSetting request in Barra PortfolioManager.
Child elements of the CreateAnalysisSettingRequest element include AnalysisSettingArgs and
SharingRule. It returns a node ID for the CreateAnalysisSetting request (refer
CreateAnalysisSettingResponse).
AnalysisSettingArgs
AnalysisSettingArgs is a child element of the CreateAnalysisSettingRequest.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 171 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
RiskModelSettings
RiskModelSettings is a child element of the AnalysisSettingArgs element.
RiskModelName Y string Enter a risk model that you are licensed to use. (e.g.,
GEMLT)
RiskModelVariant Y string Enter the variant or horizon you would like to use.
(e.g., L)
IncludeFactorCrossProduct N boolean Setting this attribute to true will display the currency
cross product as a separate line in the performance
attribution reports.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 172 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ReferencePortfoliosSettings
ReferencePortfoliosSettings is a child element of the AnalysisSettingArgs element.
ReferencePortfolioType
ReferencePortfolioType is a child element of the ReferencePortfoliosSettings element.
NameAndOwner
NameAndOwner is a child element of the ReferencePortfolioType, MiscSettingsType,
RoundlotsSettingsType and RiskDeltaAnalysisCategoryType elements.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 173 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
RiskReturnAttributionSettings
RiskReturnAttributionSettings is a child element of the AnalysisSettingArgs element.
BPMFactorGroups
BPMFactorGroups is a child element of the RiskReturnAttributionSettings element.
FactorType Y string Enter the name of factor type. (e.g., Country, Currency,
Industry etc)
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 174 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BPMAllocationGroups
BPMAllocationGroups is a child element of the RiskReturnAttributionSettings element.
RiskDeltaAnalysisCategory
RiskDeltaAnalysisCategory is a child element of the RiskReturnAttributionSettings element. You can
select from the following three options.
ComparisonPortfolio N NameAndOwnerType Using this attribute, you can compare two portfolios for
one date with the same analysis
settings. Refer NameAndOwner.
ComparisonDate N ComparisonDate Using this attribute, you can compare a single portfolio
with the same analysis settings but for two different
dates. Refer ComparisonDate.
ComparisonModel N ComparisonModel Using this attribute, you can compare one portfolio for
one date with two analysis settings.
Refer ComparisonModel.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 175 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ComparisonDate
ComparisonDate is a child element of the RiskDeltaAnalysisCategory element.
ComparisonModel
ComparisonModel is a child element of the RiskDeltaAnalysisCategory element.
Horizon N string Enter one of the available horizons of the risk model selected in
your analysis settings.
LongShortSettings
LongShortSettings is a child element of the AnalysisSettingArgs element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 176 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Accepted values:
• NET
• LONG ONLY
• LONG PLUS SHORT
• ASSIGNED FIXED
• ASSIGNED TIMESERIES
ParametricVarSettings
ParametricVarSettings is a child element of the AnalysisSettingArgs element.
ConfidenceInterval N double Enter the Value at Risk Confidence level percentage. (Default
to 95.00 %)
RoundlotsSettings
RoundlotsSettings is a child element of the AnalysisSettingArgs element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 177 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
countryRoundLots
countryRoundLots is a child element of the RoundlotsSettings element.
StatisticsSettings
StatisticsSettings is a child element of the AnalysisSettingArgs element.
MissingDataValue N enum This attribute helps you to specify how missing values
should be handled. Accepted values:
• ZERO (default)
• IGNORE
MeanCalculation N enum This attribute enables you to define the weighting scheme
to be used for computing weights. Accepted values:
• Weighted Average (default)
• Equal Weighted
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 178 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
TreatOutliers N boolean When set to true, you can specify Outlier Treatment and
define outliers as observations that exceed the specified
number of standard deviations. (Default to false)
OutlierStdDevs N int Using this attribute, you can define outliers as observations
that exceed the specified number of standard deviations
(default to 5).
OtherSettings
OtherSettings is a child element of the AnalysisSettingArgs element.
1 Only LookThroughComposites and LookThroughEif are applicable lookthrough features for PA jobs
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 179 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 180 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myRiskModel.Currency = myRiskModelCurrency;
myRiskModel.IncludeFactorCrossProduct = myBooleanFlag1;
myAnalysisSettingsParams.RiskModelSettings = myRiskModel;
myAnalysisSettingsParams.ReferencePortfoliosSettings =
myRefPortfolio;
// Roundlots Settings
RoundlotsSettingsType myRoundlots = new RoundlotsSettingsType();
myRoundlots.roundLotGeneral = myRoundlotsGeneral;
countryRoundLotsType[] myCountryRoundlots
= new countryRoundLotsType[2];
countryRoundLotsType myCountry1 = new countryRoundLotsType();
myCountry1.countryCode = myCountry1Code;
myCountry1.roundLot = myCountry1RoundlotValue;
myCountryRoundlots[0] = myCountry1;
countryRoundLotsType myCountry2 = new countryRoundLotsType();
myCountry2.countryCode = myCountry2Code;
myCountry2.roundLot = myCountry2RoundlotValue;
myCountryRoundlots[1] = myCountry2;
myRoundlots.countryRoundLots = myCountryRoundlots;
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 181 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myAnalysisSettingsParams.RoundlotsSettings = myRoundlots;
// Other Settings
MiscSettingsType myOtherSettings = new MiscSettingsType();
myOtherSettings.ApplyBarraCapitalAdjusts = myBooleanFlag2;
myOtherSettings.LookThroughComposites = myBooleanFlag3;
myAnalysisSettingsParams.OtherSettings = myOtherSettings;
CreateAnalysisSettingResponse response =
stub.CreateAnalysisSetting("myUser", "myClient", "myPassword", "myAna
lysisSettingName", myAnalysisSettingsParams, mySharingRule);
String nodeId = response.NodeId;
CreateAnalysisSettingResponse
The CreateAnalysisSettingResponse element is a child element of the CreateAnalysisSetting operation. It
is returned as the response to the CreateAnalysisSettingRequest element and contains the child
elements, NodeId and CreateAnalysisSettingResult.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 182 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DeleteAnalysisSetting
The DeleteAnalysisSetting operation is used to delete analysis setting for Barra PortfolioManager. It
consists of the DeleteAnalysisSettingRequest element and the DeleteAnalysisSettingResponse element.
DeleteAnalysisSettingRequest
The DeleteAnalysisSettingRequest element, a child element of the DeleteAnalysisSetting operation, takes
a set of parameters and submits a DeleteAnalysisSetting request in Barra PortfolioManager. Child
elements of the DeleteAnalysisSettingRequest element include AnalysisSettingName and
AnalysisSettingOwner. It will return DeleteAnalysisSettingResult and StatusValue for the
DeleteAnalysisSetting request (refer DeleteAnalysisSettingResponse).
AnalysisSettingName Y string Enter the name of the AnalysisSetting that you want to
delete.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 183 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DeleteAnalysisSettingResponse
The DeleteAnalysisSettingResponse element is a child element of the DeleteAnalysisSetting operation. It
is returned as a response to DeleteAnalysisSettingRequest and contains the child elements,
DeleteAnalysisSettingResult and StatusValue.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 184 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
SubmitHVRJob
The SubmitHVRJob operation consists of the SubmitHVRJobRequest element and the
SubmitHVRJobResponse element.
Note: The high-volume reporting job definition must be first created through the Barra PortfolioManager
application interface (using the High Volume Reporting tool). Once defined, you can use the
SubmitHVRJob operation to submit the job using the definition you created or even override the job
settings as required.
SubmitHVRJobRequest
The SubmitHVRJobRequest element, a child element of the SubmitHVRJob operation, takes a set of
settings and parameters and submits a high-volume reporting job in Barra PortfolioManager. Child
elements of the SubmitHVRJobRequest element include HvrReportRequestParams and
OverrideHvrDefinitionParams. It will return a Job ID for the high-volume reporting job (refer
SubmitHVRJobResponse).
HvrReportRequestParams
The HvrReportRequestParams element is a child element of the SubmitHVRJobRequest element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 185 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
HvrDefinition
The HvrDefinition element is a child element of the HvrReportRequestParams element.
NameAndOwner
The NameAndOwner element is a child element of the HvrDefinition element. It specifies the name and
owner of the high-volume reporting job.
OverrideHvrDefinitionParams
The OverrideHvrDefinitionParams element is a child element of the SubmitHVRJobRequest element.
Portfolios
The Portfolios element is a child element of the OverrideHvrDefinitionParams element.
HvrPortfolios
The HvrPortfolios element is a child element of the Portfolios element.
OverrideCompletely N boolean When set to True, it will override all the portfolios
specified in the high-volume reporting definition
with the portfolios specified in the BDT request.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 186 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Portfolio
The Portfolio element is a child element of the HvrPortfolios element.
HvrPortfolio
The HvrPortfolio is a child element of the Portfolio element.
NameAndOwner
The NameAndOwner element is a child element of the HvrPortfolio element. It specifies the name and
owner of the portfolio.
SharedSettings
The SharedSettings element is a child element of the OverrideHvrDefinitionParams element. It contains
details about the analysis settings, time series settings, and other settings that should be used in the
high-volume reporting job.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 187 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
TrailingRiskReportOption
The TrailingRiskReportOption element is a child element of the SharedSettings element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 188 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myHvrDefinition.Name = myHvrJobName;
myHvrDefinition.Owner = myHvrJobOwner;
myOverrideHvrDefinitionParams.setPortfolios=myHvrPortfolios;
myOverrideHvrDefinitionParams.SharedSettings=mySharedSettings;
ReportResponse resp = service.SubmitHVRJob("myUser", "myClient",
"myPassword",myHvrReportRequestParams,myOverrideHvrDefinitionParams);
string[] jobs = resp.JobId;
SubmitHVRJobResponse
The SubmitHVRJobResponse element, a child element of the SubmitHVRJob operation, contains the job
ID of the high volume reporting job that is returned as the response to the SubmitHVRJobRequest
element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 189 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetLatestHVRJobId
The GetLatestHVRJobId operation consists of the GetLatestHVRJobIdRequest element and
GetLatestHVRJobIdResponse element.
GetLatestHVRJobIdRequest
The GetLatestHVRJobIdRequest element, a child element of the GetLatestHVRJobId operation, takes a
set of parameters and submits a GetLatestHVRJobId request in Barra PortfolioManager. Child elements
of the GetLatestHVRJobIdRequest element include JobName, Owner and CycleDate. It will return the job
ID of an already running high volume reporting job (refer GetLatestHVRJobIdResponse).
JobName Y string Enter the name of the HVR job whose job ID
you want to retrieve.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 190 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetLatestHVRJobIdResponse
The GetLatestHVRJobIdResponse element, a child element of the GetLatestHVRJobId operation. Child
elements of GetLatestHVRJobIdResponse include JobId.
JobId Y string Job ID for the given job name, run on the cycle
date provided in input request.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 191 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
GetHvrReports
The GetHvrReports operation consists of the GetHvrReportsRequest element and the
GetHvrReportsResponse element.
GetHvrReportsRequest
The GetHvrReportsRequest element, a child element of the GetHvrReports operation, will return the
attributes of the HvrReport element contained in the GetHvrReportsResponse document.
HvrReportRequestParams
The HvrReportRequestParams element is a child element of the GetHvrReportsRequest element.
HvrDefinition
The HvrDefinition element is a child element of the HvrReportRequestParams element.
NameAndOwner
The NameAndOwner element is a child element of the HvrDefinition element. It specifies the name and
owner of the high-volume reporting job.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 192 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 193 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myZipOut.Close();
myMemOut.Close();
GetHvrReportsResponse
The GetHvrReportsResponse element, a child element of the GetHvrReports operation, contains the
attributes of the HvrReport element contained in the GetHvrReportsResponse document that is returned
as the response to the GetHvrReportsRequest element.
HvrReport
The HvrReport element is a child element of the HvrReportResponse element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 194 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
CreateHVRJobDef
The CreateHVRJobDef operation consists of the CreateHVRJobDefRequest element and the
CreateHVRJobDefResponse element. A high-volume reporting job definition includes the settings and
preferences, required inputs such as portfolios and templates, and reports to be processed. For more
information about setting up high-volume reporting jobs, see Setting Up a High Volume Reporting Job.
CreateHVRJobDefRequest
The CreateHVRJobDefRequest element, a child element of the CreateHVRJobDef operation, takes a set
of settings and parameters and submits a CreateHVRJobDef request in Barra PortfolioManager. Child
elements of the CreateHVRJobDefRequest element include HvrJobDefName and
HVRJobDefRequestParams. It returns a node ID for the CreateHVRJobDef job (refer
CreateHVRJobDefResponse).
HVRJobDefRequestParams
HVRJobDefRequestParams is a child element of the CreateHVRJobDefRequest and helps specify the job
preferences.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 195 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
• Comparison Reporting
HvrJobOutput N enum Specify the preferred output format of your job reports.
Accepted values:
• CSV (default)
• Insights 2
• PDF
HvrJobNotificationPreferences
HvrJobNotificationPreferences is a child element of the HVRJobDefRequestParams element.
HvrTemplate
HvrTemplate is a child element of the HVRJobDefRequestParams element.
2
Requires additional product subscription.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 196 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
EnableTemplate N boolean By default, all the templates are enabled, set to false to disable
a template.
NameAndOwner
The NameAndOwner element is a child element of the InputTemplate element. It specifies the name and
owner of the template.
HvrJobSchedule
HvrJobSchedule is a child element of the HVRJobDefRequestParams element.
EnableSchedule Y boolean Set to true to schedule your job to run automatically on a weekly or
monthly basis.
JobRunDateOffset Y enum Use to run scheduled reports using a specific As of Date relative to
today. Accepted values:
• TODAY (default)
• PREVIOUS_CLOSE
• PREVIOUS_MONTH_END
• PREVIOUS_QUARTER_END
• PREVIOUS_YEAR_END
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 197 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ScheduleTime
ScheduleTime is a child element of the HvrJobSchedule element.
LaunchATHHMM Y string Enter the time when the job will start to run. Specify the time in
the HHMM 24Hrs format (ex: 1530).
ScheduleRecurrence
ScheduleRecurrence is a child element of the HvrJobSchedule element and is used to specify the
frequency of running the job. You can select either weekly or monthly frequency.
WeeklyRecurrence N Enter specific days or all days of the week or every day to run the job.
Refer WeeklyRecurrence below.
MonthlyRecurrence N Enter the day of the month or the interval to run the job. Refer MonthlyRecurrence
below.
WeeklyRecurrence
WeeklyRecurrence is a child element of the ScheduleRecurrence element.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 198 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
MonthlyRecurrence
MonthlyRecurrence is a child element of the ScheduleRecurrence element.
DayOfMonth Y int Specify the day of the month to run the job.
JobRetryAttempt
JobRetryAttempt is a child element of the HvrJobSchedule element.
RetryAttemptCount Y int Specify the number of retry attempts in case the job
fails. The maximum number of retries is 5.
RetryAttemptIntervalInMinutes Y int Specify the halt time before the system runs the job
again after failing.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 199 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 200 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
mySharedSettings.TimeSeriesSettings = myInputTimeSeriesSettings;
myHVRJobDefRequestParams.SharedSettings = mySharedSettings;
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 201 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
mySchedule.JobRunDateOffset = DateRelativeToValueEnum.PREVIOUS_CLOSE;
myHVRJobDefRequestParams.HvrJobSchedule = mySchedule;
CreateHVRJobDefResponse
The CreateHVRJobDefResponse is a child element of the CreateHVRJobDef operation. It is returned as a
response to the CreateHVRJobDefRequest element and contains the child elements, NodeId and
CreateHVRJobDefResult.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 202 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DeleteHVRJobDef
The DeleteHVRJobDef operation consists of the DeleteHVRJobDefRequest element and
DeleteHVRJobDefResponse element.
DeleteHVRJobDefRequest
The DeleteHVRJobDefRequest element, a child element of the DeleteHVRJobDef operation, takes a set of
parameters and submits a DeleteHVRJobDef job in Barra PortfolioManager. Child elements of the
DeleteHVRJobDefRequest element include HvrJobDefName and HvrJobDefOwner. It returns
DeleteHVRJobDefResult and StatusValue for the DeleteHVRJobDef job (refer
DeleteHVRJobDefResponse).
HvrJobDefName Y string Enter the name of the high-volume reporting job that you
want to delete.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 203 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
DeleteHVRJobDefResponse
The DeleteHVRJobDefResponse element is a child element of the DeleteHVRJobDef operation. It is
returned as a response to the DeleteHVRJobDefRequest element and contains the child elements,
DeleteHVRJobDefResult and StatusValue.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 204 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
UpdateHVRJobDef
The UpdateHVRJobDef operation is used to update an existing high-volume reporting job definition. It
consists of the UpdateHVRJobDefRequest element and the UpdateHVRJobDefResponse element.
UpdateHVRJobDefRequest
The UpdateHVRJobDefRequest element, a child element of the UpdateHVRJobDef operation, takes a set
of parameters and submits a UpdateHVRJobDef job in Barra PortfolioManager. Child elements of the
UpdateHVRJobDefRequest element include HvrJobDefName and HvrJobDefOwner. It returns
UpdateHVRJobDefResult and NodeId for the UpdateHVRJobDef job (Refer UpdateHVRJobDefResponse).
HvrJobDefName Y string Enter the name of the high-volume reporting job that you
want to update.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 205 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myRequest.setHvrJobDefName("myHvrJobDefName");
myRequest.setHvrJobDefOwner("myHvrJobDefOwner");
myRequest.setHvrJobSchedule("myHvrJobSchedule");
myRequest.setOverrideHvrDefinitionParams("myOverrideHvrDefinitionPara
ms");
mySchedule.JobRunDateOffset =
DateRelativeToValueEnum.PREVIOUS_MONTH_END;
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 206 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
myOverrideHvrDefinitionParams.SharedSettings = mySharedSettings;
UpdateHVRJobDefResponse response = stub.UpdateHVRJobDef("myUser",
"myClient", "myPassword", "myHvrJobDefName", "myHvrJobDefOwner",
mySchedule, myOverrideHvrDefinitionParams);
String nodeId = response.NodeId;
UpdateHVRJobDefResponse
The UpdateHVRJobDefResponse element is a child element of the UpdateHVRJobDef operation. It is
returned as a response to the UpdateHVRJobDefRequest element and contains the child elements,
UpdateHVRJobDefResult and NodeId.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 207 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
ASSET_NOT_FOUND The asset does not exist in the current portfolio. (Indicates that the
particular asset is not found in the current portfolio.)
ASSET_REJECTED The asset is rejected in the current portfolio. (Indicates that the
particular asset is rejected in the current portfolio.)
BOL_ZOOM_FAILED This asset does not comply with the zoom criteria specified and
cannot be used in Trade Scenario. (Indicates that the particular
asset does not comply with the zooming criteria.)
NAME_ALREADY_EXISTS The name '%(<DEFAULT>)' already exists. (Indicates that the user
has attempted to define a name that already exists.)
INVALILD_NAME The name '%(<DEFAULT>)' is not a valid name. (Indicates that the
user has attempted to define a name that already exists.)
PORTFOLIO_ALREADY_EXISTS The portfolio '%(<DEFAULT>)' already exists. (Indicates that the user
has attempted to create or rename or portfolio with a name that
already exists.)
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 208 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
PORTFOLIO_ALREADY_EXISTS The portfolio '%(<DEFAULT>)' already exists. (Indicates that the user
has attempted to save a portfolio with a name that already exists.)
NODE_ALREADY_EXISTS The node '%(<DEFAULT>)' already exists. (Indicates that the user
has attempted to save a node with a name that already exists.)
NOT_FOUND %(<DEFAULT>) not found. (Indicates that some object was not
found.)
NOT_PERMITTED %(<DEFAULT>) not permitted. (Indicates that some object was not
permitted.)
OPTIMIZER_TOO_MANY_JOBS You have exceeded the maximum number of jobs. Please delete one
or more jobs and resubmit your request. (Indicates problems with
optimization job list.)
OPTIMIZER_CANNOT_DELETE_JOB System is not able to delete the '%(<DEFAULT>)' job. Please wait
until the job is completed to repeat the action.
BATCH_REPORTER_CANNOT_DELETE_JOB Batch reporter is not able to delete the '%(<DEFAULT>)' job. Please
wait until the job is completed to repeat the action.
PORTFOLIO_NOT_FOUND Portfolio not found. (Indicates that the session portfolio has
disappeared—probably deleted by another user during the session.)
UNDERLIERPORTFOLIO_NOT_FOUND Underlier portfolio not found. (Indicates that the underlier portfolio
for a session portfolio does not exist—probably deleted by another
user during the session.)
BUCKET_NOT_FOUND Bucket not found. (Indicates that the current bucket name has
disappeared—probably deleted by another user during the session).
GROUPING_NOT_FOUND Grouping not found. (Indicates that the current grouping has
disappeared—probably deleted by another user during the session.)
FACTOR_TREE_NOT_FOUND Factor tree not found. (Indicates that the current factor tree has
disappeared—probably deleted by another user during the session.)
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 209 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
CANT_CHANGE_SHORTCUTS_OWNER Changing a shortcut's owner is not allowed. (Indicates that the user
has attempted to create or rename or portfolio with a name that
already exists.)
PORTFOLIO_VALUE_MISSING Portfolio value missing. (Indicates that the portfolio effective value
is missing.)
INVALID_PORTFOLIO_VALUE Invalid portfolio value. (Indicate that the portfolio effective value is
not valid.)
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 210 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
INVALID_EXCHANGE_RATE Invalid exchange rate. (Indicates that the exchange rates passed in
cannot be translated into a number.)
CUSTOM_REPORT_READ_ONLY Custom reports are read-only to all users but the owner. (Indicates
that a custom report was read-only for the requesting user.)
BATCH_REPORT_SCHEDULES_WILL_BE_DEL Batch report schedules will be deleted. (Indicate that the requested
ETED batch report was not found.)
INVALID_RISK_MODEL Risk model %(RISKMODEL) with variant %(VARIANT) does not exist.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 211 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
SCENARIO_NOT_FOUND The Stress Scenario not found. (Indicates that the stress scenario
has disappeared—probably deleted by another user during the
session.)
Errors related to Barra PortfolioManager performance attribution (PA) report and maintenance
SELECTED_COLUMNS_ERROR There is an error for selected column '%(<DEFAULT>)' for the chosen
PA report.
PA_GROUPING_NOT_DEFINED_FOR_ALLOCA Grouping or Attribute are not defined or not found for Allocation
TION Selection PA job '%(<DEFAULT>)'.
PA_TS_SETTINGS_NOT_DEFINED Time Series Settings are not fully defined. Some required attributes
are missing '%(<DEFAULT>)'.
PA_AS_SETTINGS_BASE_CURRENCY_OR_VA BPM Analysis Strategy Settings are not fully defined, missing base
LUE_NOT_DEFINED currency or base value type. '%(<DEFAULT>)'.
PA_NOT_END_OF_MONTH_DATES_FOR_MO PA Job dates should be End Of Month for Monthly Return Frequency
NTHLY_JOB Setting '%(<DEFAULT>)'.
The following table lists the status codes that may be returned from an import operation.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 212 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLS001 Success
The following table lists the error codes that may be returned from an instrument terms and conditions
import operation.
BOLE007 Rating agency name and rating must be either present or absence together.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 213 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE025 Floaters or Floater legs must have rate term if reference rate is EURIBOR LIBOR Swap
Govt CMS or MMD.
BOLE031 Cannot verify first coupon date is later than first accrual date because first accrual date
has error
BOLE033 One or more dates are not between instrument issue date and maturity date
BOLE037 Invalid underlier. Please check that the underlier exists and it is the correct type for the
derivative.
BOLE044 Total amount sunk is not verifiable due to invalid amount issued
BOLE049 Delivery Date is not between underlier issue date and maturity
BOLE050 Expiration date is not between underlier issue date and maturity
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 214 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE052 First coupon date cannot be earlier than first accrual date
BOLE058 No term structure and fixed income valuation model for the particular currency
BOLE059 Sink Amount should be a fraction of amount issued. A number less than or equal to
zero or a number greater than one is not valid
BOLE062 Inflation rate schedule exists for non inflation protected instrument
BOLE066 Japan sub-type is not applicable to currencies other than Japanese Yen
BOLE073 Zero and negative cap or periodic cap are not valid
BOLE075 Life time cap less than floor is not valid. Correct either the cap or the floor.
BOLE076 Coupon conversion date is not between issue date and maturity
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 215 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE083 Cannot verify last coupon date is later than first coupon date because first coupon date
has error
BOLE084 Cannot verify last coupon date is later than first accrual date because first accrual date
has error
BOLE085 Cannot verify last coupon date is later than issue date because issue date has error
BOLE086 Last coupon date cannot be earlier than first coupon date
BOLE087 Last coupon date cannot be earlier than first accrual date
BOLE089 Rate term longer than 1 year is not supported by this reference rate
BOLE090 Implied volatility date must be between the option start date and the latest exercise
date
BOLE092 Future Underlier should have the same Currency as parent and fixed coupon type
BOLE095 User asset id must not be the same as the underlying asset id
BOLE106 Convertible bond and its converting stock must have the same country
BOLE110 Convertible bond of PERCS type must have PERCS Cap Yield greater than zero
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 216 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE111 Trigger Level and Soft Call Days fields must both be present or both absent. Importing
only one of them is not permitted.
BOLE118 Credit event Start Date not between start date and expiration date
BOLE121 Credit Event Start Date is not between basket start date and expiration date
BOLE120 Start date is not in between underlier issuer and maturity dates
BOLE122 IR and FX Swaps must have 2 legs - one short and one long
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 217 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE148 Total return Swap with Fixed Payment Type requires positive non-zero Fixed Rate
BOLE150 Swaption last exercise date should not be after Underlier's Start Date
BOLE151 First exercise date in schedule should be after Parent's Start Date
BOLE153 Effective and Termination Dates should be between underlier issuer and maturity dates
BOLE154 Swaption underlier could only be an IR Swap with 2 different legs - floating and fixed;
Coupon frequency should be the same on both legs.
BOLE155 Currency Swap could not have cancel schedules since it could not be cancelable
BOLE157 Currency Swap legs each should have different and not empty contract size defined.
BOLE159 IR Swap parent should have contract size defined and legs should not have it.
BOLE160 Currency Swap parent should not have contract size defined and each leg should have
it.
BOLE161 Duplicate years specified. For each fund - monthly returns may only be specified once
BOLE164 Fund of funds instrument requires at least one non fund of funds style specified in the
style sheet.
BOLE165 Insufficient # of returns. Minimum of 24 monthly returns are required for modeling
BOLE166 Data update is not yet available for the return(s) specified
BOLE168 Total return Swap with Floating Payment Type cannot have zero Multiplier
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 218 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE170 Barrier end date cannot be after the option expiration date
BOLE171 Barrier hit date has to be in between barrier start and end dates
BOLE176 First limit hit date has to be after start date and before end date
BOLE177 One of the legs must be pegged to inflation curve which is specified through RateIndex
REAL
BOLE188 Double Barrier Option, valid combinations are: (DI UI) (DI UO) (DO UI) and (DO UO)
BOLE189 The rebate in the two legs of a double barrier option should be the same
BOLE190 The RebateAtEnd flag in the two legs of a double barrier option should be the same
BOLE193 The coupon type in one leg of the inflation swap should be floating.
BOLE195 Option expiration date should not be later than the underlying future delivery date
BOLE196 Zero Coupon Swaps must have 2 legs - one fixed and one floating
BOLE197 Coupon rate schedule is not applicable to the fixed coupon type
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 219 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE206 Hedge Percentage and Hedge Currency should not be defined if Hedge is off.
BOLE221 Unsupported Cap/Floor order type. Order type must be either Cap or Floor.
BOLE222 Irrelevant data fields. Fixed swap leg can only have these fields: Id; Id Type; Accrual
Basis; Coupon; Coupon Frequency; Coupon Type; Leg Type; Contract Size.
BOLE228 An option can only have either of Barrier or Asian feature but not both
BOLE230 Unsupported Asian option price average type; only Strike or Price is supported
BOLE231 Number of sampling points is larger than the number of business days between price
averaging start date and price averaging end date
BOLE232 Too many Asian Option attributes for one instrument. There should be one entry in
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 220 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE233 Average Start date and Number of Sampling Points must be present when Asian Option
Price Pool is not
BOLE235 When there is return Barrier level value for Bonus/Twin-win/Reverse Convertible
Certificate must not be greater than 100%
BOLE237 Invalid number of certificate attributes for one instrument. There should be one entry in
attributes worksheet for each certificate instrument
BOLE239 Protection value must be greater than 0. It must also not be greater than 100% when
the certificate has a return.
BOLE240 Invalid Reverse Convertible Certificate payment frequency. The frequency can only by
1Y or 6M or 3M.
BOLE241 Participation Down value must be less than or equal to 100 and greater than or equal to
0
BOLE253 When there is return Barrier level value for discount certificate must be less than 100%
BOLE254 Strike price for airbag certificate must not be larger than 100%
BOLE258 Certificate must not have multiple underliers of the same instrument. Please combine
the weights of the same underlying instrument into one entry
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 221 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE260 Equity Rule-Based Proxy must have Market Capitalization data in the schedule
BOLE262 Specific Risk Multiplier must not be smaller than zero or greater than 100
BOLE263 Specific Risk Level must not be smaller than zero or greater than 100
BOLE264 Unsupported Industry risk factor. Please check to make sure the industry risk factor is
valid for the risk model
BOLE265 Coupon for Barrier Range Reverse Convertible Certificate must not exceed 100%
BOLE266 Bonus level must be above barrier level when a Bonus Certificate has both attributes
BOLE273 Duration Proxy must have either Duration and Maturity or Key Rate Durations
BOLE275 Protection must be less than Strike Price when an Airbag Certificate has both attributes
BOLE281 The gap between entries in equity time dimensional data schedule is greater than the
maximum number of days allowed
BOLE282 Amount outstanding entry must be on a date when there is a sink in the sink schedule
BOLE286 Fixed Recovery must not be smaller than zero or greater-equal than 100
BOLE287 Recovery Rate must not be smaller than zero or greater-equal than 100
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 222 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE296 Swaps with OIS reference rate must have the same currency in both legs
BOLE297 Swaps with OIS reference rate must have 2 legs - one short and one long, one floating
and one fixed
BOLE298 Swaps with OIS reference rate must have Rate Term on floating leg
BOLE299 Swaps with OIS reference rate must have Reset Frequency on floating leg
BOLE300 This instrument has non OIS reference rate and therefore must specify Coupon
Frequency
BOLE301 Swaps with OIS reference rate must have OIS as reference rate on floating leg
BOLE302 Instrument with OIS reference rate must have expiration date within a year from start
date
BOLE303 Bonds with OIS reference rate can only have Corporate as the Issuer Type
BOLE304 Bonds with OIS reference rate can only have Floating as the Coupon Type
BOLE305 Bonds with OIS reference rate can only have Bond as the Instrument Type
BOLE306 Instrument with OIS reference rate must have Rate Term
BOLE307 Instrument with OIS reference rate must have Reset Frequency
BOLE309 Analytic parser failed to parse file. Correct import file or pass to analytic library
engineers for investigation.
BOLE314 Country of the derivative and country of the underlying instrument is mismatched
BOLE315 Currency of the derivative and currency of the underlying instrument is mismatched
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 223 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE319 Invalid leg coupon type. Cancelable IR swap must have two legs, one fixed and one
floating
BOLE320 Unsupported type. Prepay type or default type must be either absolute or relative
BOLE321 Invalid value. Prepay value or default value must be between 0 and 100 for absolute
type and value must be greater than 0 for relative type
BOLE327 Exposure scalar in Equity Proxy must not be smaller than zero or greater than 100
BOLE328 Common factor risk scalar must not be smaller than zero or greater than 100
BOLE331 Accrual type as at-maturity is only supported for IR Swap and not for foreign currency
swap
BOLE332 Barrier level must be above bonus level for a Reverse Bonus Certificate
BOLE333 Cap must be above barrier level for a Reverse Bonus Certificate
BOLE334 Invalid issuer short name for applying issuer specific risk
BOLE336 Indexation end date must not be later than maturity date
BOLE337 Indexation base date must not be later than indexation end date
BOLE338 Switching date must be between indexation base date and indexation end date
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 224 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE349 Annual flat cap floor volatility must not be less than zero
BOLE350 Discount spread basis point must not be less than zero
BOLE357 Cumulative loss must be greater than zero and less than or equal to 100
BOLE358 Invalid credit factor name. Please check the credit factor name belongs to the
instrument currency and the risk model
BOLE359 Currency is not valid and thus cannot validate reference index or BEI Curve or credit
factor relative to it
BOLE361 Default adjustments do not apply to CDS Option on single name credit default swap
BOLE365 Syndicated loan with fixed coupons must have these fields set properly: reference
rate=LIBOR, Multiplier=0, Margin=Coupon. It must not have floor. Coupon frequency,
reset frequency and Rate term must be the same
BOLE366 Syndicated loan must have either SIC Code or Sector in order to compute appropriate
exposures
BOLE368 Syndicated loan with fixed coupon type must have coupon rate and coupon frequency
BOLE369 Income risk exposure scalar must not be smaller than zero or greater than 100
BOLE370 Quality factor exposure must not be smaller than -3 or greater than 3
BOLE371 Compound Correlation must be set if the CDS Tranche has compound correlation type
BOLE372 Lower and upper Correlation must be set if the CDS Tranche has base correlation type
BOLE373 Attachment point detachment point and upfront amount of a CDS Tranche must be
between 0 and 100
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 225 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE377 Protection must be 1 or greater and Protection End should be less than the number of
underlying constituents
BOLE385 FX Swaps are not supported, only IR Swaps are currently supported
BOLE387 DS Tranche correlation start date cannot be later than CDS Tranche underlying
instrument start date
BOLE389 Invalid investment type for the given private equity model
BOLE390 Distressed or Mezzanine type of private equity instrument cannot use industry as proxy.
Defined a proxy portfolio or a system default proxy portfolio will be used
BOLE391 Private Equity Instrument cannot have more than one industry mapping for a given risk
model
BOLE400 Unsupported value for Model For Greeks field. Only Black or HW are supported.
BOLE401 Allocation percentage must not be less than 0.0 or greater than 100 percent
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 226 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE403 Portfolio turnover must not be less than 0.0 or greater than 100 percent
BOLE405 Breakdown weight must not be less than 0.0 or greater than 100 percent
BOLE409 Too few return entries for the specific return frequency
BOLE411 Asset allocation start date must not be later than the last fund return entry date
BOLE430 At least one asset allocation equity region or fixed income region should be provided
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 227 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE449 Equity breakdown weight sum for a given start date and breakdown type is greater than
100.0
BOLE450 Fixed income breakdown weight sum for a given start date and breakdown type is
greater than 100.0
BOLE451 Barra Fund return value percentage must not be less than -100 or greater than 500
percent
BOLE456 Equity breakdown start date must not be later than the last fund return entry date
BOLE457 Fixed income region should also be provided if fixed income allocation is provided
BOLE459 Fixed income breakdown start date must not be later than the last fund return entry
date
BOLE460 Real estate breakdown start date must not be later than the last fund return entry date
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 228 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BOLE463 Cash breakdown start date must not be later than the last fund return entry date
BOLE465 Real estate region should also be provided if real estate allocation is provided
BOLE467 Commodity breakdown start date must not be later than the last fund return entry date
BOLE471 Hedge fund breakdown start date must not be later than the last fund return entry date
BOLE475 Cash breakdown weight sum for a given start date and breakdown type is greater than
100.0
BOLE476 Commodity breakdown weight sum for a given start date and breakdown type is greater
than 100.0
BOLE477 Hedge fund breakdown weight sum for a given start date and breakdown type is greater
than 100.0
BOLE480 Real estate breakdown weight sum for a given start date and breakdown type is greater
than 100.0
BOLE999 N/A
ACCEPTED Accepted
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 229 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
PORTFOLIO_ACCESS_VIOLATION Access denied: you do not have permission to the underlying portfolio
The following table lists import status error codes for various import jobs.
Summary Codes
Error Codes
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 230 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Portfolio Errors
IMPE005 Import User is not client admin. Cannot import for other users
IMPE301 Rejected - store by value flag only supports import by value and by weight portfolio
Rejected Assets
Attribute Errors
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 231 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
Internal Errors
IMPE060 SQL exception while loading Positions or Pf Nodes or Attributes into database
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 232 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
IMPE062 Unsupported XSL or CSV Import format - file could not be imported
IMPE064 Unknown error while evaluating asset-level data: whole Portfolio/Tree or Attributes are
skipped
IMPE065 Unknown error while loading Positions or Pf Nodes or Attributes into database
IMPE069 Both Aggregate and Portfolio values could not be empty. Provide at least one value
IMPE072 Cannot create pf node in another user's tree. Import User is not client admin.
IMPE073 Cannot create shortcut to Portfolio Node. Portfolio Node for 'portfolio' and 'owner'
values does not exist.
IMPE077 Rejected - Duplicate Pf Node name from different user trees found
IMPE078 Rejected - Duplicate Pf Node name for different node types found
IMPE082 Cannot add Portfolio to Aggregate Node. The Node or Tree for 'Aggregate' and 'owner'
values does not exist.
IMPE083 Cannot create shortcut to Portfolio Node. User does not have access to Portfolio
Node for 'portfolio' and 'owner'
IMPE084 Invalid Benchmark: You do not have permission for this portfolio.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 233 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
IMPE091 Invalid Benchmark: You do not have permission to the benchmark for imported
strategy.
IMPE093 Warning: Import successful but strategy overrides ignored since they are not allowed
on system portfolios
IMPE100 Invalid Market: You do not have permission to the Market for imported strategy.
IMPE101 Invalid Market: You do not have permission for this portfolio.
IMPE104 Invalid shortcut path. Portfolio shortcuts can only be added to Aggregate nodes.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 234 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
IMPE122 Invalid Universe: You do not have permission to the Market for imported strategy.
IMPE123 Invalid Universe: You do not have permission for this portfolio.
IMPE126 Cannot assign base value type or assigned value due to database error.
IMPE129 Curve Attribute does not have any valid timeperiod/value pair
IMPE132 Implied Volatility Attribute does not have any valid data point.
IMPE135 Association is Asset ID: value type must be text and aggregation scheme must be
count.
IMPE137 Association is Return: value type must be real number and maximum age must be 1
day and aggregation scheme must be market value weighting.
IMPE138 Association is curve or implied vol value type must be text, and aggregation scheme
must be N/A.
IMPE139 Portfolio storage type mismatches with store-by-value flag in import file. Store-by-
holding portfolio cannot accept import with store-by-value or vice versa
IMPE140 The attribute name and type combination has already been used by another user.
IMPE141 Portfolio attribute time series contains date outside the range supported by the
application.
IMPE143 Unknown portfolio attribute type is encountered. The time series will be ignored.
IMPE144 Portfolio does not exist. Please make sure the portfolio exist before importing time
series for it.
IMPE146 Invalid intraday adjustment value or type. Value must be a number. Type must be
either price or share.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 235 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
IMPE147 Duplicate intraday adjustments for the same instrument on the same day. The later
entry will override the earlier ones.
IMPE148 Intraday adjustments date must not be earlier than latest closing date.
IMPE149 Invalid risk model or the user has not subscribed to the risk model.
IMPE152 Shape or curve shocks are not supported for the given shock object
IMPE157 No valid interest rate curve for the given shock object
IMPE159 Shock attribute must be enumerated type in order to have distinct groups
IMPE164 Market data is invalid for the given shock market data category
IMPE172 Multiple implied volatility surfaces exist for the same currency on the same analysis
date. Subsequent duplicates are ignored.
IMPE174 Maximum age is missing or invalid. Maximum age must be constant, rolling until next
data date, or a number of days between 1 and 365
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 236 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
IMPE180 Cannot validate portfolio because it cannot be written to database. Please call
representative.
PLTC Validation
IMPE183 PLTC Attribute does not have any valid breakpoint/slope pair
IMPE184 No Data: the file is empty or all Asset Records are rejected
IMPE191 Invalid Value: sell breakpoints are not provided in ascending order
IMPE194 Multiple curves of the same currency and curve type cannot exist in the same curve
set
IMPE195 Invalid Time data point. Valid data point should be greater than zero and no greater
than 99 years.
IMPE199 multiple asset ids of the same instrument is mapped to the same curve
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 237 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
IMPE203 Invalid value for the flooring nominal interest rate shocks at zero flag
IMPE204 Cannot import user interest rate curve for currency that does not support the curve
type
IMPE205 user interest rate curve of different currency or type cannot share the same name
IMPE208 Invalid value for the flag to propagate interest rate shock across all vertices
IMPE209 The flag to propagate interest rate shocks across all vertices cannot be set to true
while correlated shocks flag is not set to true. The two flags have to be consistent
IMPE211 Set simulation VaR limit either as a currency value or a multiple of benchmark but not
both
IMPE212 simulation VaR limit as a currency value must be greater than zero
IMPE213 simulation VaR limit as a multiple of benchmark must be greater than zero and less
than or equal to 100
IMPE214 This setting should have value greater than zero and less than 100
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 238 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
The following table lists import status error codes for various import jobs.
Success Codes
BDOS001 Success
Error Codes
BDOE004 Invalid Identifier(s) format. ID cannot starts with chars reserved for synthetic Ids
BDOE011 Invalid Schedule Identifier - No Asset Record for matching asset type found for this ID
in User File
BDOE012 Conflicting Schedule Identifiers - Asset schedules should be listed only with single
asset ID
BDOE013 Conflicting Asset Identifiers - Asset Records should have unique set of IDs
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 239 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BDOE020 Cannot create composite. Portfolio for given name and owner does not exist.
BDOE022 Cannot create composite. User does not have access to Portfolio Node for 'portfolio'
and 'owner'
BDOE024 Cannot import portfolio. Client has Dynamic Node(s) with the same name.
BDOE026 Invalid Date format. Do not support dates before 1900-01-01 and after 2500-01-01
BDOE033 ID for user asset cannot be longer than " + IImportStatus.UI_ASSETID_MAXLENGTH + "
chars
BDOE040 Underlier ID Type for user asset cannot be longer than " +
IImportStatus.UI_ASSETIDTYPE_MAXLENGTH + " chars
BDOE042 Cannot load Structure Tool deal data. Please check that the file structure is correct. Id
must be on the second line and id type must be present.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 240 OF 243
BARRA PORTFOLIOMANAGER DEVELOPER’S TOOLKIT REFERENCE GUIDE
JANUARY 2025
BDOE045 Proxy portfolio must be regular portfolio. Aggregate portfolio is not allowed.
BDOE046 Proxy portfolio must be regular portfolio. Universe portfolio is not allowed.
BDOE047 Proxy portfolio must be regular portfolio. Dynamic portfolio is not allowed.
BDOE048 Login user does not have access permission to the proxy portfolio.
© 2025 MSCI Inc. All rights reserved. Please refer to the disclaimer at the end of this document. MSCI.COM | PAGE 241 OF 243
Contact us
msci.com/contact-us
ASIA PACIFIC
China North 10800 852 1032 *
China South 10800 152 1032 *
Hong Kong + 852 2844 9333
Mumbai + 91 22 6784 9160
Seoul 00798 8521 3392 *
Singapore 800 852 3749 *
Sydney + 61 2 9033 9333
Taipei 008 0112 7513 *
Thailand 0018 0015 6207 7181 *
Tokyo + 81 3 5290 1555
* toll-free
The Information may not be used to create derivative works or to verify or correct other data or information. For example (but without limitation), the Information may not be
used to create indexes, databases, risk models, analytics, software, or in connection with the issuing, offering, sponsoring, managing or marketing of any securities, portfolios,
financial products or other investment vehicles utilizing or based on, linked to, tracking or otherwise derived from the Information or any other MSCI data, information, products
or services.
The user of the Information assumes the entire risk of any use it may make or permit to be made of the Information. NONE OF THE INFORMATION PROVIDERS MAKES ANY
EXPRESS OR IMPLIED WARRANTIES OR REPRESENTATIONS WITH RESPECT TO THE INFORMATION (OR THE RESULTS TO BE OBTAINED BY THE USE THEREOF), AND TO
THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, EACH INFORMATION PROVIDER EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES (INCLUDING, WITHOUT
LIMITATION, ANY IMPLIED WARRANTIES OF ORIGINALITY, ACCURACY, TIMELINESS, NON-INFRINGEMENT, COMPLETENESS, MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE) WITH RESPECT TO ANY OF THE INFORMATION.
Without limiting any of the foregoing and to the maximum extent permitted by applicable law, in no event shall any Information Provider have any liability regarding any of the
Information for any direct, indirect, special, punitive, consequential (including lost profits) or any other damages even if notified of the possibility of such damages. The
foregoing shall not exclude or limit any liability that may not by applicable law be excluded or limited, including without limitation (as applicable), any liability for death or
personal injury to the extent that such injury results from the negligence or willful default of itself, its servants, agents or sub-contractors.
Information containing any historical information, data or analysis should not be taken as an indication or guarantee of any future performance, analysis, forecast or prediction.
Past performance does not guarantee future results.
The Information should not be relied on and is not a substitute for the skill, judgment and experience of the user, its management, employees, advisors and/or clients when
making investment and other business decisions. All Information is impersonal and not tailored to the needs of any person, entity or group of persons.
None of the Information constitutes an offer to sell (or a solicitation of an offer to buy), any security, financial product or other investment vehicle or any trading strategy.
It is not possible to invest directly in an index. Exposure to an asset class or trading strategy or other category represented by an index is only available through third party
investable instruments (if any) based on that index. MSCI does not issue, sponsor, endorse, market, offer, review or otherwise express any opinion regarding any fund, ETF,
derivative or other security, investment, financial product or trading strategy that is based on, linked to or seeks to provide an investment return related to the performance of
any MSCI index (collectively, “Index Linked Investments”). MSCI makes no assurance that any Index Linked Investments will accurately track index performance or provide
positive investment returns. MSCI Inc. is not an investment adviser or fiduciary and MSCI makes no representation regarding the advisability of investing in any Index Linked
Investments.
Index returns do not represent the results of actual trading of investible assets/securities. MSCI maintains and calculates indexes, but does not manage actual assets. Index
returns do not reflect payment of any sales charges or fees an investor may pay to purchase the securities underlying the index or Index Linked Investments. The imposition of
these fees and charges would cause the performance of an Index Linked Investment to be different than the MSCI index performance.
The Information may contain back tested data. Back-tested performance is not actual performance, but is hypothetical. There are frequently material differences between back
tested performance results and actual results subsequently achieved by any investment strategy.
Constituents of MSCI equity indexes are listed companies, which are included in or excluded from the indexes according to the application of the relevant index
methodologies. Accordingly, constituents in MSCI equity indexes may include MSCI Inc., clients of MSCI or suppliers to MSCI. Inclusion of a security within an MSCI index is
not a recommendation by MSCI to buy, sell, or hold such security, nor is it considered to be investment advice.
Data and information produced by various affiliates of MSCI Inc., including MSCI ESG Research LLC and Barra LLC, may be used in calculating certain MSCI indexes. More
information can be found in the relevant index methodologies on www.msci.com.
MSCI receives compensation in connection with licensing its indexes to third parties. MSCI Inc.’s revenue includes fees based on assets in Index Linked Investments.
Information can be found in MSCI Inc.’s company filings on the Investor Relations section of www.msci.com.
MSCI ESG Research LLC is a Registered Investment Adviser under the Investment Advisers Act of 1940 and a subsidiary of MSCI Inc. Except with respect to any applicable
products or services from MSCI ESG Research, neither MSCI nor any of its products or services recommends, endorses, approves or otherwise expresses any opinion
regarding any issuer, securities, financial products or instruments or trading strategies and MSCI’s products or services are not intended to constitute investment advice or a
recommendation to make (or refrain from making) any kind of investment decision and may not be relied on as such. Issuers mentioned or included in any MSCI ESG Research
materials may include MSCI Inc., clients of MSCI or suppliers to MSCI, and may also purchase research or other products or services from MSCI ESG Research. MSCI ESG
Research materials, including materials utilized in any MSCI ESG Indexes or other products, have not been submitted to, nor received approval from, the United States
Securities and Exchange Commission or any other regulatory body.
Any use of or access to products, services or information of MSCI requires a license from MSCI. MSCI, Barra, RiskMetrics, IPD and other MSCI brands and product names are
the trademarks, service marks, or registered trademarks of MSCI or its subsidiaries in the United States and other jurisdictions. The Global Industry Classification Standard
(GICS) was developed by and is the exclusive property of MSCI and S&P Global Market Intelligence. “Global Industry Classification Standard (GICS)” is a service mark of MSCI
and S&P Global Market Intelligence.
MIFID2/MIFIR notice: MSCI ESG Research LLC does not distribute or act as an intermediary for financial instruments or structured deposits, nor does it deal on its own
account, provide execution services for others or manage client accounts. No MSCI ESG Research product or service supports, promotes or is intended to support or promote
any such activity. MSCI ESG Research is an independent provider of ESG data, reports and ratings based on published methodologies and available to clients on a subscription
basis.
Privacy notice: For information about how MSCI collects and uses personal data, please refer to our Privacy Notice at https://www.msci.com/privacy-pledge.