CreditEdge Web Services API Guide

July 13, 2010 CreditEdge® Web Services API Guide Version 2.5 Contact Moody’s Analytics Support 1-866-995-9659 (U.S.) or +1-212-553-5160 [email protected]
Author: Blake Welch
3 downloads 0 Views 2MB Size
July 13, 2010

CreditEdge® Web Services API Guide Version 2.5

Contact Moody’s Analytics Support 1-866-995-9659 (U.S.) or +1-212-553-5160 [email protected] http://support.moodsykmv.com

© 2010 Moody's Analytics, Inc. and/or its licensors and affiliates. All rights reserved

2

1

Introduction............................................................................................................................ 7 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10

2

The CompanyMapping Web Service ..............................................................................19 2.1

Non-Batch ..................................................................................................................................... 19

2.2

Batch ............................................................................................................................................. 23

2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9

3

Architecture ..................................................................................................................................... 7 Real-Time vs. Batch Modes........................................................................................................... 8 User Name Access and Protected Data Delivery ....................................................................... 8 Reporting and Error Handling ...................................................................................................... 10 Object Types ................................................................................................................................. 10 Using HTTP Compression ............................................................................................................ 11 Development Requirements ........................................................................................................ 16 Configuration Connection Parameters....................................................................................... 16 Performance Metrics .................................................................................................................... 17 Changes Since the Previous Release ........................................................................................... 18

lookupByModule ................................................................................................................................... 19 lookupByCompanyName.....................................................................................................................20 lookupByBondCusip .............................................................................................................................20 lookupByBondIsin ................................................................................................................................. 21 lookupByEquityCusip ........................................................................................................................... 21 lookupBySedol ...................................................................................................................................... 21 lookupByTicker ...................................................................................................................................... 22 lookupById ............................................................................................................................................. 22 getBatchStatus ......................................................................................................................................23 lookupByModuleBatch .........................................................................................................................23 lookupByCompanyNameBatch ...........................................................................................................24 lookupByBondCusipBatch ...................................................................................................................24 lookupByBondIsinBatch .......................................................................................................................24 lookupByEquityCusipBatch ................................................................................................................. 25 lookupBySedolBatch ............................................................................................................................ 25 lookupByTickerBatch ............................................................................................................................ 25 lookupByIdBatch ...................................................................................................................................26 getBatchResult ......................................................................................................................................26

The CompanyDetail Web Service .................................................................................. 29 3.1

Non-Batch .................................................................................................................................... 29

3.2

Batch ............................................................................................................................................. 36

3.1.1 3.1.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5

getCompanyDetail................................................................................................................................29 getMonthlyCompanyDetail .................................................................................................................32

getCompanyDetailBatch......................................................................................................................36 getMonthlyCompanyDetailBatch ....................................................................................................... 37 getBatchStatus ...................................................................................................................................... 37 getCompanyDetailBatchResult .......................................................................................................... 38 getMonthlyCompanyDetailBatchResult ........................................................................................... 40

CreditEdge Web Services API Guide

3

4

The EDFService Web Service ........................................................................................... 45 4.1

Non-Batch .................................................................................................................................... 45

4.2

Batch ............................................................................................................................................. 55

4.1.1 4.1.2 4.1.3 4.1.4 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9

5

changeMarketCapBatch ....................................................................................................................... 55 changeFinancialStatementBatch ........................................................................................................56 changeCapitalStructureBatch .............................................................................................................59 edfSolverBatch ..................................................................................................................................... 60 getBatchStatus ...................................................................................................................................... 61 changeMarketInfoBatchResult ............................................................................................................62 changeFinancialStatementBatchResult .............................................................................................63 changeCapitalStructureBatchResult ................................................................................................. 64 edfSolverBatchResult .......................................................................................................................... 66

The EISService Web Service............................................................................................. 67 5.1

Non-Batch .................................................................................................................................... 67

5.2

Batch ............................................................................................................................................. 83

5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.2.10 5.2.11 5.2.12 5.2.13 5.2.14

6

changeMarketCap .................................................................................................................................45 changeFinancialStatement ................................................................................................................. 48 changeCapitalStructure ....................................................................................................................... 52 edfSolver ................................................................................................................................................54

getEISDetail ........................................................................................................................................... 67 getEISDetailByInstrumentId ............................................................................................................... 69 getEISDetailByIssueType...................................................................................................................... 71 getEISDetailByCUSIP ............................................................................................................................ 72 getEISDetailByISIN ............................................................................................................................... 74 getEISDetailByMaturityDate ............................................................................................................... 76 changeEISInfo ........................................................................................................................................ 78 changeEISInfoPvt ................................................................................................................................. 80 eisSolver 81

getEISDetailBatch ................................................................................................................................ 83 getEISDetailByInstrumentIdBatch ..................................................................................................... 83 getEISDetailByIssueTypeBatch ........................................................................................................... 84 getEISDetailByCUSIPBatch ..................................................................................................................85 getEISDetailByISINBatch .....................................................................................................................85 getEISDetailByMaturityDateBatch .................................................................................................... 86 changeEISInfoBatch ............................................................................................................................. 86 changeEISInfoPvtBatch ........................................................................................................................ 87 eisSolverBatch ...................................................................................................................................... 88 getBatchStatus ..................................................................................................................................... 89 getEISDetailBatchResult ..................................................................................................................... 90 changeEISInfoBatchResult ................................................................................................................... 91 changeEISInfoPvtBatchResult .............................................................................................................92 eisSolverBatchResult ............................................................................................................................93

The Microsoft Excel Sample Application ...................................................................... 95 6.1 6.2 6.3 6.4

Where to Get the Sample Application ...................................................................................... 95 Installing the Sample Application .............................................................................................. 96 Verifying Your Connection to CreditEdge Web Services......................................................... 97 Using the Excel Sample Application .......................................................................................... 99

4

6.4.1 6.4.2

6.5 6.6 6.7

7

Viewing VisualBasic Code in the Excel Sample Application .................................................. 101 Making a web services request using the SOAP Toolkit ........................................................ 102 Getting Results and Error Messages from the Response ....................................................... 104

Building a Microsoft .NET Application ........................................................................ 107 7.1 7.2

8

Mapping the Spreadsheet Tables to the CreditEdge Website .......................................................100 Mandatory Validation Checks ...........................................................................................................100

Making a web services request using Microsoft’s .NET and C# ............................................107 Getting error messages from the response.............................................................................. 110

Error Messages ................................................................................................................... 111 Contacting Moody’s Analytics with Feedback ....................................................................................... 112

Index

.......................................................................................................................... 113

CreditEdge Web Services API Guide

5

CHAPTER 1 1 Introduction The CreditEdge Web Services allow a subset of the functionality of the CreditEdge web-based application to be integrated into a company web site or client desktop application. These services use the Simple Object Access Protocol (SOAP) to communicate data to requesting client applications. This document details the CreditEdge Web Services offered, their associated methods, and the input and output parameters for each method. It is intended for programmers familiar with SOAP and web services who will be building front-end applications to display financial statistics calculated through CreditEdge. For more information on the CreditEdge web-based application, see the CreditEdge User Guide. For information on the finanancial terms used in this API guide, see the Glossary of the CreditEdge User Guide.

1.1

Architecture To communicate with the CreditEdge Web Services, you must serialize an input stream and translate it to XML using SOAP. The generalized architecture is shown in the figure below.

FIGURE 1 CreditEdge Web Services architecture

Client applications issue a request by calling a method by name and passing a known set of input parameters. This information is translated into an XML file (according to the SOAP interface specification) and sent over HTTPS to the appropriate CreditEdge Web Service for processing. SOAP specifies exactly how to encode the HTTP header and XML file so that the CreditEdge Web Service can interpret the request. The input parameters are used by the method being called to calculate the result data. This data is then returned to the requesting application as an XML file, translated back to the calling application’s platform, and displayed in the user interface as illustrated by FIGURE 2.

FIGURE 2 Communication with CreditEdge Web Services

1.2

Real-Time vs. Batch Modes All functionality used to programmatically calculate EDF values and spread data, and to retrieve company information, can be accessed in real time or as a batch process. Real-time methods limit the number of queries that can be executed at a time for performance reasons. Because real-time method calls are executed synchronously, the client must wait for a response from the web services before another request can be made. All calculated data is returned for the method as an XML stream over HTTPS. This is typically converted by your SOAP interfaces into native result objects for your application’s programming environment. Batch operations, on the other hand, are executed asynchronously. These operations allow clients to make time-consuming requests without having to wait to issue new requests. Each batch method returns a unique job identifier that can be used at any time to check the status of the batch request and, if processing has completed for it, retrieve the results. There is a 2,000-company limitation on the number of queries that can be issued in a batch request. The job identifier is returned with the batch method call. The results are obtained by making a second synchronous method call passing the job identifier as a parameter.

1.3

User Name Access and Protected Data Delivery In order to use CreditEdge Web Services, you must connect to CreditEdge Web Services with a valid CreditEdge user name and password. The CreditEdge data available to you (and your user name and password) via CreditEdge Web Services match those available to you when you use the CreditEdge web-based application. Only CreditEdge Plus subscribers, for instance, will have access to CDS spread and bond spread data. (For more information on CreditEdge Plus, see section 1.1, “Introducing CreditEdge” in the CreditEdge User Guide.)

8

NOTE

If you are a custom lot subscriber to CreditEdge, you must create your portfolio within the CreditEdge application prior to using Web Services. If you attempt to retrieve information for a new company that is not within this application portfolio, you will receive an error message. Custom lot subscribers will only be allowed to retrieve information from CreditEdge Web Services on subscribed companies as determined by the portfolio in the CreditEdge application.

In order to receive industry-protected data you must have the necessary redistribution rights. This data includes: •

Market capitalization



Share price



Ticker symbols



S&P ratings



Moody’s ratings

If you have redistribution rights, or buy these rights through your Moody’s Analytics sales representative, you will be given the authorization to have this data provided through the CreditEdge Web Services automatically. If you do not have authorization to receive this industry-protected data, you can still use the web services, but blanks will be delivered for these fields instead. For example, if you have rights to get the share price for a particular exposure, it will be sent to you within the SOAP response: 19.25

Otherwise, a blank will be sent in the SOAP response:

This “blank” will be converted to an appropriate empty object when the SOAP message response is translated back into the client application’s programming language. There are a couple of exceptions to this rule: 

If you supply a share price instead of using the share price supplied to Moody’s Analytics, the CreditEdge application will return the price you supplied and a value for the market capitalization calculated using that price. Similarly, if you supply the Bond CUSIP (or similar identifier) as input, then these values can be supplied back. In this case, it will be assumed that you have the necessary rights to receive this data.



When share price or market capitalization is derived within the CreditEdge application instead of being passed directly from the data vendor, this data will be returned. For example, suppose you call the changeMarketCap method to calculate the market capitalization if a company’s share price increases by 10%. In this case, the share price becomes a derived value and is not bound by the redistribution rights necessary for a direct data feed from Bloomberg.

CreditEdge Web Services API Guide

9

1.4

Reporting and Error Handling The CreditEdge Web Services methods trap and return errors to the request application. These errors are embedded within the response XML file with the and tags. You can therefore access and display any error messages encountered when your request was processed by parsing through them within your application code (SOAP Toolkit/VB code) or using the getter methods from the ErrorMessage object (.NET/C# code). See Appendix A for a list of all error messages returned by the CreditEdge Web Services. These errors are separate from the results in the response. Results are embedded within the tag. Getting error messages from the response is presented in detail in “Getting Results and Error Messages from the Response” on page 104.



1.5

Object Types As of the CreditEdge Web Services release 2.2, some primitive data types have been changed to object types within the input parameters. Specifically, double has been changed to DoubleType, long has been changed to LongType, boolean has been changed to BooleanType, and dateTime has been changed to DateType. The object data types are simply wrappers of their associated primitive data types. This change was made because in .NET, double defaults to 0 and date defaults to 1/1/1 if the user does not call the "set" methods for the input parameters. This potentially could cause incorrect or unexpected calculated results for methods that have optional parameters using these primitive data types. Also following methods now have two 'overloaded' versions—the first maintains backward compatibility by supporting the primitive types, and the second uses the new object types. • • • • • • • • • •

getCompanyDetail getCompanyDetailBatch getMonthlyCompanyDetail getMonthlyCompanyDetailBatch changeMarketCap changeMarketCapBatch changeFinancialStatement changeFinancialStatementBatch changeCapitalStructure changeCapitalStructureBatch

All of these methods accept array or request objects as parameters. Request objects have fields that allow specifying different parameters (such as date, EDF values etc). The new overloaded methods for these objects accept an array of request objects where all fields of those objects are non-primitive data types. The names of these new request object types end with ‘2’. For example CompanyDetailRequest will use the old version of the request object with the primitive data types and CompanyDetailRequest2 uses the new DoubleType and DateType object types. In addition a mistake in the naming of the ChgCapStrutRequest object—it should have been ChgCapStructRequest—was corrected in the naming of the new request object type. So the new type name in this case is ChgCapStructRequest2.

10

In order to have access to the new request object types, you must regenerate stubs for the client application from the latestWSDL files. Then you will have two versions for every method mentioned above. When you call one of these services you will then have the chance to select the method by passing different types of request objects to the input array. Using the legacy request object type // The following code uses the request object for the primitive types ' ' Serializer.StartElement "Array", , , ENC_PREFIX Serializer.SoapAttribute "id", , "id1" Serializer.SoapAttribute "arrayType", , "tns:CompanyDetailRequest[" & currentRow & "]", ENC_PREFIX . . .

Using the new request object type // The following code uses the request object for the primitive types ' ' Serializer.StartElement "Array", , , ENC_PREFIX Serializer.SoapAttribute "id", , "id1" Serializer.SoapAttribute "arrayType", , "tns:CompanyDetailRequest2[" & currentRow & "]", ENC_PREFIX . . .

1.6

Using HTTP Compression To reduce the file size and the time necessary to transfer SOAP responses, client HTTP compression was introduced into CreditEdge Web Services release 2.2. The component responsible for compression is implemented in the form of J2EE filter that checks HTTP headers of the incoming request for the presence of the HTTP header 'Accept-Encoding.' If there is such header and the value of the header contains 'gzip' then the filter will compress responses and put the 'Content-Encoding' HTTP header with the value set to 'gzip' into the response. To use compression in your client application, insert the HTTP header 'Accept-Encoding' to the value 'gzip' into the request. If compression is enabled on the CreditEdge Web Services side then the server will compress data in its response. Client code has to notify the server that it is able to receive data in compressed form and decompress data if the server is sending it in compressed form. Compression for all SOAP toolkits is supported, but for documentation simplicity, we have provided sample code for two client applications—one generated using Microsoft's .NET Visual Studio and one generated using Apache's AXIS toolkit.

CreditEdge Web Services API Guide

11

Microsoft .NET Visual Studio Example

The user is assumed to have already created a Web Reference to the service and Visual Studio .NET generated service classes. Because there is no class for that supports gzip compression and decompression we recommend using a third party library such as SharpZipLib available from: http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 2.

Create a new class that extends the web service class generated by Visual Studio .NET.

3.

In this new class override the method GetWebRequest with the following code: protected override System.Net.WebRequest GetWebRequest( Uri uri ) { System.Net.WebRequest request = base.GetWebRequest(uri); ((System.Net.HttpWebRequest)request).Headers.Add( "Accept-Encoding", "gzip"); return request; }

4.

Copy the code of the method that you are using to call the method of the service from the class generated by Visual Studio .NET to the newly created class and rename that method. For example, we take code for the getEISDetailByIssueType method and copy it to the newly created class with the new name getEISDetailByIssueTypeExtended. [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace="http://www.mkmv.com/EISService", ResponseNamespace="http://www.mkmv.com/EISService")] [return: System.Xml.Serialization.SoapElementAttribute("getEISDetailByIssueTypeReturn")] public com.kmv.EISDetailResultSet getEISDetailByIssueTypeExtended(com.kmv.EISDetailByIssueTypeRequest[] requests) { object[] results = this.Invoke("getEISDetailByIssueType", new object[] {requests}); return ((com.kmv.EISDetailResultSet)(results[0])); }

5.

Create a SOAP Extension class. using System; namespace { using using using using using

Compression_Test System; System.Web.Services; System.Web.Services.Protocols; System.IO; System.Net;

// Define a SOAP Extension that traces the SOAP request and SOAP // response for the XML Web service method to which the SOAP extension is // applied. public class CompressionExtension : SoapExtension { Stream oldStream; Stream newStream; // Save the Stream representing the SOAP request or SOAP response into // a local memory buffer. public override Stream ChainStream( Stream stream ) { oldStream = stream; newStream = new MemoryStream();

12

return newStream; } // When the SOAP extension is accessed for the first time, the XML Web // service method it is applied to is accessed to store the file // name passed in, using the corresponding SoapExtensionAttribute. public override object GetInitializer(LogicalMethodInfo methodInfo, SoapExtensionAttribute attribute) { return null; } // The SOAP extension was configured to run using a configuration file // instead of an attribute applied to a specific XML Web service // method. public override object GetInitializer(Type WebServiceType) { return null; } // Receive the file name stored by GetInitializer and store it in a // member variable for this specific instance. public override void Initialize(object initializer) { } // If the SoapMessageStage is such that the SoapRequest or // SoapResponse is still in the SOAP format to be sent or received, // save it out to a file. public override void ProcessMessage(SoapMessage message) { switch (message.Stage) { case SoapMessageStage.BeforeSerialize: break; case SoapMessageStage.AfterSerialize: WriteOutput(message); break; case SoapMessageStage.BeforeDeserialize: String contentEncoding = message.ContentEncoding; WriteInput(message, contentEncoding); break; case SoapMessageStage.AfterDeserialize: break; default: throw new Exception("invalid stage"); } } public void WriteOutput(SoapMessage message) { newStream.Position = 0; TextReader reader = new StreamReader(newStream); TextWriter writer = new StreamWriter(oldStream); writer.WriteLine(reader.ReadToEnd()); writer.Flush(); }

public void WriteInput(SoapMessage message, String contentEncoding) { Stream s = null; if( contentEncoding == "gzip" ) { s = new ICSharpCode.SharpZipLib.GZip.GZipInputStream(oldStream); } else

CreditEdge Web Services API Guide

13

{ s = oldStream; } StreamReader streamReader = new StreamReader( s ); StreamWriter streamWriter = new StreamWriter( newStream ); String currentLine = null; while( ( currentLine = streamReader.ReadLine()) != null ) { streamWriter.WriteLine( currentLine ); } streamWriter.Flush(); newStream.Position = 0; } } }

6.

