• HOME
  • ABOUT
    AD&Co
    AD&Co Staff Vendor Partners News & Events Press Releases AD&Co in the News Contact Us
  • VECTORS™
    ANALYTICS
    Prepayment Credit Valuation RiskProfiler™ CreditProfile™
  • CONSULTING
  • PUBLICATIONS
    & RESEARCH
    The Pipeline The Pipeline Archives Quantitiative Perspectives Library Books & Papers Presentations
  • ONLINE TOOLS
    & REPORTS
    Model Demos Mortgage Analysis & Performance Reporting Market Valuation Reports Trend Reports CreditProfile™
  • VECTORS™
    SUPPORT
    Downloads FAQs Glossary Installation and Version Compatibility Model Description Model Validation Tuning Support User Manuals/Tutorials/Guides Release Notes Developer Support
  • My AD&Co
 
    Quick Links

API INTEGRATION CODING FOR DEVELOPERS

Prepayment and LoanDynamicsTM Model

API Overview

The Andrew Davidson & Co., Inc. Version 5 Interface is intended to provide a standardized programming interface to all of the company's model libraries. Initially, the focus is on the various prepayment models, but the goal is to expend the paradigm to include the products such as Interest Rate Process and OAS analytic libraries as well. The purpose is four-fold; First, the existing C interface changes each time a new feature is added to a model, or statistical analysis suggests a new input parameter. Second, each model had it's own API, requiring custom programming by analytics vendors to get access to each new type of model. Next, as each model was individually developed, inconsistent definitions of similar parameters have been used, leading to confusion among developers and users. Finally, the old API depended on a large batch of global variables to maintain the state of the model between various function calls. This made the model explicitly single threaded in nature. Only one instance of each type of model could be manipulated at a time.

The new interface is standardized and extensible. New models can be added, and new parameters added to existing models without recompilation by the analytics developer. Parameters that are shared between different models share definition, encouraging standardization across models. Multiple instances of each model can coexist without interference.

To provide the required polymorphism between what are in reality vastly different models sharing a standard interface, C++ was chosen as the development platform. Abstract (non-instanciable) class definitions are provided in the adppmdlapi.h header file. The adppmdlxtern.h header file contains declarations of useful constants, and the adco_CreateSystem() and adco_DestroySystem() global functions.

A model system class provides access to global parameters and methods for creating and managing model class instances. A the adco_CreateSystem and adco_DestroySystem functions should be used to create a single instance of the CAdcoSys class at startup, and destroy it when analysis is complete. Interaction with both the System Object and the models is via lists and params. Errors are indicated by throwing instances of the adco_cError class.




65 Bleecker St., Fifth Floor New York NY 10012   tel 212.274.9075   fax 212.274.0545
© 2012 Andrew Davidson & Co., Inc.