The way it works is that you specify the results you want in a ViewDefinition configuration object. This is configured via the ‘configurations’ tab on the web UI. In 0.8.0 they’re set up using text files, and are pretty hard to get correct. In 0.9.0 (and the current build on GitHub), there is a nice UI to allow you to add and remove columns from the web views.
It can still be a bit tricky to specify all the necessary properties (aka constraints) on each value (e.g. for the column ‘Yield Curve Node Sensitivities’ you need to specify Currency=USD, Curve=SINGLE, CurveCurrency=USD, etc), but we’ll be improving the documentation and probably adding ‘hints’ to the UI over time about what properties you need to add for each type of value.
The latest build also supports dynamically changing the definition and seeing the layout change instantly, which makes it much easier to play with the configuration until you get it correct.
Once you run start a view from the analytics tab, the system then works out how to calculate the values you’ve asked for from our library of engine functions. These then ask for more inputs, and these are resolved by more function until we’ve built a ‘graph’ of functions necessary to calculate the end results. The ‘leaves’ of that graph are the input data required to produce the results.
To allow people to see the engine running, we’ve added a couple of example portfolios and example views that can be installed by going into the OG-Examples project and running (once you’ve done the download/ant init/ant publish-all-local etc specified in the documentation):
which creates a new blank HSQL database and then
which creates the securities, positions and view definitions necessary to run the example views. You can then run
and point your browser at http://localhost:8080 to see the UI. In the Analytics view list you will now see some examples.
Further down the road, we’ll be adding functionality to modify views straight into the analytics view so you can just say ‘add column’. The list of available values varies by asset class, but an exhaustive list can be found in ValueRequirementNames.java. Note that inserting many of them won’t work with the example views because they will require data we haven’t added to the example data set.
I hope that helps.