Create Attribute class that extends the SoapExtensionAttribute class. using System; using System.Web.Services.Protocols; namespace Compression_Test { // Create a SoapExtensionAttribute for the SOAP Extension that can be // applied to an XML Web service method. [AttributeUsage(AttributeTargets.Method)] public class CompressionExtensionAttribute : SoapExtensionAttribute { private int priority; public override Type ExtensionType { get { return typeof(CompressionExtension); } } public override int Priority { get { return priority; } set { priority = value; } } } }

7.

Apply the attribute created in the previous step to the method in the extended service class for which you want to apply compression. For example: [Compression_Test.CompressionExtensionAttribute] public EISDetailResultSet getEISDetailByIssueTypeExtended(EISDetailByIssueTypeRequest[] requests) { object[] results = this.Invoke("getEISDetailByIssueType", new object[] {requests}); return ((EISDetailResultSet)(results[0])); }

8.

In your code create an instance of the extended class and call the method for the service as you would normally.

In our example we use the attribute [Compression_Test.CompressionExtensionAttribute] at the top of the method declaration in .NET to tell the method to use the SOAP Extension for compression. An alternative way to accomplish this is to change the configuration file to specify use of compression through the SOAP Extension for the entire service.

14

Apache AXIS Toolkit example

The user is assumed to have already successfully generated stubs with the WSDL2Java tool. 1.

From the CVS repository on www.apache.org copy the source code for the org.apache.axis.transport.http.HTTPSender class corresponding to the version of AXIS that you are using.

2.

Create a new class (for example MyHTTPSender) and paste the code from the HTTPSender class to this new class.

3.

Add the new code into two places: • Send HTTP header 'Accept-Encoding' with value 'gzip' as follows Hashtable userHeaderTable = (Hashtable) msgContext. getProperty(HTTPConstants.REQUEST_HEADERS); //--------------------------------------------------------------if(userHeaderTable == null) { userHeaderTable = new Hashtable(); } userHeaderTable.put( "Accept-Encoding", "gzip" ); //--------------------------------------------------------------if (userHeaderTable != null) { if (null == otherHeaders) otherHeaders = new StringBuffer(1024); •

Use the java.util.zip.GZIPInputStream class to decompress the data

if (null != transferEncoding && transferEncoding.trim() .equals(HTTPConstants.HEADER_TRANSFER_ENCODING_CHUNKED)) { inp = new ChunkedInputStream(inp); } //--------------------------------------------------------------String contentEncodingHeader = (String)headers.get( "ContentEncoding".toLowerCase() ); if( contentEncodingHeader != null && contentEncodingHeader.indexOf( "gzip" ) >= 0 ) { java.io.BufferedInputStream binp = new java.io.BufferedInputStream( new java.util.zip.GZIPInputStream( inp ) ); inp = binp; } //--------------------------------------------------------------outMsg = new Message( new SocketInputStream(inp, sock), false, contentType, contentLocation); outMsg.setMessageType(Message.RESPONSE);

4.

Use the following code to register the new HTTP sender. com.mkmv.www.EISService.EISServiceServiceLocator locator = new com.mkmv.www.EISService.EISServiceServiceLocator(); EngineConfiguration config = locator.getEngine().getConfig(); WSDDDeployment deployment = ((org.apache.axis.configuration.FileProvider)config).getDeployment(); deployment.undeployTransport( new javax.xml.namespace.QName("http") ); WSDDTransport transport = new WSDDTransport(); transport.setPivotQName( new javax.xml.namespace.QName( "http://xml.apache.org/axis/wsdd/providers/java", "com.mkmv.MKMVHTTPSender" ) ); transport.setQName( new javax.xml.namespace.QName("http") );

CreditEdge Web Services API Guide

15

deployment.deployTransport( transport ); deployment.configureEngine( locator.getEngine() );

5.

1.7

Call the method for the service as you would normally.

Development Requirements The CreditEdge Web Services are intended for programmers that will be building their own user interfaces to initiate requests and display results. You can program your front-end using any programming language you want, as long as the programming language has a library of functions or methods to handle the translation to and from XML according to the SOAP specification. Many programming languages—such as Visual Basic, C++, and Java—have such libraries available. Of course, a connection to the Internet is also necessary to access these web services.

1.8

Configuration Connection Parameters Each web service is accessed through a specific URL. The CreditEdge Web Services use Web Services Description Language (WSDL) files that fully describe each of the web service interfaces. Each WSDL file defines a service, the set of operations that can be called on the CreditEdge application server for that service, and the format that each client invocation must take. The WSDL file describes how the contents of the XML SOAP message should be formatted to issue the service request, as well as the format of the response message returned. The following URLs give the location of the WSDL file for each web service. 

CompanyMapping web service: https://services.creditedge.com/edf2_0/services/CompanyMapping?wsdl



CompanyDetail web service: https://services.creditedge.com/edf2_0/services/CompanyDetail?wsdl



EDFService web service: https://services.creditedge.com/edf2_0/services/EDFService?wsdl



EISService web service: https://services.creditedge.com/edf2_0/services/EISService?wsdl

Depending on the SOAP engine you use, you may be able to easily integrate into your existing system or build a new application by simply providing the URL for the WSDL for the service. Many SOAP engines have utilities that will generate the necessary classes to make your connection for you. Microsoft’s .NET development platform incorporates one such engine that allows you to simply point to the location of the WSDL files and generate all the internal classes you need to communicate. If you are instead accessing the CreditEdge Web Services from a Visual Basic or Visual C++ desktop application written on the Microsoft platform, you can use the SOAP Toolkit 3.0 as is demonstrated by “Making a web services request using the SOAP Toolkit” discussed on page 102. The SOAP Toolkit requires much more to be coded by hand. Visual Studio is therefore

16

recommended for your application development on the .NET platform. The SOAP Toolkit 3.0 is available for download from the Microsoft web site: http://msdn.microsoft.com/library/default.asp?url=/downloads/list/websrv.asp Axis is a SOAP engine for Java provided by Apache (for the open source Tomcat servlet engine). Like Microsoft’s .NET, Axis will automatically generate all the classes you need to make a web services connection over SOAP. For more information on the Axis SOAP implementation and to get the latest release, go to the Apache web site: http://ws.apache.org/axis/index.html

1.9

Performance Metrics Preliminary testing of on our system environment is given below. Depending on your own network usage and client load, your performance may vary, but the ranges given below are typical. NOTE

We recommend that you set a socket timeout of 10 minutes. We do not recommend downloading more than 90 days of historical data due to file size considerations.

getCompanyDetail method (download time ranges in seconds) Number of PIDs 1 50

1-day history 2-3 12 - 28

90-day history 2-3 40 - 80

get EISDetailByCUSIP method (download time ranges in seconds) Number of PIDs 1 50

CreditEdge Web Services API Guide

1-day history 2-3 9 - 22

90-day history 3-6 350 - 600

17

1.10

Changes Since the Previous Release The following changes have been made to the API since the previous release: •

The edfSolver, edfSolverBatch, and edfSolverBatchResult methods have been added to the EDFService Web Service.



The eisSolver, eisSolverBatch, and eisSolverBatchResult methods have been added to the EISService Web Service.



The getEISDetail, getEISDetailBatch, and getEISDetailBatchResult methods in the EISService Web Service have been updated to return the term-adjusted EIOAS not only for the reference bond, but also for all bonds for that company. If no reference issue exists for the company, the system returns the MKMV calculated EIOAS term structure (using the sector LGD). Input parameters will vary based on the search parameter provided.



The API has been adjusted to allow user to input bond identifiers in addition to entering MKMVIDs. These changes are reflected in the changeEISInfo, changeEISInfoBatch, and changeEISInfoBatchResult methods. No changes to the changeEISInfoPrv methods are necessary because CUSIP and ISIN input parameters are not used for this type of service.



An instrumentId parameter was added to the lookupByBondCusip and lookupByBondIsin company lookup methods.



If you provide only a partial EDF term structure as input to the changeEISInfo, changeEISInfoBatch, changeEISInfoPrv, and changeEISInfoBatch functions, the CreditEdge XML Web Services will now complete the EDF term structure by flatly copying the last value provided to fill in the first five years (to edf5). For example, if a user provides inputs for edf1, edf2, and edf3, the edf3 value will be used as input for edf4 and edf5 also.



Some data types have been changed from primitives to object types. See "Object Types" on page 10 for more information.

18

CHAPTER 2 2 The CompanyMapping Web Service The CompanyMapping web service most closely correlates to the Company Search functionality within the CreditEdge web tool. For more information, see section 1.5, “Searching for a Company or Group” in the CreditEdge User Guide. This service searches for company information using the identifying parameter given by the calling method. The service returns a vector of matching company names and output parameters for each company. All methods accept an array of objects specified in the application (using the input parameter required by the calling method) and return an array of the same size with mapped company information results. The response for each company query may return more than one result as variants within the mapping. The methods for this service all return the same company information. However, each method requires a different input parameter—the one corresponding to the lookup parameter given by the method. Each method can be executed in real-time or as a batch job. However, for performance reasons, real-time requests are limited to 100 company lookups. NOTE

2.1

Each subscription’s output is a vector containing two parameters: the subscription code, and a description. You will need to consider the subscription vector in parsing through the resulting output stream.

Non-Batch 2.1.1 lookupByModule Retrieves the results of a company mapping by database module request. TABLE 1

getCompanyMappingByModule method inputs and outputs

Input Parameter

Description

Moody’s Analytics unique subscription module identifier for the company (string).

types Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

companyName

Company name. (string)

ticker

Company ticker symbol. (string)

subscriptions

A vector of the subscriptions to which this company belongs. For each subscription, the following is returned:

subscriptionCode

A Moody’s Analytics identifier. (string)

description

A text description. (string)

2.1.2 lookupByCompanyName Looks up general company information by name. More than one company may be returned by this method. Results will be sorted in alphabetical order by company name per input parameter in the order inputs were provided. TABLE 2

lookupByCompanyName method inputs and outputs

Input Parameter

Description

[required] Company name. (string)

name Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

companyName

Company name. (string)

ticker

Company ticker symbol. (string)

subscriptions

A vector of the subscriptions to which this company belongs. For each subscription, the following is returned:

subscriptionCode

A Moody’s Analytics identifier. (string)

description

A text description. (string)

2.1.3 lookupByBondCusip Looks up general company information by the company’s bond CUSIP (assigned by the S&P CUSIP Bureau). TABLE 3

lookupByBondCusip method inputs and outputs

Input Parameter

bondCusip

Description

[required] Company’s bond CUSIP. (string)

Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

companyName

Company name. (string)

ticker

Company ticker symbol. (string)

instrumentId

MKMV instrument identifier. (long)

subscriptions

A vector of the subscriptions to which this company belongs. For each subscription, the following is returned:

subscriptionCode

A Moody’s Analytics identifier. (string)

description

A text description. (string)

20

2.1.4 lookupByBondIsin Looks up general company information by the company’s bond ISIN (assigned by the International Standards Organization). TABLE 4

lookupByBondIsin method inputs and outputs

Input Parameter

Description

[required] Company’s bond ISIN. (string)

bondIsin Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

companyName

Company name. (string)

ticker

Company ticker symbol. (string)

instrumentId

MKMV instrument identifier. (long)

subscriptions

A vector of the subscriptions to which this company belongs. For each subscription, the following is returned:

subscriptionCode

A Moody’s Analytics identifier. (string)

description

A text description. (string)

2.1.5 lookupByEquityCusip Looks up general company information by the company’s equity CUSIP (assigned by the S&P CUSIP Bureau). TABLE 5

lookupByEquityCusip method inputs and outputs

Input Parameter

equityCusip Output Parameter

Description

[required] Company’s equity CUSIP. (string) Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

companyName

Company name. (string)

ticker

Company ticker symbol. (string)

subscriptions

A vector of the subscriptions to which this company belongs. For each subscription, the following is returned:

subscriptionCode

A Moody’s Analytics identifier. (string)

description

A text description. (string)

2.1.6 lookupBySedol Looks up general company information by the company’s SEDOL (assigned by the London Stock Exchange).

CreditEdge Web Services API Guide

21

TABLE 6

lookupBySedol method inputs and outputs

Input Parameter

Description

[required] Company’s SEDOL. (string)

sedol

Description

Output Parameter

MKMVID

Moody’s Analytics unique identifier for the company. (string)

companyName

Company name. (string)

ticker

Company ticker symbol. (string)

subscriptions

A vector of the subscriptions to which this company belongs. For each subscription, the following is returned:

subscriptionCode

A Moody’s Analytics identifier. (string)

description

A text description. (string)

2.1.7 lookupByTicker Looks up general company information by the company’s exchange ticker symbol. In this case, you pass the input parameters as a TickerExchangeCodeSearchCondition object containing the ticker symbol and, optionally, the exchange code as strings. Results will be sorted in alphabetical order by company name per input parameter in the order inputs were provided. TABLE 7

lookupByTicker method inputs and outputs

Input Parameter

Description

ticker

[required] Company ticker symbol. (string)

exchangeCode

The code identifying the exchange where the issue is traded. (string)

Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

companyName

Company name. (string)

ticker

Company ticker symbol. (string)

subscriptions

A vector of the subscriptions to which this company belongs. For each subscription, the following is returned:

subscriptionCode

A Moody’s Analytics identifier. (string)

description

A text description. (string)

2.1.8 lookupById Looks up general company information by the company’s unique Moody’s Analytics identifier. TABLE 8 Input Parameter

pids

lookupById method inputs and outputs Description

[required] Moody’s Analytics unique identifier for the company.

22

(string) Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

companyName

Company name. (string)

ticker

Company ticker symbol. (string)

subscriptions

A vector of the subscriptions to which this company belongs. For each subscription, the following is returned:

subscriptionCode

A Moody’s Analytics identifier. (string)

description

A text description. (string)

2.1.9 getBatchStatus Gets the status of a batch request: started, completed, or failed. The results for the job given by the job identifier can only be fetched for completed batch jobs. The getBatchStatus method returns an object of type BaseJob in which one of the fields is the output parameter string status. Other fields in the BaseJob object include: jobId, jobType (batch method called), startTime, endTime, and userId. You only need to be concerned with the status field. If the returned job status is failed, it means the server has encountered some unexpected error condition, such as an uncaught RuntimeException or an out of memory error. In this case, contact MKMV directly for help by sending email to [email protected] TABLE 9

getBatchStatus method inputs and outputs

Input Parameter

Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

BaseJob.status

Description

The status of the batch job: started, completed, or failed.

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

2.2

Batch 2.2.1 lookupByModuleBatch Input Parameter

Description

[required] Module name. (string)

types Output Parameter

jobId

CreditEdge Web Services API Guide

Description

Unique job identifier. (long)

23

2.2.2 lookupByCompanyNameBatch Looks up general company information by name and returns a unique job identifier (jobId). This jobId is used as an input to the getBatchResult method to retrieve company information. TABLE 10

lookupByCompanyNameBatch method inputs and outputs

Input Parameter

Description

[required] Company name. (string)

name Output Parameter

jobId

Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

2.2.3 lookupByBondCusipBatch Looks up general company information by the company’s bond CUSIP (assigned by the S&P CUSIP Bureau) and returns a unique job identifier (jobId). This jobId is used as an input to the getBatchResult method to retrieve company information. TABLE 11

lookupByBondCusipBatch method inputs and outputs

Input Parameter

Description

[required] Company’s Bond CUSIP. (string)

bondCusip Output Parameter

jobId

Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

2.2.4 lookupByBondIsinBatch Looks up general company information by the company’s Bond ISIN (assigned by the International Standards Organization) and returns a unique job identifier (jobId). This jobId is used as an input to the getBatchResult method to retrieve company information. TABLE 12

lookupByBondIsinBatch method inputs and outputs

Input Parameter

bondIsin Output Parameter

jobId

Description

[required] Company’s Bond ISIN. (string) Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

24

2.2.5 lookupByEquityCusipBatch Looks up general company information by the company’s Equity CUSIP (assigned by the S&P CUSIP Bureau) and returns a unique job identifier (jobId). This jobId is used as an input to the getBatchResult method to retrieve company information. TABLE 13

lookupByEquityCusipBatch method inputs and outputs

Input Parameter

Description

[required] Company’s equity CUSIP. (string)

equityCusip Output Parameter

jobId

Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

2.2.6 lookupBySedolBatch Looks up general company information by the company’s SEDOL (assigned by the London Stock Exchange) and returns a unique job identifier (jobId). This jobId is used as an input to the getBatchResult method to retrieve company information. TABLE 14

lookupBySedolBatch method inputs and outputs

Input Parameter

Description

[required] Company’s SEDOL. (string)

sedol

Description

Output Parameter

jobId

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

2.2.7 lookupByTickerBatch Looks up general company information by the company’s exchange ticker symbol. In this case, you pass the input parameters as a TickerExchangeCodeSearchCondition object containing the ticker symbol and, optionally, the exchange code as strings. This method returns a unique job identifier (jobId). This jobId is used as an input to the getBatchResult method to retrieve company information. TABLE 15 Input Parameter

lookupByTickerBatch method inputs and outputs Description

ticker

[required] Company ticker symbol. (string)

exchangeCode

The code identifying the exchange where the issue is traded. (string)

CreditEdge Web Services API Guide

25

Description

Output Parameter

jobId

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

2.2.8 lookupByIdBatch Looks up general company information by the company’s unique Moody’s Analytics identifier and returns a unique job identifier (jobId). This jobId is used as an input to the getBatchResult method to retrieve company information. TABLE 16

lookupByIdBatch method inputs and outputs

Input Parameter

Description

[required] Moody’s Analytics unique identifier for the company. (string)

pids Output Parameter

Description

jobId

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

2.2.9 getBatchResult Retrieves the results of a company mapping batch request by jobId. It can only fetch results for completed batch jobs. TABLE 17

getBatchResult method inputs and outputs

Input Parameter

Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

companyName

Company name. (string)

ticker

Company ticker symbol. (string)

instrumentId

MKMV instrument identifier. (long) Note: This parameter is only relevant to lookupByBondCusipBatch and lookupByBondIsinBatch methods. Unless the batch request has originated from one of these two methods, this parameter will return null.

subscriptions

A vector of the subscriptions to which this company belongs. For each subscription, the following is returned:

subscriptionCode

A Moody’s Analytics identifier. (string)

description

A text description. (string)

26

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

CreditEdge Web Services API Guide

27

CHAPTER 3 3 The CompanyDetail Web Service The companyDetail web service most closely correlates to the EDF page of the Analyze | Company section of the CreditEdge web application. For more information, see the section 3.1, “Analyzing Companies,” of the CreditEdge User Guide. The main method for this service, getCompanyDetail, returns the company’s EDF information. Retrieving data from this method requires knowing the Moody’s Analytics unique identifiers for all the companies submitted. Each method can be executed in real-time or as a batch job. However, for performance reasons, real-time requests are limited to 50 company EDF values. All service methods return a ResultSet object that contains an array of specific result objects and an associated array of error messages. If the result object cannot be located for one of the requests, an error message should be contained within the error messages array related to the failed request. Each request object may return more than one corresponding result object. For example, multiple result objects will be returned if the request specifies a date range of more than one day.

3.1

Non-Batch 3.1.1 getCompanyDetail Gets the EDF details and factors used in calculating the EDF for each company requested. TABLE 18 Input Parameter

getCompanyDetail method inputs and outputs Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

dateFrom

Date to calculate EDF from in MM/DD/YY format. The last available date will be used if no value is provided for dateFrom or dateTo. The dateTo date will be used if it precedes the date that the latest data became available. (dateTime, CompanyDetailRequest request object) (DateType, CompanyDetailRequest2 request object)

dateTo

Date to calculate EDF to in MM/DD/YY format. The last available date will be used if no value is provided. (dateTime, CompanyDetailRequest request object) (DateType, CompanyDetailRequest2 request object)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

Output Parameter

Description

EDFType

The EDF Term Structure type: forward, cumulative, or annual. (string)

MKMVID

Moody’s Analytics unique identifier for the company. (string)

SIC

Standard Industry Classification code for the company’s industry. (string)

assetVolatility

The standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double)

