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