How can I automatically generate my configuration recipe?

This article introduces the API endpoint to generate configuration recipes given a scope and portfolio

Recipes are the Finbourne rulesets for directing analytics within the platform. Given a portfolio of instrument holdings, the valuation engine uses the specified configuration recipe to instruct it in gathering the appropriate market data per instrument and applying the chosen model with desired parameter settings. Recipes also operate with fallback rules and can be layered or combined to govern data prioritisation at runtime.

With the wide range of instruments, market data sources and models that Finbourne supports, configuration recipes can quickly grow lengthy and complex. 

To ease the process of constructing recipes, Finbourne offers the Generate Configuration Recipe endpoint for the automatic generation of operational recipes based on the instrument set you wish to evaluate and a set of market data locations that you wish to parse for potentially useful market data; if valid, the generator incorporates the market data via key rules and supplements these onto the basic recipe supplied.

The generate function takes in the scope and code of the instrument set you wish to analyse - which can of course be multiple instruments - and a createRecipeRequest; this latter consists of a recipeCreationMarketDataScopes list, which contains the list of market data scopes, a simple starter recipe and the effectiveDate and asAt date for the analysis. The generator is able to build upon the simple recipe (and its pricing rules) to construct appropriate market data key rules to value the instrument set.

This is a useful tool for initial recipe construction, extending the recipe if the instrument set is expanded or altering a recipe to reflect a new market data location.

Subsequent iterations of this endpoint will remove the need to supply a starter recipe and introduce the ability to configure the search process (e.g to limit per-instrument suggestions, to prioritise locations or types of data).