commonDividends

The projected annual dividends on common stock, excluding special distributions. (double)

commonEquity

Common equity (= total equity) includes common stock outstanding (including treasury stock adjustments), capital surplus, and retained earnings. (double)

creditCategory

The credit category for the company. (an array of 10 string values)

currency

The ISO code of the currency in which the company is valued. (string)

currentDebt

Current debt represents the total amount of short-term notes and the current portion of any long-term debt (due in one year). This is a component of Total Current Liabilities. (double)

currentLiabilities

Total current liabilities represents liabilities due within one year, including the current portion of long-term debt. (double)

debtDueYear2

Debt due in year 2. (double)

debtDueYear3

Debt due in year 3. (double)

debtDueYear4

Debt due in year 4. (double)

debtDueYear5

Debt due in year 5. (double)

defaultPoint

The liabilities that matter in case of default. (double)

deferredTax

Accumulated tax deferrals due to timing differences between the reporting of revenues and expenses for financial reporting and tax purposes. (double)

edf

The EDF Term Structure, effectively, the EDF measure calculated for each year 1 through 10 in increasing year order. EDF™ is the market-based credit measure developed by Moody’s Analytics. (an array of 10 double values)

equityVolatility

Instantaneous equity volatility, a measure of equity volatility derived from the asset volatility data, expressed in percentage terms. (double)

30

Output Parameter

industryWeights

Description

A vector of the industry weights by industry name, weight, and industry code. These represent the company’s percentage exposure to an industry. A company can have exposure to up to 20 industries, where the weights in these industries must sum to 100. For each weighted industry, the following three parameters are provided:

industryName

A text description of the industry. (string)

weight

The percent (0 – 100) of total assets in or sales generated from the industry. (double)

industryCode

A Moody’s Analytics identifier. (string)

inputDate

The input value of dateFrom. (dateTime)

longTermDebt

Total long-term debt represents debt obligations due more than one year from the company’s balance sheet date. (double)

longTermLiability

The long-term liabilities are equal to balance sheet long-term liabilities less minority interest and deferred taxes. (double)

marketCapital

Market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

marketLeverage

A ratio indicating how much of the market value of the firm’s assets is financed by debt. (double)

marketValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, equity volatility, and liability structure. (double)

minorInterest

Par or stated value of the subsidiary preferred or common stock not owned by the parent company, plus the minority interest’s equity in the surplus of the subsidiary. (double)

moodysRating

The credit category assigned to the company by Moody’s rating approach. (string)

moodysRatingDate

The credit category assigned to the company by Moody’s rating approach as of the dateTo provided. (dateTime)

otherLiabilities

All non-current liabilities that are not debt, deferred taxes, investment tax credits, minority interest, or shareholders’ equity. (double)

preferredDividends

The total amount of the dividend requirement on cumulative preferred stock and dividends paid on non-cumulative preferred stock of the company during the year. (double)

preferredStock

Preferred stock is the net number of preferred shares multiplied by the par or stated value per share as presented on the company’s balance sheet. (double)

primaryCountry

Primary country for the company. (string)

primaryIndustry

Primary industry for the company. (string)

retainedEarning

Retained earnings is the cumulative legally past earnings of the company available for distribution less total dividend distributions to shareholders. Component of common equity. (double)

CreditEdge Web Services API Guide

31

Output Parameter

Description

shareEquivalent

The share equivalents for the company (equal to the commons shares outstanding value plus the maximum number of common shares required). (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

sharePrice

The share price as of the latest trading date. (double)

shortTermLiability

Liabilities approximately equal to current liabilities that may be adjusted or approximated when not available. (double)

snpRating

The credit category assigned to the company by Standard and Poor. (string)

snpRatingDate

The credit category assigned to the company by Standard and Poor’s rating approach as of the dateTo provided. (dateTime)

statementDate

The financial statement date for the data used to calculate a company’s credit measure. (dateTime)

totalAdjustedLiability

The total adjusted liabilities (sum of short and long-term liabilities). (double)

totalLiabilities

The total of all current and long-term liabilities. (double)

tradingDate

The latest trading date. (dateTime)

The EDF Type refers to one of three structures: •

Forward is the probability of default from year N-1 to year N. That is, the 2-year forward EDF is the probability of default between year 1 and year 2 provided the firm survives to the end of year 1.



Cumulative is the probability of default from now until the specified horizon. For example, the 2-year cumulative default probability is the probability that the firm will default any time during the following two-year period.



Annual is the average probability of default per year derived from cumulative EDF.

See "Object Types" on page 10 for more information on request object types.

3.1.2 getMonthlyCompanyDetail Gets the EDF details and factors used in calculating the monthly EDF for each company requested. This is almost identical to the getCompanyDetail method, except that a monthly EDF (from Credit Monitor) is used instead of the CreditEdge daily. Calculations using the EDF will also change accordingly. TABLE 19

getMonthlyCompanyDetail method inputs and outputs

Input Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

dateFrom

Date to calculate EDF from in MM/DD/YY format. The last available date will be used if no value is provided for dateFrom or dateTo. The dateTo date will be used if it

32

precedes the date that the latest data became available. (dateTime, CompanyDetailRequest request object) (DateType, CompanyDetailRequest2 request object) dateTo

Date to calculate EDF to in MM/DD/YY format. The last available date will be used if no value is provided. (dateTime, CompanyDetailRequest request object) (DateType, CompanyDetailRequest2 request object)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

Output Parameter

Description

EDFType

The EDF Term Structure type: forward, cumulative, or annual. (string)

MKMVID

Moody’s Analytics unique identifier for the company. (string)

SIC

Standard Industry Classification code for the company’s industry. (string)

assetVolatility

The standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double)

commonDividends

The projected annual dividends on common stock, excluding special distributions. (double)

creditCategory

The credit category for the company. (an array of 10 string values)

currency

The ISO code of the currency in which the company is valued. (string)

debtDueYear2

Debt due in year 2. (double)

debtDueYear3

Debt due in year 3. (double)

debtDueYear4

Debt due in year 4. (double)

debtDueYear5

Debt due in year 5. (double)

defaultPoint

The liabilities that matter in case of default. (double)

deferredTax

Accumulated tax deferrals due to timing differences between the reporting of revenues and expenses for financial reporting and tax purposes. (double)

edf

The EDF Term Structure, effectively, the EDF measure calculated for each year 1 through 10 in increasing year order. EDF™ is the market-based credit measure developed by Moody’s Analytics. (an array of 10 double values)

equityVolatility

Instantaneous equity volatility, a measure of equity volatility derived from the asset volatility data, expressed in percentage terms. (double)

CreditEdge Web Services API Guide

33

Output Parameter

industryWeights

Description

A vector of the industry weights by industry name, weight, and industry code. These represent the company’s percentage exposure to an industry. A company can have exposure to up to 20 industries, where the weights in these industries must sum to 100. For each weighted industry, the following three parameters are provided:

industryName

A text description of the industry. (string)

weight

The percent (0 – 100) of total assets in or sales generated from the industry. (double)

industryCode

A Moody’s Analytics identifier. (string)

inputDate

The input value of dateFrom. (dateTime)

longTermLiability

The long-term liabilities are equal to balance sheet long-term liabilities less minority interest and deferred taxes. (double)

marketCapital

Market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

marketLeverage

A ratio indicating how much of the market value of the firm’s assets is financed by debt. (double)

marketValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, equity volatility, and liability structure. (double)

minorInterest

Par or stated value of the subsidiary preferred or common stock not owned by the parent company, plus the minority interest’s equity in the surplus of the subsidiary. (double)

moodysRating

The credit category assigned to the company by Moody’s rating approach. (string)

moodysRatingDate

The credit category assigned to the company by Moody’s rating approach as of the dateTo provided. (dateTime)

otherLiabilities

All non-current liabilities that are not debt, deferred taxes, investment tax credits, minority interest, or shareholders’ equity. (double)

preferredDividends

The total amount of the dividend requirement on cumulative preferred stock and dividends paid on non-cumulative preferred stock of the company during the year. (double)

primaryCountry

Primary country for the company. (string)

primaryIndustry

Primary industry for the company. (string)

shareEquivalent

The share equivalents for the company (equal to the commons shares outstanding value plus the maximum number of common shares required). (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

sharePrice

The share price as of the latest trading date. (double)

shortTermLiability

Liabilities approximately equal to current liabilities that may be adjusted or approximated when not available. (double)

snpRating

The credit category assigned to the company by Standard and

34

Output Parameter

Description

Poor. (string) snpRatingDate

The credit category assigned to the company by Standard and Poor’s rating approach as of the dateTo provided. (dateTime)

statementDate

The financial statement date for the data used to calculate a company’s credit measure. (dateTime)

totalAdjustedLiability

The total adjusted liabilities (sum of short and long-term liabilities). (double)

totalLiabilities

The total of all current and long-term liabilities. (double)

tradingDate

The latest trading date. (dateTime)

The EDF Type refers to one of three structures: •

Forward is the probability of default from year N-1 to year N. That is, the 2-year forward EDF is the probability of default between year 1 and year 2 provided the firm survives to the end of year 1.



Cumulative is the probability of default from now until the specified horizon. For example, the 2-year cumulative default probability is the probability that the firm will default any time during the following two-year period.



Annual is the average probability of default per year derived from cumulative EDF.

See "Object Types" on page 10 for more information on request object types.

CreditEdge Web Services API Guide

35

3.2

Batch 3.2.1 getCompanyDetailBatch Gets the EDF details and factors used in calculating the EDF for each company requested, and returns a unique job identifier (jobId). This jobId is used as an input to the getCompanyDetailBatchResult method to retrieve company detail information. TABLE 20

getCompanyDetailBatch method inputs and outputs

Input Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

dateFrom

Date to calculate EDF from in MM/DD/YY format. The last available date will be used if no value is provided for dateFrom or dateTo. The dateTo date will be used if it precedes the date that the latest data became available. (dateTime, CompanyDetailRequest request object) (DateType, CompanyDetailRequest2 request object)

dateTo

Date to calculate EDF to in MM/DD/YY format. The last available date will be used if no value is provided. (dateTime, CompanyDetailRequest request object) (DateType, CompanyDetailRequest2 request object)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

Output Parameter

Description

jobId

Unique job identifier. (long)

commonEquity

Common equity (= total equity) includes common stock outstanding (including treasury stock adjustments), capital surplus, and retained earnings. (double)

currentDebt

Current debt represents the total amount of short-term notes and the current portion of any long-term debt (due in one year). This is a component of Total Current Liabilities. (double)

currentLiabilities

Total current liabilities represents liabilities due within one year, including the current portion of long-term debt. (double)

longTermDebt

Total long-term debt represents debt obligations due more than one year from the company’s balance sheet date. (double)

preferredStock

Preferred stock is the net number of preferred shares multiplied by the par or stated value per share as presented on the company’s balance sheet. (double)

retainedEarning

Retained earnings is the cumulative legally past earnings of the company available for distribution less total dividend distributions to shareholders. Component of common equity. (double)

36

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8. See "Object Types" on page 10 for more information on request object types.

3.2.2 getMonthlyCompanyDetailBatch Gets the EDF details and factors used in calculating the monthly EDF for each company requested, and returns a unique job identifier (jobId). This jobId is used as an input to the method to retrieve company detail information. This is almost identical to the getCompanyDetailBatch method, except that a monthly EDF (from Credit Monitor) is used instead of the CreditEdge daily. Calculations using the EDF will also change accordingly. TABLE 21

getMonthlyCompanyDetailBatch method inputs and outputs

Input Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

dateFrom

Date to calculate EDF from in MM/DD/YY format. The last available date will be used if no value is provided for dateFrom or dateTo. The dateTo date will be used if it precedes the date that the latest data became available. (dateTime, CompanyDetailRequest request object) (DateType, CompanyDetailRequest2 request object)

dateTo

Date to calculate EDF to in MM/DD/YY format. The last available date will be used if no value is provided. (dateTime, CompanyDetailRequest request object) (DateType, CompanyDetailRequest2 request object)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

Output Parameter

jobId

Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8. See "Object Types" on page 10 for more information on request object types.

3.2.3 getBatchStatus Gets the status of a batch request: started, completed, or failed. The results for the job given by the job identifier can only be fetched for completed batch jobs. The getBatchStatus method returns an object of type BaseJob in which one of the fields is the output parameter String status. Other fields in the BaseJob object include: jobId, jobType (batch method called), startTime, endTime, and userId. However, you only need to be concerned with the status field. If the returned job status is failed, it means the server has encountered some unexpected error condition, such as an uncaught Runtime Exception or an out of memory error. In this case, contact MKMV directly for help by sending email to [email protected]

CreditEdge Web Services API Guide

37

TABLE 22

getBatchStatus method inputs and outputs

Input Parameter

Description

[required] Job identifier for the initiated batch processing. (long)

jobId

Description

Output Parameter

The status of the batch job: started, completed, or failed. (string)

BaseJob.status

3.2.4 getCompanyDetailBatchResult Retrieves the results of a company mapping batch request by jobId. It can only fetch results for completed batch jobs. Each industry weights output parameter is a vector containing three parameters: NOTE the industry name, the weight, and the industry code. Each company may have up to 20 industry weights that all add up to a total weight of 100%. You will need to consider these internal vectors in parsing through the resulting output stream. TABLE 23

getCompanyDetailBatchResult method inputs and outputs

Input Parameter

Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

Description

EDFType

The EDF Term Structure type: forward, cumulative, or annual. (string)

MKMVID

Moody’s Analytics unique identifier for the company. (string)

SIC

Standard Industry Classification code for the company’s industry. (string)

assetVolatility

The standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double)

commonDividends

The projected annual dividends on common stock, excluding special distributions. (double)

creditCategory

The credit category for the company. (an array of 10 string values)

currency

The ISO code of the currency in which the company is valued. (string)

debtDueYear2

Debt due in year 2. (double)

debtDueYear3

Debt due in year 3. (double)

debtDueYear4

Debt due in year 4. (double)

debtDueYear5

Debt due in year 5. (double)

defaultPoint

The liabilities that matter in case of default. (double)

38

Output Parameter

Description

deferredTax

Accumulated tax deferrals due to timing differences between the reporting of revenues and expenses for financial reporting and tax purposes. (double)

edf

The EDF Term Structure, effectively, the EDF measure calculated for each year 1 through 10 in increasing year order. EDF™ is the market-based credit measure developed by Moody’s Analytics. (an array of 10 double values)

equityVolatility

Instantaneous equity volatility, a measure of equity volatility derived from the asset volatility data, expressed in percentage terms. (double)

industryWeights

A vector of the industry weights by industry name, weight, and industry code. These represent the company’s percentage exposure to an industry. A company can have exposure to up to 20 industries, where the weights in these industries must sum to 100. For each weighted industry, the following three parameters are provided:

industryName

A text description of the industry. (string)

weight

The percent (0 – 100) of total assets in or sales generated from the industry. (double)

industryCode

A Moody’s Analytics identifier. (string)

inputDate

The input value of dateFrom. (dateTime)

longTermLiability

The long-term liabilities are equal to balance sheet long-term liabilities less minority interest and deferred taxes. (double)

marketCapital

Market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

marketLeverage

A ratio indicating how much of the market value of the firm’s assets is financed by debt. (double)

marketValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, equity volatility, and liability structure. (double)

minorInterest

Par or stated value of the subsidiary preferred or common stock not owned by the parent company, plus the minority interest’s equity in the surplus of the subsidiary. (double)

moodysRating

The credit category assigned to the company by Moody’s rating approach. (string)

moodysRatingDate

The credit category assigned to the company by Moody’s rating approach as of the dateTo provided. (dateTime)

otherLiabilities

All non-current liabilities that are not debt, deferred taxes, investment tax credits, minority interest, or shareholders’ equity. (double)

preferredDividends

The total amount of the dividend requirement on cumulative preferred stock and dividends paid on non-cumulative preferred stock of the company during the year. (double)

primaryCountry

Primary country for the company. (string)

primaryIndustry

Primary industry for the company. (string)

CreditEdge Web Services API Guide

39

Output Parameter

Description

shareEquivalent

The share equivalents for the company (equal to the commons shares outstanding value plus the maximum number of common shares required). (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

sharePrice

The share price as of the latest trading date. (double)

shortTermLiability

Liabilities approximately equal to current liabilities that may be adjusted or approximated when not available. (double)

snpRating

The credit category assigned to the company by Standard and Poor. (string)

snpRatingDate

The credit category assigned to the company by Standard and Poor’s rating approach as of the dateTo provided. (dateTime)

statementDate

The financial statement date for the data used to calculate a company’s credit measure. (dateTime)

totalAdjustedLiability

The total adjusted liabilities (sum of short and long-term liabilities). (double)

totalLiabilities

The total of all current and long-term liabilities. (double)

tradingDate

The latest trading date. (dateTime)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

3.2.5 getMonthlyCompanyDetailBatchResult Retrieves the results of a company mapping batch request by jobId. It can only fetch results for completed batch jobs. NOTE

Each industry weights output parameter is a vector containing three parameters: the industry name, the weight, and the industry code. Each company may have up to 20 industry weights that all add up to a total weight of 100%. You will need to consider these internal vectors in parsing through the resulting output stream.

This is almost identical to the getCompanyDetailBatchResult method, except that a monthly EDF (from Credit Monitor) is used instead of the CreditEdge daily. Calculations using the EDF will also change accordingly.

40

TABLE 24

getMonthlyCompanyDetailBatchResult method inputs and outputs

Input Parameter

Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

Description

EDFType

The EDF Term Structure type: forward, cumulative, or annual. (string)

MKMVID

Moody’s Analytics unique identifier for the company. (string)

SIC

Standard Industry Classification code for the company’s industry. (string)

assetVolatility

The standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double)

commonDividends

The projected annual dividends on common stock, excluding special distributions. (double)

creditCategory

The credit category for the company. (an array of 10 string values)

currency

The ISO code of the currency in which the company is valued. (string)

debtDueYear2

Debt due in year 2. (double)

debtDueYear3

Debt due in year 3. (double)

debtDueYear4

Debt due in year 4. (double)

debtDueYear5

Debt due in year 5. (double)

defaultPoint

The liabilities that matter in case of default. (double)

deferredTax

Accumulated tax deferrals due to timing differences between the reporting of revenues and expenses for financial reporting and tax purposes. (double)

edf

The EDF Term Structure, effectively, the EDF measure calculated for each year 1 through 10 in increasing year order. EDF™ is the market-based credit measure developed by Moody’s Analytics. (an array of 10 double values)

equityVolatility

Instantaneous equity volatility, a measure of equity volatility derived from the asset volatility data, expressed in percentage terms. (double)

industryWeights

A vector of the industry weights by industry name, weight, and industry code. These represent the company’s percentage exposure to an industry. A company can have exposure to up to 20 industries, where the weights in these industries must sum to 100. For each weighted industry, the following three parameters are provided:

industryName

A text description of the industry. (string)

weight

The percent (0 – 100) of total assets in or sales generated from the industry. (double)

industryCode

A Moody’s Analytics identifier. (string)

CreditEdge Web Services API Guide

41

Output Parameter

Description

inputDate

The input value of dateFrom. (dateTime)

longTermLiability

The long-term liabilities are equal to balance sheet long-term liabilities less minority interest and deferred taxes. (double)

marketCapital

Market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

marketLeverage

A ratio indicating how much of the market value of the firm’s assets is financed by debt. (double)

marketValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, equity volatility, and liability structure. (double)

minorInterest

Par or stated value of the subsidiary preferred or common stock not owned by the parent company, plus the minority interest’s equity in the surplus of the subsidiary. (double)

moodysRating

The credit category assigned to the company by Moody’s rating approach. (string)

moodysRatingDate

The credit category assigned to the company by Moody’s rating approach as of the dateTo provided. (dateTime)

otherLiabilities

All non-current liabilities that are not debt, deferred taxes, investment tax credits, minority interest, or shareholders’ equity. (double)

preferredDividends

The total amount of the dividend requirement on cumulative preferred stock and dividends paid on non-cumulative preferred stock of the company during the year. (double)

primaryCountry

Primary country for the company. (string)

primaryIndustry

Primary industry for the company. (string)

shareEquivalent

The share equivalents for the company (equal to the commons shares outstanding value plus the maximum number of common shares required). (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

sharePrice

The share price as of the latest trading date. (double)

shortTermLiability

Liabilities approximately equal to current liabilities that may be adjusted or approximated when not available. (double)

snpRating

The credit category assigned to the company by Standard and Poor. (string)

snpRatingDate

The credit category assigned to the company by Standard and Poor’s rating approach as of the dateTo provided. (dateTime)

statementDate

The financial statement date for the data used to calculate a company’s credit measure. (dateTime)

totalAdjustedLiability

The total adjusted liabilities (sum of short and long-term liabilities). (double)

totalLiabilities

The total of all current and long-term liabilities. (double)

tradingDate

The latest trading date. (dateTime)

42

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

CreditEdge Web Services API Guide

43

CHAPTER 4 4 The EDFService Web Service EDFService lets you model new transactions and perform “what-if” scenarios. The service calculates company EDF outcomes based on input parameter changes. These inputs only persist for the length of the method call. In other words, input parameters you provide are not stored in the database and are merely used to calculate new EDF values as temporary overrides to the mostrecent financial data collected by Moody’s Analytics. The methods for this service return EDF values for the companies submitted and calculate differences for the factors affecting the EDF calculation based on the input parameters. The input parameters are used to calculate new EDF values based on changes from the source information for the company. WARNING The SOAP library you use should convert NULL values into the proper nullable format required by SOAP. Apache Axis does this correctly, but the Microsoft .NET SOAP libraries will convert NULL double parameters to 0.0. Since the value 0.0 is a valid input and, in many cases, will affect the results in a way not intended by the user, the CreditEdge Web Services includes some reserved values to indicate that the input value should be ignored (i.e. treated as NULL). If your SOAP library supports NULL values, you can simply use NULLs directly. Otherwise use –9999 for double values, and –99 for percentages for input parameters you would like to be ignored. The data types for all inputs are provided in square brackets in the following tables. Retrieving data from this method requires knowing the Moody’s Analytics unique identifiers for all the companies submitted. Each method can be executed in real-time or as a batch job. However, for performance reasons, real-time requests are limited to 50 company EDF values. All service methods return a ResultSet object that contains an array of specific result objects and an associated array of error messages. If the result object cannot be located for one of the requests, an error message should be contained within the error messages array related to the failed request. Each request object may return more than one corresponding result object.

4.1

Non-Batch 4.1.1 changeMarketCap This method performs a “what if” analysis on the firm’s market capitalization for supplied changes to the firm’s stock price or shares outstanding. You can alternatively submit the change in share price or shares outstanding as a percentage. Percentages should be given as a number between 0 and 100. For example, to denote 58%, use 58 within the percentage change input field. You can provide override values for one input or both the numerical and percent inputs. The changeMarketCap method most closely correlates to the Change Equity Vol & Market Cap page of the Solve | Calculator section of the CreditEdge web application. For more information, see section 4.2, “Calculator,” in the CreditEdge User Guide.

TABLE 25 Input Parameter

changeMarketCap method inputs and outputs Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

equityVolatility

Another measure of the business risk of the firm. Technically, the instantaneous equity volatility is a levered up version of asset volatility. CreditEdge calculates it as the asset volatility multiplied by the leverage and divided by the hedge ratio of equity to asset. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

percentChgEquityVol

Percentage change in the equity volatility between the source and the outcome. This should, for example, be given in the form 58 to denote 58%. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

percentChgShareOut

Percentage change in the shares outstanding between the source and the outcome. This should, for example, be given in the form 58 to denote 58%. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

percentChgSharePrice

Percentage change in the share price between the source and the outcome. This should, for example, be given in the form 58 to denote 58%. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

sharePrice

The share price to use in the EDF calculation. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

sharesOutstanding

The number of shares outstanding to use in the EDF calculation. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

tradingDate

Trading date used to calculate EDF to in MM/DD/YY format. The last available date will be used if no value is provided. (dateTime, ChgMktCapRequest request object) (DateType, ChgMktCapRequest2 request object)

46

Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

assetVolatility

The standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double)

calculatedEDFs

An array containing the EDF calculations for the EDF term structure. (10-element array of doubles)

chgPercAssetVol

The calculated percentage change in the asset volatility. (double)

chgPercDefaultPoint

The calculated percentage change in the default point. (double)

chgPercEDFs

An array containing the calculated percentage change in the EDF values. (10-element array of doubles)

chgPercEquityVol

The calculated percentage change in the equity volatility. (double)

chgPercMktCap

The calculated percentage change in the market capitalization. (double)

chgPercMktLeverage

The calculated percentage change in the market leverage. (double)

chgPercMktValOfAssets

The calculated percentage change in the market value of assets. (double)

chgPercPrice

The percentage change in the share price between the source and outcome. (double)

chgPercShareOut

The calculated percentage change in the outstanding shares. (double)

creditCategories

An array containing the credit categories calculated by the changes. (10-element array of strings)

defaultPoint

The liabilities that matter in case of default. (double)

edfType

The EDF Term Structure: forward, cumulative, or annual. (string)

inputDate

The input value of tradingDate. (dateTime)

marketCap

The market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

mktLeverage

The market leverage is a ratio indicating how much of the market value of the firm’s assets is financed by debt. (double)

mktValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, asset volatility, and liability structure. (double)

price

The share price as of the latest trading date. (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

tradingDate

The latest trading date. (dateTime)

CreditEdge Web Services API Guide

47

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8. See "Object Types" on page 10 for more information on request object types.

4.1.2 changeFinancialStatement Updates a firm’s financial data (current liabilities, shares outstanding, share price) from data entered from more current sources such as the latest company filing, or pro forma information from the company’s prospectus. The changeFinancialStatement method most closely correlates to the EDF Updates page of the Override section of the CreditEdge web application. For more information, see chapter 7, “Overriding Company Data,” in the CreditEdge User Guide. TABLE 26

changeFinancialStatement method inputs and outputs

Input Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

assetVolatility

The standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

commonDividends

The projected annual dividends on common stock, excluding special distributions. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

commonEquity

This includes common stock outstanding (including treasury stock adjustments), capital surplus, and retained earnings. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

currentDebt

The total amount of short-term notes and the current portion of long-term debt (debt due in one year). (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

currentLiabilities

Liabilities due within one year, including the current portion of long-term debt. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

debtDueYear2

Debt due in year 2. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

debtDueYear3

Debt due in year 3. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

debtDueYear4

Debt due in year 4. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

48

Input Parameter

Description

debtDueYear5

Debt due in year 5. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

deferredTax

Accumulated tax deferrals due to timing differences between the reporting of revenues and expenses for financial reporting and tax purposes. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

equityVolatility

Instantaneous equity volatility, a measure of equity volatility derived from the asset volatility data, expressed in percentage terms. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

longTermDebt

Debt obligations due more than one year from the company’s balance sheet date. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

longTermLiabilities

The firm’s total long-term liabilities. If you provide input values for any of the following, the system will ignore the longTermLiabilities input: currentLiabilities, currentDebt, longTermDebt, debtDueYear2 – 5, otherLiabilities, minorityInterest, deferredTax. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

minorityInterest

Par or stated value of the subsidiary preferred or common stock not owned by the parent company, plus the minority interest’s equity in the surplus of the subsidiary. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

otherLiabilities

All non-current liabilities that are not debt, deferred taxes, investment tax credits, minority interest, or shareholders’ equity. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

override

Not currently implimented. This parameter will allow you to override Moody’s Analytics data with your own data. The default value is false. (boolean, ChgFinStmtRequest request object) (BooleanType, ChgFinStmtRequest2 request object)

preferredDividends

The total amount of the dividend requirement on cumulative preferred stock and dividends paid on non-cumulative preferred stock of the company during the year. (double, ChgFinStmtRequest request object)

CreditEdge Web Services API Guide

49

Input Parameter

Description

(DoubleType, ChgFinStmtRequest2 request object)

preferredStock

The net number of preferred shares multiplied by the par or stated value per share as presented on the company’s balance sheet. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

retainedEarning

Cumulative earnings of the company less total dividend distributions to shareholders. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

shareEquivalent

The share equivalents for the company (equal to the commons shares outstanding value plus the maximum number of common shares required). (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

sharePrice

The share price as of the latest trading date. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

shortTermLiabilities

The firm’s total short-term liabilities. If you provide input values for any of the following, the system will ignore the shortTermLiabilities input: currentLiabilities, currentDebt, longTermDebt, debtDueYear2 – 5, otherLiabilities, minorityInterest, deferredTax. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

statementDate

The date of the financial data being used in MM/DD/YY format. (dateTime, ChgFinStmtRequest request object) (DateType, ChgFinStmtRequest2 request object)

totalLiabilities

The total of all current and long-term liabilities. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

tradingDate

The latest trading date. (dateTime, ChgFinStmtRequest request object) (DateType, ChgFinStmtRequest2 request object)

Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

calculatedEDFs

An array containing the EDF calculations for the EDF term structure. (10-element array of doubles)

chgPercAssetVol

The calculated percentage change in the asset volatility.

50

Output Parameter

Description

(double) chgPercDefaultPoint

The calculated percentage change in the default point. (double)

chgPercEDFs

An array containing the calculated percentage change in the EDF values. (10-element array of doubles)

chgPercEquityVol

The calculated percentage change in the equity volatility. (double)

chgPercMktCap

The calculated percentage change in the market capitalization. (double)

chgPercMktLeverage

The calculated percentage change in the market leverage. (double)

chgPercMktValOfAssets

The calculated percentage change in the market value of assets. (double)

chgPercPrice

The percentage change in the share price between the source and outcome. (double)

chgPercShareOut

The calculated percentage change in the outstanding shares. (double)

chgPercTotalAdjLiab

The percentage change to the total adjusted liabilities, based on user-supplied values of shortTermLiabilities and longTermLiabilities. (double)

creditCategories

An array containing credit categories calculated by the changes. (10-element array of strings)

defaultPoint

The liabilities that matter in case of default. (double)

edfType

The EDF Term Structure: forward, cumulative, or annual. (string)

inputDate

The input value of tradingDate. (dateTime)

marketCap

The market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

mktLeverage

The market leverage is a ratio indicating how much of the market value of the firm’s assets is financed by debt. (double)

mktValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, asset volatility, and liability structure. (double)

price

The share price as of the latest trading date. (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

totalAdjLiab

The calculated change in the total adjusted liabilities. (double)

tradingDate

The latest trading date. (dateTime)

See "Object Types" on page 10 for more information on request object types.

CreditEdge Web Services API Guide

51

4.1.3 changeCapitalStructure Accesses the impact on the firm’s EDF by performing “what if” scenarios on the firm’s capital structure or pro forma mergers, acquisitions, spin-offs, or other corporate transactions. The changeCapitalStructure method most closely correlates to the Change Asset Vol & Liability Info page of the Solve | Calculator section of the CreditEdge web application. TABLE 27

changeCapitalStructure method inputs and outputs

Input Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

assetVol

Asset volatility—the standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

commonDividends

The projected annual dividends on common stock, excluding special distributions. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

longTermLiab

The long-term liabilities are equal to balance sheet long-term liabilities less minority interest and deferred taxes. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

mktValueAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, equity volatility, and liability structure. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

preferredDividends

The total amount of the dividend requirement on cumulative preferred stock and dividends paid on non-cumulative preferred stock of the company during the year. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

shortTermLiab

Liabilities approximately equal to current liabilities that may be adjusted or approximated when not available. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

tradingDate

The latest trading date. (dateTime, ChgCapStrutRequest request object) (DateType, ChgCapStructRequest2 request object)

Output Parameter

Description

52

Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

calculatedEDFs

An array containing the EDF calculations for the EDF term structure. (10-element array of doubles)

chgPercAssetVol

The calculated percentage change in the asset volatility. (double)

chgPercDefaultPoint

The calculated percentage change in the default point. (double)

chgPercEDFs

An array containing the calculated percentage change in the EDF values. (10-element array of doubles)

chgPercMktCap

The calculated percentage change in the market capitalization. (double)

chgPercMktLeverage

The calculated percentage change in the market leverage. (double)

chgPercMktValOfAssets

The calculated percentage change in the market value of assets. (double)

chgPercPrice

The percentage change in the share price between the source and outcome. (double)

creditCategories

An array containing credit categories calculated by the changes. (an array of 10 string values)

defaultPoint

The liabilities that matter in case of default. (double)

edfType

The EDF Term Structure: forward, cumulative, or annual. (string)

equityVolatility

Instantaneous equity volatility, a measure of equity volatility derived from the asset volatility data, expressed in percentage terms. (double)

inputDate

The input value of tradingDate. (dateTime)

marketCap

The market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

mktLeverage

The market leverage is a ratio indicating how much of the market value of the firm’s assets is financed by debt. (double)

mktValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, asset volatility, and liability structure. (double)

price

The share price as of the latest trading date. (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

totalAdjLiab

The calculated change in the total liabilities. (double)

tradingDate

The latest trading date. (dateTime)

See "Object Types" on page 10 for more information on request object types.

CreditEdge Web Services API Guide

53

4.1.4 edfSolver Allows users to see what financial data changes would be needed to cause a firm’s EDF credit measure to reach a specified target level. To provide an overridden EDF value to the edfSolver method, you must first call the changeMarketCap or changeCapitalStructure method to retrieve it and then provide it as an input to the edfSolver method manually. The edfSolver method most closely correlates to the EDF page of the Solve | Solver section of the CreditEdge web application. TABLE 28

edfSolver method inputs and outputs

Input Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

edfTarget

[required] Target EDF value. (DoubleType)

edfType

The EDF Term Structure: cumulative, or annual. The annual term structure will be used if no value is provided. (string) Note: The forward EDF Type is not supported by edfSolver because it cannot be calculated based on one value for annualized or cumulative EDF. At least two values (current and previous) are necessary to calculate a forward EDF term structure.

term

[required] Term between 1 and 10. (DoubleType)

tradingDate

The date the user requests the calculation to be run on. The latest available EDF date will be used as the as-of date if no value is provided. (DateType)

Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

assetVolatility

The asset volatility necessary to achieve the target EDF value. (double)

defaultPoint

The liabilities that matter in case of default. (double)

edfTarget

Target EDF value echoed from the user input. (double)

edfType

cumulative

equityVolatility

The instantaneous equity volatility necessary to achieve the target EDF value. (double)

longTermLiability

Long-term liabilities necessary to achieve the target EDF value. (double)

shareOutstanding

The number of shares outstanding necessary to achieve the target EDF value. (double)

sharePrice

The share price necessary to achieve the target EDF value. (double)

shortTermLiability

Short-term liabilities necessary to achieve the target EDF value. (double)

or annual echoed from the user input. (string)

54

Output Parameter

Description

term

Term between 1 and 10 echoed from the user input. (double)

tradingDate

The as-of date used in the calculation. (dateTime)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

4.2

Batch 4.2.1 changeMarketCapBatch Performs a “what if” analysis on the firm’s market capitalization for supplied changes to the firm’s stock price or shares outstanding, and returns a unique job identifier (jobId). This jobId is used as an input to the changeMarketInfoBatchResult method to retrieve market capitalization information. TABLE 29 Input Parameter

changeMarketCapBatch method inputs and outputs Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

equityVolatility

Another measure of the business risk of the firm. Technically, the instantaneous equity volatility is a levered up version of asset volatility. CreditEdge calculates it as the asset volatility multiplied by the leverage and divided by the hedge ratio of equity to asset. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

percentChgEquityVol

Percentage change in the equity volatility between the source and the outcome. This should, for example, be given in the form 58 to denote 58%. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

percentChgShareOut

Percentage change in the shares outstanding between the source and the outcome. This should, for example, be given in the form 58 to denote 58%. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

percentChgSharePrice

Percentage change in the share price between the source and the outcome. This should, for example, be given in the form 58 to denote 58%. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

sharePrice

The share price to use in the EDF calculation. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

CreditEdge Web Services API Guide

55

Input Parameter

Description

sharesOutstanding

The number of shares outstanding to use in the EDF calculation. (double, ChgMktCapRequest request object) (DoubleType, ChgMktCapRequest2 request object)

tradingDate

Trading date used to calculate EDF to in MM/DD/YY format. The last available date will be used if no value is provided. (dateTime, ChgMktCapRequest request object) (DateType, ChgMktCapRequest2 request object)

Output Parameter

jobId

Description

Unique job identifier (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8. See "Object Types" on page 10 for more information on request object types.

4.2.2 changeFinancialStatementBatch Updates a firm’s financial data (current liabilities, shares outstanding, share price) from data entered from more current sources such as the latest company filing, or pro forma information from the company’s prospectus, and returns a unique job identifier (jobId). This jobId is used as an input to the changeFinancialStatementBatchResult method to retrieve market capitalization information. TABLE 30

changeFinancialStatementBatch method inputs and outputs

Input Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

assetVolatility

The standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

commonDividends

The projected annual dividends on common stock, excluding special distributions. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

commonEquity

This includes common stock outstanding (including treasury stock adjustments), capital surplus, and retained earnings. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

currentDebt

The total amount of short-term notes and the current portion of long-term debt (debt due in one year). (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

currentLiabilities

Liabilities due within one year, including the current portion of long-term debt.

56

Input Parameter

Description

(double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object) debtDueYear2

Debt due in year 2. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

debtDueYear3

Debt due in year 3. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

debtDueYear4

Debt due in year 4. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

debtDueYear5

Debt due in year 5. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

deferredTax

Accumulated tax deferrals due to timing differences between the reporting of revenues and expenses for financial reporting and tax purposes. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

equityVolatility

Instantaneous equity volatility, a measure of equity volatility derived from the asset volatility data, expressed in percentage terms. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

longTermDebt

Debt obligations due more than one year from the company’s balance sheet date. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

longTermLiabilities

The firm’s total long-term liabilities. If you provide input values for any of the following, the system will ignore the longTermLiabilities input: currentLiabilities, currentDebt, longTermDebt, debtDueYear2 – 5, otherLiabilities, minorityInterest, deferredTax. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

minorityInterest

Par or stated value of the subsidiary preferred or common stock not owned by the parent company, plus the minority interest’s equity in the surplus of the subsidiary. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

otherLiabilities

All non-current liabilities that are not debt, deferred taxes, investment tax credits, minority interest, or shareholders’

CreditEdge Web Services API Guide

57

Input Parameter

Description

equity. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

override

Not currently implimented. This parameter will allow you to override Moody’s Analytics data with your own data. The default value is false. (boolean, ChgFinStmtRequest request object) (BooleanType, ChgFinStmtRequest2 request object)

preferredDividends

The total amount of the dividend requirement on cumulative preferred stock and dividends paid on non-cumulative preferred stock of the company during the year. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

preferredStock

The net number of preferred shares multiplied by the par or stated value per share as presented on the company’s balance sheet. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

retainedEarning

Cumulative earnings of the company less total dividend distributions to shareholders. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

shareEquivalent

The share equivalents for the company (equal to the commons shares outstanding value plus the maximum number of common shares required). (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

sharePrice

The share price as of the latest trading date. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

shortTermLiabilities

The firm’s total short-term liabilities. If you provide input values for any of the following, the system will ignore the shortTermLiabilities input: currentLiabilities, currentDebt, longTermDebt, debtDueYear2 – 5, otherLiabilities, minorityInterest, deferredTax. (double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object)

statementDate

The date of the financial data being used in MM/DD/YY format. (dateTime, ChgFinStmtRequest request object) (DateType, ChgFinStmtRequest2 request object)

totalLiabilities

The total of all current and long-term liabilities.

58

Input Parameter

Description

(double, ChgFinStmtRequest request object) (DoubleType, ChgFinStmtRequest2 request object) The latest trading date. (dateTime, ChgFinStmtRequest request object) (DateType, ChgFinStmtRequest2 request object)

tradingDate

Output Parameter

jobId

Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8. See "Object Types" on page 10 for more information on request object types.

4.2.3 changeCapitalStructureBatch Accesses the impact on the firm’s EDF by performing “what if” scenarios on the firm’s capital structure or pro forma mergers, acquisitions, spin-offs, or other corporate transactions, and returns a unique job identifier (jobId). This jobId is used as an input to the changeCapitalStructureBatchResult method to retrieve market capitalization information. TABLE 31

changeCapitalStructureBatch method inputs and outputs

Input Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

assetVol

Asset volatility—the standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

commonDividends

The projected annual dividends on common stock, excluding special distributions. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

edfType

The EDF Term Structure: forward, cumulative, or annual. The forward term structure will be used if no value is provided. (string)

longTermLiab

The long-term liabilities are equal to balance sheet long-term liabilities less minority interest and deferred taxes. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

mktValueAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, equity volatility, and liability structure. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

CreditEdge Web Services API Guide

59

Input Parameter

Description

preferredDividends

The total amount of the dividend requirement on cumulative preferred stock and dividends paid on non-cumulative preferred stock of the company during the year. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

shortTermLiab

Liabilities approximately equal to current liabilities that may be adjusted or approximated when not available. (double, ChgCapStrutRequest request object) (DoubleType, ChgCapStructRequest2 request object)

tradingDate

The latest trading date. (dateTime, ChgCapStrutRequest request object) (DateType, ChgCapStructRequest2 request object)

Output Parameter

jobId

Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8. See "Object Types" on page 10 for more information on request object types.

4.2.4 edfSolverBatch Allows users to see what financial data changes would be needed to cause a firm’s EDF credit measure to reach a specified target level, and returns a unique job identifier (jobId). This jobId is used as an input to the

60

edfSolverBatchResult

TABLE 32

method to retrieve financial data change details. edfSolverBatch method inputs and outputs

Input Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

edfTarget

[required] Target EDF value. (DoubleType)

edfType

The EDF Term Structure: cumulative, or annual. The annual term structure will be used if no value is provided. (string) Note: The forward EDF Type is not supported by edfSolver because it cannot be calculated based on one value for annualized or cumulative EDF. At least two values (current and previous) are necessary to calculate a forward EDF term structure.

term

[required] Term between 1 and 10. (DoubleType)

tradingDate

The date the user requests the calculation to be run on. The latest available EDF date will be used as the as-of date if no value is provided. (DateType)

Output Parameter

Description

jobId

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

4.2.5 getBatchStatus Gets the status of a batch request: started, completed, or failed. The results for the job given by the job identifier can only be fetched for completed batch jobs. If the returned job status is failed, it means the server has encountered some unexpected error condition, such as an uncaught Runtime Exception or an out of memory error. In this case, contact MKMV directly for help by sending email to [email protected] TABLE 33 Input Parameter

getBatchStatus method inputs and outputs Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

status

Description

The status of the batch job: started, completed, or failed. (string)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

CreditEdge Web Services API Guide

61

4.2.6 changeMarketInfoBatchResult Retrieves the results of a market capitalization batch request by jobId. It can only fetch results for completed batch jobs. TABLE 34

changeMarketInfoBatchResult method inputs and outputs

Input Parameter

Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

assetVolatility

The standard deviation of the annual change in the market value of the assets, as measured against the firm’s benchmark group, expressed in percentage terms. (double)

calculatedEDFs

An array containing the EDF calculations for the EDF term structure. (10-element array of doubles)

chgPercAssetVol

The calculated percentage change in the asset volatility. (double)

chgPercDefaultPoint

The calculated percentage change in the default point. (double)

chgPercEDFs

An array containing the calculated percentage change in the EDF values. (10-element array of doubles)

chgPercEquityVol

The calculated percentage change in the equity volatility. (double)

chgPercMktCap

The calculated percentage change in the market capitalization. (double)

chgPercMktLeverage

The calculated percentage change in the market leverage. (double)

chgPercMktValOfAssets

The calculated percentage change in the market value of assets. (double)

chgPercPrice

The percentage change in the share price between the source and outcome. (double)

chgPercShareOut

The calculated percentage change in the outstanding shares. (double)

creditCategories

An array containing the credit categories calculated by the changes. (10-element array of strings)

defaultPoint

The liabilities that matter in case of default. (double)

edfType

The EDF Term Structure: forward, cumulative, or annual. (string)

inputDate

The input value of tradingDate. (dateTime)

marketCap

The market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

mktLeverage

The market leverage is a ratio indicating how much of the

62

Output Parameter

Description

market value of the firm’s assets is financed by debt. (double) mktValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, asset volatility, and liability structure. (double)

price

The share price as of the latest trading date. (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

tradingDate

The latest trading date. (dateTime)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

4.2.7 changeFinancialStatementBatchResult Retrieves the results of a financial statement batch request by jobId. It can only fetch results for completed batch jobs. TABLE 35

changeFinancialServiceBatchResult method inputs and outputs

Input Parameter

Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

calculatedEDFs

An array containing the EDF calculations for the EDF term structure. (10-element array of doubles)

chgPercAssetVol

The calculated percentage change in the asset volatility. (double)

chgPercDefaultPoint

The calculated percentage change in the default point. (double)

chgPercEDFs

An array containing the calculated percentage change in the EDF values. (10-element array of doubles)

chgPercEquityVol

The calculated percentage change in the equity volatility. (double)

chgPercMktCap

The calculated percentage change in the market capitalization. (double)

chgPercMktLeverage

The calculated percentage change in the market leverage. (double)

chgPercMktValOfAssets

The calculated percentage change in the market value of assets. (double)

chgPercPrice

The percentage change in the share price between the source and outcome. (double)

chgPercShareOut

The calculated percentage change in the outstanding shares. (double)

chgPercTotalAdjLiab

The percentage change to the total adjusted liabilities, based on user-supplied values of shortTermLiabilities and

CreditEdge Web Services API Guide

63

Output Parameter

Description

longTermLiabilities. (double) creditCategories

An array containing credit categories calculated by the changes. (10-element array of strings)

defaultPoint

The liabilities that matter in case of default. (double)

edfType

The EDF Term Structure: forward, cumulative, or annual. (string)

inputDate

The input value of tradingDate. (dateTime)

marketCap

The market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

mktLeverage

The market leverage is a ratio indicating how much of the market value of the firm’s assets is financed by debt. (double)

mktValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, asset volatility, and liability structure. (double)

price

The share price as of the latest trading date. (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

totalAdjLiab

The calculated change in the total adjusted liabilities. (double)

tradingDate

The latest trading date. (dateTime)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

4.2.8 changeCapitalStructureBatchResult Retrieves the results of a capital structure batch request by jobId. It can only fetch results for completed batch jobs. TABLE 36

changeCapitalStructureBatchResult method inputs and outputs

Input Parameter

Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

calculatedEDFs

An array containing the EDF calculations for the EDF term structure. (10-element array of doubles)

chgPercAssetVol

The calculated percentage change in the asset volatility. (double)

chgPercDefaultPoint

The calculated percentage change in the default point. (double)

chgPercEDFs

An array containing the calculated percentage change in the EDF values. (10-element array of doubles)

chgPercMktCap

The calculated percentage change in the market capitalization. (double)

64

Output Parameter

Description

chgPercMktLeverage

The calculated percentage change in the market leverage. (double)

chgPercMktValOfAssets

The calculated percentage change in the market value of assets. (double)

chgPercPrice

The percentage change in the share price between the source and outcome. (double)

creditCategories

An array containing credit categories calculated by the changes. (an array of 10 string values)

defaultPoint

The liabilities that matter in case of default. (double)

edfType

The EDF Term Structure: forward, cumulative, or annual. (string)

equityVolatility

Instantaneous equity volatility, a measure of equity volatility derived from the asset volatility data, expressed in percentage terms. (double)

inputDate

The input value of tradingDate. (dateTime)

marketCap

The market capitalization is equal to the common shares outstanding multiplied by the equity price. (double)

mktLeverage

The market leverage is a ratio indicating how much of the market value of the firm’s assets is financed by debt. (double)

mktValueOfAssets

The market’s view of the enterprise value of the firm as determined by the firm’s equity value, asset volatility, and liability structure. (double)

price

The share price as of the latest trading date. (double)

shareOutstanding

The net number of all common shares outstanding at year-end excluding treasury shares and scrip. (double)

totalAdjLiab

The calculated change in the total liabilities. (double)

tradingDate

The latest trading date. (dateTime)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

CreditEdge Web Services API Guide

65

4.2.9 edfSolverBatchResult Retrieves the results of an EDF Solver batch request by jobId. It can only fetch results for completed batch jobs. TABLE 37

edfSolverBatchResult method inputs and outputs

Input Parameter

Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

Description

MKMVID

Moody’s Analytics unique identifier for the company. (string)

assetVolatility

The asset volatility necessary to achieve the target EDF value. (double)

defaultPoint

The liabilities that matter in case of default. (double)

edfTarget

Target EDF value echoed from the user input. (double)

edfType

cumulative

equityVolatility

The instantaneous equity volatility necessary to achieve the target EDF value. (double)

longTermLiability

Long-term liabilities necessary to achieve the target EDF value. (double)

shareOutstanding

The number of shares outstanding necessary to achieve the target EDF value. (double)

sharePrice

The share price necessary to achieve the target EDF value. (double)

shortTermLiability

Short-term liabilities necessary to achieve the target EDF value. (double)

term

Term between 1 and 10 echoed from the user input. (double)

tradingDate

The as-of date used in the calculation. (dateTime)

or annual echoed from the user input. (string)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

66

CHAPTER 5 5 The EISService Web Service The EISService web service includes functionality related to EIS (EDF-implied spread) values available to CreditEdge Plus users. NOTE

In order to access the EISService, you must connect to CreditEdge Web Services with a user name and password with a subscription to CreditEdge Plus.

EIS functionality is available to CreditEdge Plus users only. It provides CDS spread and bond spread data. The methods for this service return EIS values for the companies submitted.

5.1

Non-Batch 5.1.1 getEISDetail Retrieves EICDS and EIOAS output data for the reference bond and CDS of a public company. The method will return generic data if no requested data is available. The getEISDetail method most closely correlates to the CDS and Bond pages of the Analyze | Company section of the CreditEdge web application. TABLE 38

getEISDetail method inputs and outputs

Input Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

Output Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

asOfDate

The actual date. (dateTime)

corpDefaultRiskFreeSpread

A spread that represents where corporate issues would trade if they actually had zero default probability. (double)

currency

The ISO code of the currency used by the size parameter. (string)

edfs

The EDF term structure of the firm. (array of 10 double values)

firmSize

The firm size. (double)

Output Parameter

Description

inputDate

The input value of tradingDate. (dateTime)

issueData

An array of the following items:

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP has been provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, the CUSIP will be given in the output. If the CUSIP was not provided and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN has been provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

asOfDate

The actual date. (dateTime)

coupon

Coupon for the bond. (string)

currency

The ISO code of the currency used by the size parameter. (string)

eisForTerm

EIS value for the term associated with this issue. (double)

eisTermStructure

EIS term structure. (array of 10 double values)

iLgd

The implied loss given default. (double)

instrumentId

MKMV instrument identifier for the bond. (long)

issueDesc

MKMV text description for the issue. (string)

issueType

A one-character code: b = bond or c = CDS, or all = both. (string)

lastCouponDate

Last coupon date for the bond. (dateTime)

maturityDate

Maturity date for the bond. (dateTime)

termLength

Term (duration) associated with the issue. (double)

termMatchedEDF

EDF value interpolated to match the term (duration) of the bond. (double)

vendorsData

A vector of vendor data given by vendorId, price, and spread. Depending on the user’s subscriptions, a bond can have EJV and/or Trace spread data reported for it. A CDS can have GFI and/or MarkItPartners data reported for it. Each vendor data object contains the following parameters:

vendorId

EJV, Trace, GFI, or MarkItPartners. (string)

price

Bond/CDS price according to the vendor given by the vendorId field. If the vendor does not provide price data to MKMV, this field will be blank. (double)

spread

Bond/CDS spread according to the vendor given by the field. (double)

vendorId

marketSharpeRatio

The debt market Sharpe ratio. (double)

68

Output Parameter

Description

rsq

The R-squared for the company. This is bucketed. (double)

sectorsLGD

A vector of sector-specific LGDs given by LGD, sectorId, and seniority. Each sectorsLGD object contains the following parameters:

LGD

The LGD value for the sector. (double)

sectorName

The unique identifier for the sector. (string)

seniority

The seniority for the bond: senior or subordinate. (string)

5.1.2 getEISDetailByInstrumentId Retrieves EICDS and EIOAS output data for a public company’s bond given by instrumentId. TABLE 39

getEISDetailByInstrumentId method inputs and outputs

Input Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

instrumentId

MKMV Instrument identifier. If this field is null, the method will return nothing. (LongType)

Output Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

asOfDate

The actual date. (dateTime)

corpDefaultRiskFreeSpread

A spread that represents where corporate issues would trade if they actually had zero default probability. (double)

currency

The ISO code of the currency used by the size parameter. (string)

edfs

The EDF term structure of the firm. (array of 10 double values)

firmSize

The firm size. (double)

inputDate

The input value of tradingDate. (dateTime)

issueData

An array of the following items:

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP has been provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, the CUSIP will be given in the output. If the CUSIP was not provided and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN has been

CreditEdge Web Services API Guide

69

Output Parameter

Description

provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string) asOfDate

The actual date. (dateTime)

coupon

Coupon for the bond. (string)

currency

The ISO code of the currency used by the size parameter. (string)

eisForTerm

EIS value for the term associated with this issue. (double)

eisTermStructure

EIS term structure. (array of 10 double values)

iLgd

The implied loss given default. (double)

instrumentId

MKMV instrument identifier for the bond. (long)

issueDesc

MKMV text description for the issue. (string)

issueType

A one-character code: b = bond or c = CDS, or all = both. (string)

lastCouponDate

Last coupon date for the bond. (dateTime)

maturityDate

Maturity date for the bond. (dateTime)

termLength

Term (duration) associated with the issue. (double)

termMatchedEDF

EDF value interpolated to match the term (duration) of the bond. (double)

vendorsData

A vector of vendor data given by vendorId, price, and spread. Depending on the user’s subscriptions, a bond can have EJV and/or Trace spread data reported for it. A CDS can have GFI and/or MarkItPartners data reported for it. Each vendor data object contains the following parameters:

vendorId

EJV, Trace, GFI, or MarkItPartners. (string)

price

Bond/CDS price according to the vendor given by the vendorId field. If the vendor does not provide price data to MKMV, this field will be blank. (double)

spread

Bond/CDS spread according to the vendor given by the field. (double)

vendorId

marketSharpeRatio

The debt market Sharpe ratio. (double)

rsq

The R-squared for the company. This is bucketed. (double)

sectorsLGD

A vector of sector-specific LGDs given by LGD, sectorId, and seniority. Each sectorsLGD object contains the following parameters:

LGD

The LGD value for the sector. (double)

sectorName

The unique identifier for the sector. (string)

seniority

The seniority for the bond: senior or subordinate. (string)

70

5.1.3 getEISDetailByIssueType Retrieves EICDS and EIOAS output data based on the string code provided for the issueType parameter: ‘b’ for bonds, ‘c’ for CDS’s, or ‘all’ for both. If a value is not provided or not equal to one of the three acceptable codes, the function will return only the reference bond and CDS. If 'all' is passed, the function returns all bonds and CDS’s. If 'b' is passed, the function returns all bonds. If 'c' is passed, the function returns all CDS’s. The getEISDetailByIssueType method will return generic data if no data requested is available. TABLE 40

getEISDetailByIssueType method inputs and outputs

Input Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

issueType

A string code: b = bond, c = CDS, or all = both. (string)

Output Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

asOfDate

The actual date. (dateTime)

corpDefaultRiskFreeSpread

A spread that represents where corporate issues would trade if they actually had zero default probability. (double)

currency

The ISO code of the currency used by the size parameter. (string)

edfs

The EDF term structure of the firm. (array of 10 double values)

firmSize

The firm size. (double)

inputDate

The input value of tradingDate. (dateTime)

issueData

An array of the following items:

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP has been provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, the CUSIP will be given in the output. If the CUSIP was not provided and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN has been provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

CreditEdge Web Services API Guide

71

Output Parameter

Description

asOfDate

The actual date. (dateTime)

coupon

Coupon for the bond. (string)

currency

The ISO code of the currency used by the size parameter. (string)

eisForTerm

EIS value for the term associated with this issue. (double)

eisTermStructure

EIS term structure. (array of 10 double values)

iLgd

The implied loss given default. (double)

instrumentId

MKMV instrument identifier for the bond. (long)

issueDesc

MKMV text description for the issue. (string)

issueType

A one-character code: b = bond or c = CDS, or all = both. (string)

lastCouponDate

Last coupon date for the bond. (dateTime)

maturityDate

Maturity date for the bond. (dateTime)

termLength

Term (duration) associated with the issue. (double)

termMatchedEDF

EDF value interpolated to match the term (duration) of the bond. (double)

vendorsData

A vector of vendor data given by vendorId, price, and spread. Depending on the user’s subscriptions, a bond can have EJV and/or Trace spread data reported for it. A CDS can have GFI, and/or MarkItPartners data reported for it. Each vendor data object contains the following parameters:

vendorId

EJV, Trace, GFI, or MarkItPartners. (string)

price

Bond/CDS price according to the vendor given by the vendorId field. If the vendor does not provide price data to MKMV, this field will be blank. (double)

spread

Bond/CDS spread according to the vendor given by the field. (double)

vendorId

marketSharpeRatio

The debt market Sharpe ratio. (double)

rsq

The R-squared for the company. This is bucketed. (double)

sectorsLGD

A vector of sector-specific LGDs given by LGD, sectorId, and seniority. Each sectorsLGD object contains the following parameters:

LGD

The LGD value for the sector. (double)

sectorName

The unique identifier for the sector. (string)

seniority

The seniority for the bond: senior or subordinate. (string)

5.1.4 getEISDetailByCUSIP Retrieves EICDS and EIOAS output data for a public company’s bond given by CUSIP. TABLE 41 Input Parameter

getEISDetailByCUSIP method inputs and outputs Description

72

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

CUSIP

Bond CUSIP. If this field is null, the method will return nothing. (string)

Output Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

asOfDate

The actual date. (dateTime)

corpDefaultRiskFreeSpread

A spread that represents where corporate issues would trade if they actually had zero default probability. (double)

currency

The ISO code of the currency used by the size parameter. (string)

edfs

The EDF term structure of the firm. (array of 10 double values)

firmSize

The firm size. (double)

inputDate

The input value of tradingDate. (dateTime)

issueData

An array of the following items:

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP has been provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, the CUSIP will be given in the output. If the CUSIP was not provided and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN has been provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

asOfDate

The actual date. (dateTIme)

coupon

Coupon for the bond. (string)

currency

The ISO code of the currency used by the size parameter. (string)

eisForTerm

EIS value for the term associated with this issue. (double)

eisTermStructure

EIS term structure. (array of 10 double values)

iLgd

The implied loss given default. (double)

instrumentId

MKMV instrument identifier for the bond. (long)

issueDesc

MKMV text description for the issue. (string)

CreditEdge Web Services API Guide

73

Output Parameter

Description

issueType

A one-character code: b = bond or c = CDS, or all = both. (string)

lastCouponDate

Last coupon date for the bond. (dateTime)

maturityDate

Maturity date for the bond. (dateTime)

termLength

Term (duration) associated with the issue. (double)

termMatchedEDF

EDF value interpolated to match the term (duration) of the bond. (double)

vendorsData

A vector of vendor data given by vendorId, price, and spread. Depending on the user’s subscriptions, a bond can have EJV and/or Trace spread data reported for it. A CDS can have GFI, and/or MarkItPartners data reported for it. Each vendor data object contains the following parameters:

vendorId

EJV, Trace, GFI, or MarkItPartners. (string)

price

Bond/CDS price according to the vendor given by the vendorId field. If the vendor does not provide price data to MKMV, this field will be blank. (double)

spread

Bond/CDS spread according to the vendor given by the field. (double)

vendorId

marketSharpeRatio

The debt market Sharpe ratio. (double)

rsq

The R-squared for the company. This is bucketed. (double)

sectorsLGD

A vector of sector-specific LGDs given by LGD, sectorId, and seniority. Each sectorsLGD object contains the following parameters:

LGD

The LGD value for the sector. (double)

sectorName

The unique identifier for the sector. (string)

seniority

The seniority for the bond: senior or subordinate. (string)

5.1.5 getEISDetailByISIN Retrieves EICDS and EIOAS output data for a public company’s bond given by CUSIP. TABLE 42 Input Parameter

getEISDetailByISIN method inputs and outputs Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

ISIN

Bond ISIN. If this field is null, the method will return nothing. (string) Output Parameter

Description

74

Output Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

asOfDate

The actual date. (dateTime)

corpDefaultRiskFreeSpread

A spread that represents where corporate issues would trade if they actually had zero default probability. (double)

currency

The ISO code of the currency used by the size parameter. (string)

edfs

The EDF term structure of the firm. (array of 10 double values)

firmSize

The firm size. (double)

inputDate

The input value of tradingDate. (dateTime)

issueData

An array of the following items:

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP has been provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, the CUSIP will be given in the output. If the CUSIP was not provided and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN has been provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

asOfDate

The actual date. (dateTime)

coupon

Coupon for the bond. (string)

currency

The ISO code of the currency used by the size parameter. (string)

eisForTerm

EIS value for the term associated with this issue. (double)

eisTermStructure

EIS term structure. (array of 10 double values)

iLgd

The implied loss given default. (double)

instrumentId

MKMV instrument identifier for the bond. (long)

issueDesc

MKMV text description for the issue. (string)

issueType

A one-character code: b = bond or c = CDS, or all = both. (string)

lastCouponDate

Last coupon date for the bond. (dateTime)

maturityDate

Maturity date for the bond. (dateTime)

termLength

Term (duration) associated with the issue. (double)

termMatchedEDF

EDF value interpolated to match the term (duration) of the bond. (double)

CreditEdge Web Services API Guide

75

Output Parameter

vendorsData

Description

A vector of vendor data given by vendorId, price, and spread. Depending on the user’s subscriptions, a bond can have EJV and/or Trace spread data reported for it. A CDS can have GFI, and/or MarkItPartners data reported for it. Each vendor data object contains the following parameters:

vendorId

EJV, Trace, GFI, or MarkItPartners. (string)

price

Bond/CDS price according to the vendor given by the vendorId field. If the vendor does not provide price data to MKMV, this field will be blank. (double)

spread

Bond/CDS spread according to the vendor given by the field. (double)

vendorId

marketSharpeRatio

The debt market Sharpe ratio. (double)

rsq

The R-squared for the company. This is bucketed. (double)

sectorsLGD

A vector of sector-specific LGDs given by LGD, sectorId, and seniority. Each sectorsLGD object contains the following parameters:

LGD

The LGD value for the sector. (double)

sectorName

The unique identifier for the sector. (string)

seniority

The seniority for the bond: senior or subordinate. (string)

5.1.6 getEISDetailByMaturityDate Retrieves EICDS and EIOAS output data for a public company’s bond(s) that match both the coupon and maturityDate input parameters. If both parameters are not null, the method returns all bonds that match both parameters. If either of these parameters is null, the method performs the search using only the parameter provided. If both the coupon and maturityDate parameters are null, the method returns nothing. TABLE 43

getEISDetailByMaturityDate method inputs and outputs

Input Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

coupon

Coupon for the bond. (DoubleType)

maturityDate

Maturity date for the bond. (DateType)

Output Parameter

MKMVID

Description

The unique Moody’s Analytics identifier for the company. (string)

76

Output Parameter

Description

asOfDate

The actual date. (dateTime)

corpDefaultRiskFreeSpread

A spread that represents where corporate issues would trade if they actually had zero default probability. (double)

currency

The ISO code of the currency used by the size parameter. (string)

edfs

The EDF term structure of the firm. (array of 10 double values)

firmSize

The firm size. (double)

inputDate

The input value of tradingDate. (dateTime)

issueData

An array of the following items:

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP has been provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, the CUSIP will be given in the output. If the CUSIP was not provided and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN has been provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

asOfDate

The actual date. (dateTime)

coupon

Coupon for the bond. (string)

currency

The ISO code of the currency used by the size parameter. (string)

eisForTerm

EIS value for the term associated with this issue. (double)

eisTermStructure

EIS term structure. (array of 10 double values)

iLgd

The implied loss given default. (double)

instrumentId

MKMV instrument identifier for the bond. (long)

issueDesc

MKMV text description for the issue. (string)

issueType

A one-character code: b = bond or c = CDS, or all = both. (string)

lastCouponDate

Last coupon date for the bond. (dateTime)

maturityDate

Maturity date for the bond. (dateTime)

termLength

Term (duration) associated with the issue. (double)

termMatchedEDF

EDF value interpolated to match the term (duration) of the bond. (double)

CreditEdge Web Services API Guide

77

Output Parameter

vendorsData

Description

A vector of vendor data given by vendorId, price, and spread. Depending on the user’s subscriptions, a bond can have EJV and/or Trace spread data reported for it. A CDS can have GFI, and/or MarkItPartners data reported for it. Each vendor data object contains the following parameters:

vendorId

EJV, Trace, GFI, or MarkItPartners. (string)

price

Bond/CDS price according to the vendor given by the vendorId field. If the vendor does not provide price data to MKMV, this field will be blank. (double)

spread

Bond/CDS spread according to the vendor given by the field. (double)

vendorId

marketSharpeRatio

The debt market Sharpe ratio. (double)

rsq

The R-squared for the company. This is bucketed. (double)

sectorsLGD

A vector of sector-specific LGDs given by LGD, sectorId, and seniority. Each sectorsLGD object contains the following parameters:

LGD

The LGD value for the sector. (double)

sectorName

The unique identifier for the sector. (string)

seniority

The seniority for the bond: senior or subordinate. (string)

5.1.7 changeEISInfo Calculates EIS by providing overriding inputs (for public companies). Generic data will be returned if no EIOAS/EICDS data is available for the requested MKMVID. The changeEISInfo method most closely correlates to the Change CDS Spread Drivers and Change Bond Spread Drivers pages of the Solve | Calculator section of the CreditEdge web application. NOTE

If you change the reference bond through the CreditEdge Plus user interface, it will not be reflected within the CreditEdge Web Services. CreditEdge Web Services will continue to use the MKMV default reference bond for comparison purposes.

TABLE 44

changeEISInfo method inputs and outputs

Input Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

CUSIP

Bond CUSIP. (string)

ISIN

Bond ISIN. (string)

asOfDate

If blank, the latest available EDF date will be used as the as-of date. (DateType)

currency

The ISO code of the currency used in the firmSize parameter. This parameter is required if firmSize is provided. (string)

78

Input Parameter

Description

edfTermStructure

EDF term structure. (an array of 10 DoubleType values)

firmSize

The firm size. (double)

instrumentId

MKMV Instrument identifier. (long) Note: This replaces the issueId field in previous releases of the API.

issueType

A string code: b = bond, c = CDS, or all = both. If a value is not provided, the function will return both bond and CDS types. If 'c' is passed, the MKMVID will be used to search for the CDS. If 'b' is passed, the bond search will use all of the following optional parameters provided to find a match: instrumentId, CUSIP, ISIN. (string)

lgd

The “what-if” loss given default (i.e., the LGD value to be used in the calculation). (DoubleType)

marketSharpeRatio

The market Sharpe ratio used in the calculation. (DoubleType)

rsq

The R-squared value to be used in the calculation. (DoubleType)

term

The length of the term, in years. (DoubleType) Output Parameter

Description

MKMVID

Unique Moody’s Analytics identifier for the company. Also used to identify a CDS, since there is currently only one CDS issue per company. (string)

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP has been provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, the CUSIP will be given in the output. If the CUSIP was not provided and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN has been provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

asOfDate

The date the user requests the calculation to be run on. (dateTime)

eisTermStructure

EIS term structure (an array of 10 double values). (double)

inputDate

The input value of tradingDate. (dateTime)

instrumentId

MKMV Instrument identifier. (long) Note: This replaces the issueId field in previous releases of the API.

issueType

A one-character code: b = bond or c = CDS, or all = both.

CreditEdge Web Services API Guide

79

Output Parameter

Description

(string) lgd

The loss given default used in the calculation. (double)

marketSharpeRatio

The market Sharpe ratio used to calculate the EIS. (double)

term

Term of the issue, in years. (double)

termEDF

The term-adjusted EDF value based on the term specified by the user. (double)

termEIS

The EIS for the specific tenor. (double)

5.1.8 changeEISInfoPvt Calculate spreads by providing input data for a firm (without having CreditEdge Web Services look up data from the CreditEdge database). Note that by providing totalSales (instead of totalBookAssets) you can run spread calculations for private firms (which are not included in the CreditEdge database). TABLE 45

changeEISInfoPvt method inputs and outputs

Input Parameter

Description

asOfDate

[required] The as-of-date used in the calculation. (DateType)

currency

[required] The ISO currency code for the currency used in the totalSales and totalBookAssets figures. (string)

edfTermStructure

[required] An array of annual EDF values for 1–10 years. The value should be in percentage. For example, EDF of 14.25% should be represented as 14.25, 5.3% should be represented as 5.3. (an array of 10 DoubleType values)

industry

[required] The SIC industry code for the firm. (string)

lgd

The loss given default to be used in the calculation. If not provided, 1.0 will be used as the LGD. (DoubleType)

marketSharpeRatio

The market Sharpe ratio to be used in the calculation. If not provided, the system’s market Sharpe ratio for the asOfDate will be used. (DoubleType)

rsq

[required] This is the actual R-squared value used in the calculation — not the bucketed R-squared value. Normally, the system uses one of three (bucketed) R-squared values for a computation: either 0.24, 0.32, or 0.38. (DoubleType)

term

[required] Tenor in years (a value from 1 to 360). (DoubleType)

totalBookAssets

[required*] The total assets (in the currency type reported as an input). *If you provide a value for totalBookAssets (for a public firm), then do not provide a value for totalSales. (DoubleType)

totalSales

[required*] The total sales (in the currency type reported as an input). *If you provide a value for totalSales (for a private firm), then do not provide a value for totalBookAssets. (DoubleType)

userInstrumentId

[required] The unique MKMV identifier for the company.

80

Input Parameter

Description

(string) Output Parameter

Description

asOfDate

The as-of date used in the calculation. (dateTime)

eisTermStructure

The EIS term structure. (an array of 10 double values)

inputDate

The input value of tradingDate. (dateTime)

lgd

The loss given default. (double)

marketSharpeRatio

The user-provided value; or the value on the asOfDate if none was provided by the user. (double)

term

The term, in years. (double)

termEDF

The term-adjusted EDF based on the term specified by the user. (double)

termEIS

The EIS for the term specified by the user. (double)

userInstrumentId

Issue-unique identifier. (string)

5.1.9 eisSolver Allows users to see what changes in spread drivers would be needed to cause a firm’s spread to reach a specified target level. The eisSolver method will use any override values provided by the user. Unlike the web application, you can provide override values for both the EDF and the LGD simultaneously. The eisSolver method most closely correlates to the CDS/Bond Spread pages in the Solve | Solver section of the CreditEdge web application. TABLE 46 Input Parameter

eisSolver method inputs and outputs Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

CUSIP

Bond CUSIP. If the instrument ID, CUSIP, or ISIN is not provided, the application should run the eisSolver for CDS by default. (string)

ISIN

Bond ISIN. If the instrument ID, CUSIP, or ISIN is not provided, the application should run the eisSolver for CDS by default. (string)

ILgd

The loss given default (LGD) for the term to be used in the calculation. (DoubleType)

asOfDate

The date determining the data that should be used in the calculations. The latest available EDF date will be used as the asof date if no value is provided. (DateType)

edfAnnualized

Annualized EDF for the term. If a value outside of the 0.02 – 20% range is provided, it will be capped at the min or max of the range. (DoubleType)

eisTarget

[required] Target spread. (DoubleType)

CreditEdge Web Services API Guide

81

Input Parameter

Description

instrumentId

MKMV Instrument identifier. If the instrument ID, CUSIP, or ISIN is not provided, the application should run the eisSolver for CDS by default. (LongType)

issueType

A string code: b = bond, c = CDS, or all = both. If a value is not provided, the function will return both bond and CDS types. If 'c' is passed, the MKMVID will be used to search for the CDS. If 'b' is passed, the bond search will use all of the following optional parameters provided to find a match: instrumentId, CUSIP, ISIN. (string)

marketSharpeRatio

The market Sharpe ratio to be used in the calculation. (DoubleType)

term

[required] The length of the term in years, between 1 and 10. (DoubleType) Output Parameter

Description

MKMVID

Unique Moody’s Analytics identifier for the company. Also used to identify a CDS, since there is currently only one CDS issue per company. (string)

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP was provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, a CUSIP will be given in the output. If the CUSIP was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN was provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

asOfDate

The as-of date used in the calculation. (dateTime)

assetVolatility

The asset volatility necessary to achieve the target spread value. (double)

edfTermAdjusted

Term-adjusted EDF for the term. (double)

eisTarget

Target spread echoed from the user input. (double)

equityVolatility

The instantaneous equity volatility necessary to achieve the target spread value. (double)

instrumentId

MKMV instrument identifier. (long) Note: This replaces the issueId field in previous releases of the API.

issueType

A string code: b = bond, c = CDS, or all = both echoed from the input parameters. (string)

82

Output Parameter

5.2

Description

lgdTarget

The LGD value necessary to achieve the target spread value. (double)

longTermLiability

The long-term liabilities necessary to achieve the target spread value. (double)

shareOutstanding

The shares outstanding necessary to achieve the target spread value. (double)

sharePrice

The share price necessary to achieve the target spread value. (double)

shortTermLiability

The short-term liabilities necessary to achieve the target spread value. (double)

term

Term between 1 and 10 echoed from the user input. (double)

Batch 5.2.1 getEISDetailBatch Retrieves EICDS and EIOAS output data for the reference bond and CDS of a public company, and returns a unique job identifier (jobId). This jobId is used as an input to the getEISDetailBatchResult method to retrieve output data. TABLE 47

getEISDetailBatch method inputs and outputs

Input Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

Output Parameter

jobId

Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.2 getEISDetailByInstrumentIdBatch Retrieves EICDS and EIOAS output data for a public company’s bond given by instrumentId, and returns a unique job identifier (jobId). This jobId is used as an input to the getEISDetailBatchResult method to retrieve output data. TABLE 48

getEISDetailByInstrumentId method inputs and outputs

Input Parameter

CreditEdge Web Services API Guide

Description

83

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

instrumentId

MKMV Instrument identifier. If this field is null, the method will return nothing. (LongType)

Output Parameter

MKMVID

Description

The unique Moody’s Analytics identifier for the company. (string)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.3 getEISDetailByIssueTypeBatch Retrieves EICDS and EIOAS output data based on the string code provided for the issueType parameter and returns a unique job identifier (jobId). This jobId is used as an input to the getEISDetailBatchResult method to retrieve output data. If a value is not provided or not equal to one of the three acceptable codes, the function will return only the reference bond and CDS. If 'all' is passed, the function returns all bonds and CDS’s. If 'b' is passed, the function returns all bonds. If 'c' is passed, the function returns all CDS’s. The getEISDetailByIssueTypeBatch method will return generic data if no data requested is available. TABLE 49

getEISDetailByIssueTypeBatch method inputs and outputs

Input Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

issueType

A string code: b = bond, c = CDS, or all = both. (string)

Output Parameter

MKMVID

Description

The unique Moody’s Analytics identifier for the company. (string)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

84

5.2.4 getEISDetailByCUSIPBatch Retrieves EICDS and EIOAS output data for a public company’s bond given by CUSIP and returns a unique job identifier (jobId). This jobId is used as an input to the getEISDetailBatchResult method to retrieve output data. TABLE 50

getEISDetailByCUSIPBatch method inputs and outputs

Input Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

CUSIP

Bond CUSIP. If this field is null, the method will return nothing. (string)

Output Parameter

MKMVID

Description

The unique Moody’s Analytics identifier for the company. (string)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.5 getEISDetailByISINBatch Retrieves EICDS and EIOAS output data for a public company’s bond given by ISIN and returns a unique job identifier (jobId). This jobId is used as an input to the getEISDetailBatchResult method to retrieve output data. TABLE 51 Input Parameter

getEISDetailByISINBatch method inputs and outputs Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

ISIN

Bond ISIN. If this field is null, the method will return nothing. (string) Output Parameter

MKMVID

CreditEdge Web Services API Guide

Description

The unique Moody’s Analytics identifier for the company. (string)

85

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.6 getEISDetailByMaturityDateBatch Retrieves EICDS and EIOAS output data for a public company’s bond(s) that match both the coupon and maturityDate input parameters. Returns a unique job identifier (jobId). This jobId is used as an input to the getEISDetailBatchResult method to retrieve output data. If both parameters are not null, the method returns all bonds that match both parameters. If either of these parameters is null, the method performs the search using only the parameter provided. If both the coupon and maturityDate parameters are null, the method returns nothing. TABLE 52

getEISDetailByMaturityDateBatch method inputs and outputs

Input Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

dateFrom

The start of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. This must be within 5 years of the current date. (DateType)

dateTo

The end of the date range. If both dateFrom and dateTo are blank, the last available EDF date will be used. (DateType)

coupon

Coupon for the bond. (DoubleType)

maturityDate

Maturity date for the bond. (DateType)

Output Parameter

MKMVID

Description

The unique Moody’s Analytics identifier for the company. (string)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.7 changeEISInfoBatch Calculates EIS by providing overriding inputs (for public companies) and returns a unique job identifier (jobId). This jobId is used as an input to the changeEISInfoBatchResult method to retrieve market capitalization information. Generic data will be returned if no EIOAS/EICDS data is available for the requested MKMVID. TABLE 53

changeEISInfoBatch method inputs and outputs

Input Parameter

Description

MKMVID

The unique identifier for the company. (string)

CUSIP

Bond CUSIP. (string)

ISIN

Bond ISIN. (string)

asOfDate

If blank, the latest available EDF date will be used as the as-of date. (DateType)

86

Input Parameter

Description

currency

The ISO code of the currency used in the firmSize parameter. This parameter is required if firmSize is provided. (string)

edfTermStructure

EDF term structure. (an array of 10 DoubleType values)

firmSize

The firm size. (double)

instrumentId

MKMV Instrument identifier. (long) Note: This replaces the issueId field in previous releases of the API.

issueType

A string code: b = bond, c = CDS, or all = both. If a value is not provided, the function will return both bond and CDS types. If 'c' is passed, the MKMVID will be used to search for the CDS. If 'b' is passed, the bond search will use all of the following optional parameters provided to find a match: instrumentId, CUSIP, ISIN. (string)

lgd

The “what-if” loss given default (i.e., the LGD value to be used in the calculation). (DoubleType)

marketSharpeRatio

The market Sharpe ratio used in the calculation. (DoubleType)

rsq

The R-squared value to be used in the calculation. (DoubleType)

term

The length of the term, in years. (DoubleType) Output Parameter

jobId

Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.8 changeEISInfoPvtBatch Calculates spreads by providing input data for a firm (without having CreditEdge Web Services look up data from the CreditEdge database) and returns a unique job identifier (jobId). This jobId is used as an input to the changeEISInfoPvtBatchResult method to retrieve market capitalization information. Note that by providing totalSales (instead of totalBookAssets) you can run spread calculations for private firms (which are not included in the CreditEdge database). TABLE 54 Input Parameter

changeEISInfoPvtBatch method inputs and outputs Description

asOfDate

[required] The as-of-date used in the calculation. (DateType)

currency

[required] The ISO currency code for the currency used in the totalSales and totalBookAssets figures. (string)

edfTermStructure

[required] An array of annual EDF values for 1–10 years. The value should be in percentage. For example, EDF of 14.25% should be represented as 14.25, 5.3% should be represented as 5.3. (an array of 10 DoubleType values)

industry

[required] The SIC industry code for the firm. (string)

lgd

The loss given default to be used in the calculation. If not

CreditEdge Web Services API Guide

87

Input Parameter

Description

provided, 1.0 will be used as the LGD. (DoubleType) marketSharpeRatio

The market Sharpe ratio to be used in the calculation. If not provided, the system’s market Sharpe ratio for the asOfDate will be used. (DoubleType)

rsq

[required] This is the actual R-squared value used in the calculation — not the bucketed R-squared value. Normally, the system uses one of three (bucketed) R-squared values for a computation: either 0.24, 0.32, or 0.38. (DoubleType)

term

[required] Tenor in years (a value from 1 to 360). (DoubleType)

totalBookAssets

[required*] The total assets (in the currency type reported as an input). *If you provide a value for totalBookAssets (for a public firm), then do not provide a value for totalSales. (DoubleType)

totalSales

[required*] The total sales (in the currency type reported as an input). *If you provide a value for totalSales (for a private firm), then do not provide a value for totalBookAssets. (DoubleType)

userInstrumentId

[required] The unique MKMV identifier for the company. (string)

Output Parameter

jobId

Description

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.9 eisSolverBatch Allows users to see what changes in spread drivers would be needed to cause a firm’s spread to reach a specified target level, and returns a unique job identifier (jobId). This jobId is used as an input to the eisSolverBatchResult method to retrieve driver change details. The eisSolverBatch method will use any override values provided by the user. Unlike the web application, you can provide override values for both the EDF and the LGD simultaneously. TABLE 55 Input Parameter

eisSolverBatch method inputs and outputs Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

CUSIP

Bond CUSIP. If the instrument identifier, CUSIP, or ISIN is not provided, the application should run the eisSolver for CDS by default. (string)

ISIN

Bond ISIN. If the instrument identifier, CUSIP, or ISIN is not provided, the application should run the eisSolver for CDS by default. (string)

88

Input Parameter

Description

ILgd

The loss given default (LGD) for the term to be used in the calculation. (DoubleType)

asOfDate

The date determining the data that should be used in the calculations. The latest available EDF date will be used as the asof date if no value is provided. (DateType)

edfAnnualized

Annualized EDF for the term. If a value outside of the 0.02 – 20% range is provided, it will be capped at the min or max of the range. (DoubleType)

eisTarget

[required] Target spread. (DoubleType)

instrumentId

MKMV Instrument identifier. If the instrument ID, CUSIP, or ISIN is not provided, the application should run the eisSolver for CDS by default. (LongType)

issueType

A string code: b = bond, c = CDS, or all = both. If a value is not provided, the function will return both bond and CDS types. If 'c' is passed, the MKMVID will be used to search for the CDS. If 'b' is passed, the bond search will use all of the following optional parameters provided to find a match: instrumentId, CUSIP, ISIN. (string)

marketSharpeRatio

The market Sharpe ratio to be used in the calculation. (DoubleType)

term

[required] The length of the term in years, between 1 and 10. (DoubleType) Output Parameter

Description

jobId

Unique job identifier. (long)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.10 getBatchStatus Gets the status of a batch request: started, completed, or failed. The results for the job given by the job identifier can only be fetched for completed batch jobs. If the returned job status is failed, it means the server has encountered some unexpected error condition, such as an uncaught Runtime Exception or an out of memory error. In this case, contact MKMV directly for help by sending email to [email protected] TABLE 56 Input Parameter

getBatchStatus method inputs and outputs Description

[required] Job identifier for the initiated batch processing. (long)

jobId Output Parameter

status

CreditEdge Web Services API Guide

Description

The status of the batch job: started, completed, or failed. (string)

89

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.11 getEISDetailBatchResult Retrieves the results of all getEISDetail batch requests by jobId. It can only fetch results for completed batch jobs. TABLE 57

getEISDetailBatchResult method inputs and outputs

Input Parameter

jobId

Description

Unique job identifier. (long) Output Parameter

Description

MKMVID

The unique Moody’s Analytics identifier for the company. (string)

asOfDate

The actual date. (dateTime)

corpDefaultRiskFreeSpread

A spread that represents where corporate issues would trade if they actually had zero default probability. (double)

currency

The ISO code of the currency used by the size parameter. (string)

edfs

The EDF term structure of the firm. (array of 10 double values)

firmSize

The firm size. (double)

inputDate

The input value of tradingDate. (dateTime)

issueData

An array of the following items:

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP has been provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, the CUSIP will be given in the output. If the CUSIP was not provided and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN has been provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

asOfDate

The actual date. (dateTime)

coupon

Coupon for the bond. (string)

currency

The ISO code of the currency used by the size parameter. (string)

eisForTerm

EIS value for the term associated with this issue. (double)

eisTermStructure

EIS term structure. (array of 10 double values)

iLgd

The implied loss given default. (double)

instrumentId

MKMV instrument identifier for the bond. (long)

90

Output Parameter

Description

issueDesc

MKMV text description for the issue. (string)

issueType

A one-character code: b = bond or c = CDS, or all = both. (string)

lastCouponDate

Last coupon date for the bond. (dateTime)

maturityDate

Maturity date for the bond. (dateTime)

termLength

Term (duration) associated with the issue. (double)

termMatchedEDF

EDF value interpolated to match the term (duration) of the bond. (double)

vendorsData

A vector of vendor data given by vendorId, price, and spread. Depending on the user’s subscriptions, a bond can have EJV and/or Trace spread data reported for it. A CDS can have GFI, and/or MarkItPartners data reported for it. Each vendor data object contains the following parameters:

vendorId

EJV, Trace, GFI, or MarkItPartners. (string)

price

Bond/CDS price according to the vendor given by the vendorId field. If the vendor does not provide price data to MKMV, this field will be blank. (double)

spread

Bond/CDS spread according to the vendor given by the field. (double)

vendorId

marketSharpeRatio

The debt market Sharpe ratio. (double)

rsq

The R-squared for the company. This is bucketed. (double)

sectorsLGD

A vector of sector-specific LGDs given by LGD, sectorId, and seniority. Each sectorsLGD object contains the following parameters:

LGD

The LGD value for the sector. (double)

sectorName

The unique identifier for the sector. (string)

seniority

The seniority for the bond: senior or subordinate. (string)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.12 changeEISInfoBatchResult Returns the batch results given the jobID from a previously run changeEISInfoBatch method. TABLE 58

changeEISInfoBatchResult method inputs and outputs

Input Parameter

jobId

Description

Unique job identifier. (long) Output Parameter

Description

MKMVID

Unique Moody’s Analytics identifier for the company. Also used to identify a CDS, since there is currently only one CDS issue per company. (string)

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP has been

CreditEdge Web Services API Guide

91

Output Parameter

Description

provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, the CUSIP will be given in the output. If the CUSIP was not provided and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string) ISIN

Identifies the specific issue by ISIN. If the ISIN has been provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

asOfDate

The date the user requests the calculation to be run on. (dateTime)

eisTermStructure

EIS term structure (an array of 10 double values). (double)

inputDate

The input value of tradingDate. (dateTime)

instrumentId

MKMV Instrument identifier. (long) Note: This replaces the issueId field in previous releases of the API.

issueType

A one-character code: b = bond or c = CDS, or all = both. (string)

lgd

The loss given default used in the calculation. (double)

marketSharpeRatio

The market Sharpe ratio used to calculate the EIS. (double)

term

Term of the issue, in years. (double)

termEDF

The term-adjusted EDF value based on the term specified by the user. (double)

termEIS

The EIS for the specific tenor. (double)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.13 changeEISInfoPvtBatchResult Returns the batch results given the jobID from a previously run changeEISInfoPrvBatch method. TABLE 59

changeEISInfoPvtBatchResult method inputs and outputs

Input Parameter

jobId

Description

Unique job identifier. (long) Output Parameter

Description

asOfDate

The as-of date used in the calculation. (dateTime)

eisTermStructure

The EIS term structure. (an array of 10 double values)

92

Output Parameter

Description

inputDate

The input value of tradingDate. (dateTime)

lgd

The loss given default. (double)

marketSharpeRatio

The user-provided value; or the value on the asOfDate if none was provided by the user. (double)

term

The term, in years. (double)

termEDF

The term-adjusted EDF based on the term specified by the user. (double)

termEIS

The EIS for the term specified by the user. (double)

userInstrumentId

Issue-unique identifier. (string)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

5.2.14 eisSolverBatchResult Returns the batch results given the jobID from a previously run eisSolverBatch method. TABLE 60

changeEISInfoPvtBatchResult method inputs and outputs

Input Parameter

jobId

Description

Unique job identifier. (long) Output Parameter

Description

MKMVID

Unique Moody’s Analytics identifier for the company. Also used to identify a CDS, since there is currently only one CDS issue per company. (string)

CUSIP

Identifies the specific issue by CUSIP. If the CUSIP was provided, this field will echo the same string regardless of whether the user has a subscription to view CUSIPs or not. If the CUSIP was not provided, but the user has the necessary permissions, a CUSIP will be given in the output. If the CUSIP was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

ISIN

Identifies the specific issue by ISIN. If the ISIN was provided, this field will echo the same string regardless of whether the user has a subscription to view ISINs or not. If the ISIN was not provided, but the user has the necessary permissions, ISIN will be given in the output. If the ISIN was not provided, and the user does not have the needed permissions, or the issue is a CDS, this field will be blank. (string)

asOfDate

The as-of date used in the calculation. (dateTime)

assetVolatility

The asset volatility necessary to achieve the target spread value. (double)

edfTermAdjusted

Term-adjusted EDF for the term. (double)

eisTarget

Target spread echoed from the user input. (double)

CreditEdge Web Services API Guide

93

Output Parameter

Description

equityVolatility

The instantaneous equity volatility necessary to achieve the target spread value. (double)

instrumentId

MKMV instrument identifier. (long) Note: This replaces the issueId field in previous releases of the API.

issueType

A string code: b = bond, c = CDS, or all = both echoed from the input parameters. (string)

lgdTarget

The LGD value necessary to achieve the target spread value. (double)

longTermLiability

The long-term liabilities necessary to achieve the target spread value. (double)

shareOutstanding

The shares outstanding necessary to achieve the target spread value. (double)

sharePrice

The share price necessary to achieve the target spread value. (double)

shortTermLiability

The short-term liabilities necessary to achieve the target spread value. (double)

term

Term between 1 and 10 echoed from the user input. (double)

For information on batch methods, see “Real-Time vs. Batch Modes” on page 8.

94

CHAPTER 6 6 The Microsoft Excel Sample Application The CreditEdge Web Services sample application shows how to use CreditEdge’s web services to access the rich functionality of CreditEdge. To use this sample application, you must have Microsoft Excel 2000 and the SOAP Toolkit 3.0 installed. See “Configuration Connection Parameters” on page 16 for more information about where to get the SOAP Toolkit.

6.1

Where to Get the Sample Application You can download the sample application from the Data Service section of the Moody’s Analytics CreditEdge Web Services home page: http://www.creditedge.com/ or: http://www.creditedge.com/data_service.html

NOTE

Currently Microsoft’s Internet Explorer does not support the file download. Please download the Mozilla Firefox browser from http://www.mozilla.com or contact [email protected] to obtain the spreadsheet.

6.2

Installing the Sample Application To install the CreditEdge Web Services sample application:

6.

Select the Excel Spreadsheet application link.

7.

Enter your CreditEdge or CreditEdge Plus password.

8.

Download and save the ZIP file.

9.

Open the ZIP file, and then select setup.exe. Follow the prompts.

96

10. Click

Yes.

11. Click

OK.

The Installation Complete message appears:

The file is automatically saved to the appropriate place: C:\\Program Files\Moodys KMV.

6.3

Verifying Your Connection to CreditEdge Web Services Before contacting the support staff about issues you are having with the CreditEdge Web Services, please set up and try out the Excel sample application. This will help support personnel to determine the source of the problem because the sample application is used to thoroughly test all the services offered. To verify your connection to CreditEdge web services: 12. Open

the CESpreadsheet.xls Excel file. Click the Enable Macros button if prompted.

CreditEdge Web Services API Guide

97

13. Select

the MKMVIDInput sheet.

the Username & Password button. Alternatively, click the Config button at the top of any sheet.

14. Click

Excel opens the CE Web Services Configuration dialog box:

15. Enter

your CreditEdge or CreditEdge Plus user name and password to establish the connection. (The URLs given are correct and should not be changed.)

16. Click

the Save button (in the dialog box).

the CompanyMapping sheet and ensure that by Company Name is selected from the Company Lookup drop-down list at the top of the page.

17. Select

There should already be some sample companies entered into the inputs area. the Lookup button to execute a real-time request to get information on the companies listed.

18. Click

The lookup operation may take a few seconds for this list of companies. You can also enable Batch Mode and click Lookup to issue the queries as a batch request. You can check the status of a batch request by clicking the Check Status button (accessible only in batch mode) and retrieve batch results for a completed job by clicking the Get Results button (accessible only in batch mode). 19. Exit

the Excel spreadsheet without saving changes and re-launch it to start over.

There is a sheet within the Excel Sample Application for interacting with each main service and method offered. You can use the sample application as a template for building your own application, or use the techniques illustrated within to create an application using a programming language other than Visual Basic.

98

If you have problems connecting to the CreditEdge Web Services using the Excel Sample Application, contact someone to help you. See “Contacting Moody’s Analytics with Feedback” on page Error! Bookmark not defined. for details.

6.4

Using the Excel Sample Application The Excel Sample Application includes the following worksheets: MKMVID Input, CUSIP Input, CompanyMapping, CompanyDetail, ChangeFinancialStatement, ChangeCapitalStructure, ChangeMarketCap, EDFSolver, EISDetail, ChangeEISInfo, EISSolver, ChangeEISPvt. (The last four tabs are blue to indicate they are available only to CreditEdge Plus users.)

Each worksheet corresponds to a CreditEdge Web Services method. For instance, the CompanyDetails worksheet includes the following input columns (indicated by the green color): Input MKMVID

From

To

Type

The same worksheet contains output columns (indicated by the blue color), including the following: Output MKMVID

assetVolatility

marketLeverage

marketValueOfAssets

Input parameters and outputs correspond to the parameters listed in this API Guide for each method in the CreditEdge Web Services. (See the previous chapters of this document.) Other methods are also included, although they do not have their own worksheets in the Excel file. For example, the batch methods (such as EISInfoBatch) are triggered by the following checkbox at the top of the worksheets:

Similarly, other methods are invoked by buttons at the top of the worksheets. Select Go to run the output for that worksheet.

CreditEdge Web Services API Guide

99

6.4.1 Mapping the Spreadsheet Tables to the CreditEdge Website The following table maps the Excel spreadsheet tabs to the CreditEdge website. Excel Spreadsheet Tab Company Detail Worksheet Change Financial Statements Worksheet EIS Worksheet EIA Solver

CreditEdge Website Analyze Company Summary Override EDF Updates Analyze Company Bond or CDS Solver

6.4.2 Mandatory Validation Checks CreditEdge performs validation tests to avoid logical errors that would prevent you from producing reliable EDF credit measures. Scroll to the far right side of each spreadsheet to see the error log. The following error messages indicate that a validation check has failed: •

Current Liabilities cannot be entered as negative value



Current Liabilities must be greater than or equal to Current Debt



Preferred Dividends cannot be entered as negative value



Common Dividends cannot be entered as negative value



Long term Debt cannot be entered as negative value



Long-Term Debt must be greater than or equal to the sum of Debt Due Yr2 through Debt Due Yr5



Common Equity must be greater than or equal to Retained Earnings

100

6.5

Viewing VisualBasic Code in the Excel Sample Application You can access the Visual Basic macros for each worksheet: 20. Right-click

window:

21. From

the worksheet tab, such as CompanyMapping, at the bottom of the Excel

the menu that is displayed, select View Code.

The VisualBasic editor window opens, displaying the macros for the worksheet:

CreditEdge Web Services API Guide

101

6.6

Making a web services request using the SOAP Toolkit If you use the SOAP Toolkit to build your web application or client desktop application, you will perform essentially the same steps as demonstrated within the Excel Sample Application. Some of the more important areas of the code are touched on in the following procedure, but for a full understanding of the process of formulating requests and displaying results, refer to the source code directly. To make a SOAP Toolkit web services request for the CompanyMapping Service: 22. Specify

the URL for the web service, the web service name, and the method that you will be calling. In the case of the CompanyMapping Service, you will call the method that corresponds to the type of lookup selected within the spreadsheet—by default, lookupByCompanyName. If you select batch mode for the operation, the batch method will be called because the word “Batch” will be appended to the method name. url = Sheet2.Cells(3, 3) URI = "CompanyMappingService" If (IsNull(methodName) Or IsEmpty(methodName)) Then methodName = "lookupByCompanyName" End If If (methodName = "") Then methodName = "lookupByCompanyName" End If Method = methodName '"lookupByCompanyName" If BatchModeCheckBox.Value = True Then Method = Method & "Batch" End If

23. Instantiate

your SOAP Connector, a serializer and a reader. The connector will handle the HTTP connection, the serializer will build the SOAP envelope and the reader will be used to access the result. In Visual Basic (using the SOAP Toolkit), this looks as follows: Dim Connector As HttpConnector30 Dim Serializer As SoapSerializer30 Set Connector = New HttpConnector30 Set Serializer = New SoapSerializer30 Set Reader = New SoapReader30

24. Prepare

the connector to talk to the SOAP Server. Note that the "SoapAction" data is not consequential on the server side so the contents can be anything at all. It is a good idea, however, to set it to the URI and Method name for easier identification when you are debugging and reading the SOAP messages. Connector.Property("EndPointURL") = url Connector.Connect Connector.Property("SoapAction") = URI & "#" & Method Connector.Property("AuthUser") = Sheet2.Cells(4, 3) Connector.Property("AuthPassword") = Sheet2.Cells(5, 3) Connector.Property("WinHTTPAuthScheme") = 1 Connector.BeginMessage

25. Associate

your serializer with your connector.

Serializer.Init Connector.InputStream

102

26. Start

the SOAP envelope and specify the encoding and XML-Schema.

Serializer.StartEnvelope ENV_PREFIX, "STANDARD" Serializer.SoapNamespace XSI_PREFIX, XSI Serializer.SoapNamespace ENC_PREFIX, ENC Serializer.SoapNamespace XSD_PREFIX, XSD Serializer.SoapNamespace "tns", "http://www.mkmv.com/CompanyDetail" Serializer.SoapNamespace "types", "http://www.mkmv.com/CompanyDetail/encodedTypes"

27. Write

each method parameter out as a child to the root element. You will use this to take the information entered into the Excel application’s form and serially feed it as the input stream to be converted by the SOAP interface into an XML file. The body of the message, once converted by your SOAP classes will begin with the tag and use a tag for each input request parameter. ' Serializer.StartElement "requests" Serializer.SoapAttribute "href", , "#id1" Serializer.EndElement Serializer.EndElement ' Serializer.StartElement "Array", , , ENC_PREFIX Serializer.SoapAttribute "id", , "id1" Serializer.SoapAttribute "arrayType", , "tns:CompanyDetailRequest[" & currentRow & "]", ENC_PREFIX For i = 0 To currentRow - 1 Step 1 ' Serializer.StartElement "CompanyDetailRequest", , , "tns" Serializer.SoapAttribute "type", , "tns:CompanyDetailRequest", XSI_PREFIX '2003-04-01T00:00:00.0000000-08:00 Serializer.StartElement "dateTo" Serializer.SoapAttribute "type", , "xsd:dateTime", XSI_PREFIX Serializer.WriteString Format(c(i), "yyyy-mm-ddT00:00:00.0000000-08:00") Serializer.EndElement '2003-04-01T00:00:00.0000000-08:00 Serializer.StartElement "dateFrom" Serializer.SoapAttribute "type", , "xsd:dateTime", XSI_PREFIX Serializer.WriteString Format(b(i), "yyyy-mm-ddT00:00:00.0000000-08:00") Serializer.EndElement '459200 Serializer.StartElement "MKMVID" Serializer.SoapAttribute "type", , "xsd:string", XSI_PREFIX Serializer.WriteString a(i) Serializer.EndElement 'forward Serializer.StartElement "edfType" Serializer.SoapAttribute "type", , "xsd:string", XSI_PREFIX Serializer.WriteString d(i) Serializer.EndElement Serializer.EndElement Next i

28. Close off the

body of the message and send it.

' Serializer.EndElement

CreditEdge Web Services API Guide

103

Serializer.EndBody Serializer.EndEnvelope 'Ending the message causes it to be sent. Connector.EndMessage

29. Load

the response output stream into the reader.

Reader.Load Connector.OutputStream

6.7

Getting Results and Error Messages from the Response The response consists of an array of ResultSet objects and an array of ErrorMessage objects. The results are encapsulated within the XML tag, and the error message details are encapsulated within the and tags. To get the results of a request, iterate through the response output stream using the output tags specified for the method that was called. Then display these results within the application. For i = 0 To mappingVariantElements.Length - 1 Step 1 If mappingVariantElements.Item(i).nodeType = NODE_ELEMENT And mappingVariantElements.Item(i).nodeName = "MKMVID" Then Cells(currentDisplayRow, 5) = mappingVariantElements.Item(i).Text ElseIf mappingVariantElements.Item(i).nodeType = NODE_ELEMENT And mappingVariantElements.Item(i).nodeName = "companyName" Then Cells(currentDisplayRow, 6) = mappingVariantElements.Item(i).Text ElseIf mappingVariantElements.Item(i).nodeType = NODE_ELEMENT And mappingVariantElements.Item(i).nodeName = "ticker" Then Cells(currentDisplayRow, 7) = mappingVariantElements.Item(i).Text ElseIf mappingVariantElements.Item(i).nodeType = NODE_ELEMENT And mappingVariantElements.Item(i).nodeName = "subscriptions" Then Dim subscriptionsElements As IXMLDOMNodeList Set subscriptionsElements = mappingVariantElements.Item(i).childNodes For j = 0 To subscriptionsElements.Length - 1 Step 1 If subscriptionsElements.Item(j).nodeType = NODE_ELEMENT And (subscriptionsElements.Item(j).nodeName = "item") Then processSubscription Reader, Mid(subscriptionsElements.Item(j).Attributes.getNamedItem("href").nodeValue, 2) End If Next j End If Next i

Any error messages encountered in getting records will be given within the ErrorMessage object array. The following code from the Excel Sample Application gets error messages from the output stream. ElseIf collection1.Item(j).nodeType = NODE_ELEMENT And collection1.Item(j).nodeName = "errorMessage" Then Dim errorMessageCollection As IXMLDOMNodeList Set errorMessageCollection = collection1.Item(j).childNodes For k = 0 To errorMessageCollection.Length - 1 Step 1 If errorMessageCollection.Item(k).nodeType = NODE_ELEMENT Then ' Display error message Cells(nextErrRow, 32) = errorMessageCollection.Item(k).Text nextErrRow = nextErrRow + 1 End If Next k End If

104

NOTE

There are many ways in which you could go about interpreting the response for display within your application. You could, for example, write an XSLT script to convert the XML from SOAP into a form that your application can understand, or use other highly specialized methods for parsing the response. In the Excel Sample Application, the reader is used to pull the result of the invocation out of the DOM (Document Object Model).

See Appendix A for a list of all possible error messages.

CreditEdge Web Services API Guide

105

CHAPTER 7 7 Building a Microsoft .NET Application The CreditEdge Web Services beta program also bundles a fully functional sample application using C# on Microsoft’s .NET platform. In order to run this application, you must have the .NET framework, at a minimum installed. You can download it from Microsoft’s web site: http://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157034D1E7CF3A3&displaylang=en

7.1

Making a web services request using Microsoft’s .NET and C# If you use Microsoft’s .NET platform to build your web application or client desktop application, you will perform essentially the same steps as demonstrated within the .NET Sample Application. For coding details, you can open the application within Visual Studio .NET or any standard text editor. To view descriptions of the services and data members in the .NET sample application, you may also view the Code Comment Web Report posted to the Moody’s Analytics CreditEdge Web Services home page. The necessary information to get started developing in .NET with the CreditEdge Web Services is given by the following procedure, but for a full understanding of the process of formulating requests and displaying results, refer to the source code of the full sample application directly. To make a .NET web services request for the CompanyMapping Service: 30. Create 31. In

a new C# application called CeWeb.

the default form created, add a button and a text box. For this example, the button text is set to FindCompany.

the project in the solution explorer and select Add Web Reference. The dialog shown in FIGURE 3 will appear.

32. Right-click on

FIGURE 3 Adding a web reference in Visual Studio .NET 33. Type

in the location of the WSDL document for the service you’d like to use, and press the Enter key. In this case, to access the CompanyMapping web service, you’d enter the following URL: https://www.creditedge.com/webservices/services/CompanyMapping?wsdl

34. Click Add 35. When

Reference.

prompted, enter the logon credentials you were provided for access to the web services

site. 36. Right-click the web service and selecting Reference1 to CompanyMapping. 37. Add

Rename. In this case, rename the generically assigned

the following statements to Form1.cs to declare what service you are using.

using System.Net;

using CeWeb2.CompanyMapping; 38. Add

the following private variables to Form1. These create an object reference to the web service and a result variable to hold the ResultSet object. private private private private

CeWeb2.CompanyMapping.CompanyMappingService cms; ICredentials credentials; System.Windows.Forms.TextBox textBox1; CeWeb2.CompanyMapping.MappingResult[] mr;

108

39. Add

the following to the Form1() constructor, substituting the “userid” and “password” with your logon credentials for access to the web services site. This creates a new instance of a CompanyMapping Service object, cms, and provides the necessary credentials to access the site. credentials = new NetworkCredential("userid","password",""); cms = new CeWeb2.CompanyMapping.CompanyMappingService(); cms.Url = "http://www.creditedge.com/svc/services/CompanyMapping"; cms.Credentials = credentials; cms.AllowAutoRedirect = false; cms.PreAuthenticate = true;

40. Double-click

the button on your form and insert code to call the lookupByCompanyName method. The results are now stored in the mr array. Place the first company name returned by the method into the corresponding text box. System.String[] strQueryString; strQueryString = new String[1]; strQueryString[0] = this.textBox1.Text; mr = null; try { mr = cms.lookupByCompanyName(strQueryString); } catch (Exception ex) { MessageBox.Show("Exception encountered while performing query.\n\nDescription: '" + ex.Message + "'", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } if (mr != null) { textBox1.Text = mr[0].mappingVariants[0].companyName; }

41. Run

the application.

42. Type

in a company name search string in the text box and click the FindCompany button as shown in FIGURE 4.

FIGURE 4 Web services request made through .NET 43. If

no errors occurred, the closest match to what you typed in will be replaced in the text box as shown in FIGURE 5.

FIGURE 5 Result returned from the CompanyMapping Web Service

CreditEdge Web Services API Guide

109

7.2

Getting error messages from the response Any error messages encountered in getting records will be given within the error messages array. The following code from the .NET Sample Application checks to see if the request was successful, and if not, gets error messages and displays them in an alert box. if (mr.ErrorMessage[0].getErrorMessage() == "All requests have been successfully processed.") { // No Error this.DisplayFirstOutput(); this.statusBar1.Text = "Finished"; this.btnSeeAllResults.Enabled = true; this.btnCompDetSeeAllResults.Enabled = true; } else { // Error this.Cursor = System.Windows.Forms.Cursors.Default; MessageBox.Show(mr.ErrorMessage[0].getErrorMessage().Trim(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); this.statusBar1.Text = "Error"; }

110

Appendix A 8 Error Messages The CreditEdge Web Services application will automatically return error messages when requests are processed. The following table lists all CreditEdge Web Services error messages:

Error Code

0

Error Message

All requests have been successfully processed.

1001

No EDF data available for pid {0} between {1} and {2}.

1002

No firm size data available for pid {0} on base_date {1}.

1003

The value {0} you provided for variable {1} is incorrect.

1004

The value {0} you provided for variable {1} is incorrect. Valid value should be within the following range {2}.

1005

The value {0} you provided for variable {1} is incorrect. Valid values are either y or n.

1007

The number of entries in line number {0} is incorrect. Please check it.

1008

Your subscription does not allow access to {0} that belongs to subscription module {1}.

1009

Input pid {0} is invalid.

1010

Input issueId {0} is invalid.

1011

Input issueId is required for issue type bond.

1012

Input MKMVID is required for issue type CDS.

1013

Input currency is required when firmSize is provided.

1014

The required input parameter {0} is missing in the service request number {1}.

1015

No eioas data available for pid {0} between {1} and {2}.

1016

No eicds data available for pid {0} between {1} and {2}.

1017

No eioas and eicds data available for pid {0} between {1} and {2}.

2001

Null parameter is not acceptable.

Error Code

Error Message

2002

NOTE

No match found for the request.

Values enclosed within curly brackets will be replaced with specific values during runtime.

Contacting Moody’s Analytics with Feedback As part of the CreditEdge Web Services program, you are welcome to contact the Moody’s Analytics CreditEdge team with any problems or concerns you may have. Other feedback and enhancement requests are also appreciated. Send any support requests or feedback you have to [email protected]

CreditEdge Web Services API Guide

112

Index INDEX

. .NET SAMPLE APPLICATION. SEE MICROSOFT .NET SAMPLE APPLICATION

A architecture overview, 7

G B

batch mode vs. real-time mode, 8

C changeCapitalStructure method, 52 changeCapitalStructureBatch method, 59 changeCapitalStructureBatchResult method, 64 changeEISInfo method, 78, 86 changeEISInfoBatch method, 87, 91 changeEISInfoPvt method, 80, 92 changeFinancialStatement method, 48 changeFinancialStatementBatch method, 56 changeFinancialStatementBatchResult method, 63 changeMarketInfo method, 45 changeMarketInfoBatch method, 55 changeMarketInfoBatchResult method, 62 CompanyDetail web service WSDL file, 16 CompanyMapping web service overview, 19 WSDL file, 16 Configuration Connection Parameters, 16 CreditEdge Web Services overview, 7

D Development Requirements, 16

E EDFService web service overview, 29 WSDL file, 16 edfSolver, 54 edfSolverBatch, 60 edfSolverBatchResult, 66 EISService web service overview, 67 WSDL file, 16

eisSolver, 81 eisSolverBatch, 88 eisSolverBatchResult, 93 ERROR MESSAGES. SEE EXCEL. SEE MICROSOFT EXCEL SAMPLE APPLICATION

getBatchResult method, 26 getBatchStatus, 89 getBatchStatus method, 23, 37, 61 getCompanyDetail method, 29 getCompanyDetailBatch method, 36 getCompanyDetailBatchResult method, 38 getEISDetail method, 67, 83, 90 getEISDetailByCUSIP, 72 getEISDetailByCUSIPBatch, 85 getEISDetailByInstrumentId, 69 getEISDetailByInstrumentIdBatch, 83 getEISDetailByISIN, 74 getEISDetailByISINBatch, 85 getEISDetailByIssueType, 71 getEISDetailByIssueTypeBatch, 84 getEISDetailByMaturityDate, 76 getEISDetailByMaturityDateBatch, 86 getMonthlyCompanyDetail method, 32 getMonthlyCompanyDetailBatch method, 37 getMonthlyCompanyDetailBatchResult method, 40

L lookupByBondCusip method, 20 lookupByBondCusipBatch method, 24 lookupByBondIsin method, 21 lookupByBondIsinBatch method, 24 lookupByCompanyName method, 20 lookupByCompanyNameBatch method, 24 lookupByEquityCusip method, 21 lookupByEquityCusipBatch method, 25 lookupById method, 22 lookupByIdBatch method, 26 lookupByModule, 19 lookupByModuleBatch, 23 lookupBySedol method, 21 lookupBySedolBatch method, 25 lookupByTicker method, 22 lookupByTickerBatch method, 25

M MICROSOFT .NET SAMPLE APPLICATION, 107 MICROSOFT EXCEL SAMPLE APPLICATION, 95 Moody’s KMV, contacting, 99

O

S SAMPLE APPLICATION. SEE MICROSOFT EXCEL SAMPLE APPLICATION Simple Object Access Protocol, 7 SOAP, 7 SOAP Toolkit, 102

Object Types, 10

U P

Performance Metrics, 17

R real-time mode vs. batch mode, 8 redistribution rights, 9 Reporting and Error Handling, 10

User Name Access and Protected Data Delivery, 8 Using HTTP Compression, 11

V Visual Basic code, in the Microsoft Excel sample application. See

W WSDL files, 16

CreditEdge Web Services API Guide

114