Engine
Engine copied to clipboard
User guide inconsistencies
Hi, I wanted to lift an issue on the user guide to collect and track documentation faults, inconsistencies, and other requested bits. Some of these I hope to fix and submit PRs for myself, while for others I believe it is in our best interest if I leave them to you, the maintainers.
Below, I'll create a checklist of apparent issues in the user guide:
- [x] Equity curve config is missing documentation of the NoDividends type. This will let users avoid having to create a zero dividend quote to avoid errors.
- [x] Equity curve config is missing documentation of the DividendInterpolation item and its default values.
- [x] Equity curve config is missing documentation the Extrapolation tag.
- [ ] Chapter 11 Fixings History is missing specific coverage of allowed bond, commodity, and equity indices, other than what is mentioned briefly in other sections.
- [x] Table 58 (Chap. 11: Zero inflation indices) is missing the values SECPI, DKCPI, and CACPI.
- [ ] Various places in the guide list the incomplete set of ZC inflation indices without a table reference. Perhaps this should be kept to one exclusive table (such as Table 58) for maintainability. Examples of these lists are found on p. 238, 239 x2, and 240.
- [x] Some user guide listings fail on case-sensitivity that is applied by default in RapidXML. An example of this is in Listing 10, Section 7.2.2 Index Curves, that incorrectly uses "Name" rather than "name" in:
<Index Name="EUR-EONIA">Yield/EUR/EUR1D</Index>
This would then throw an error message that is rather obscure to debug. In this specific example, theparseIborIndex(str s)
tried looking for an empty string as it had not been read previously.
I hope that lifting and adding these items will be helpful for others. Feel free to chime in on other points as well.
Update: Four items ticked off with the merge of #71.
Hi Fredrik, can we close the issue with the latest merges?
Nearly, I think. Improvements could still be made to fixingdata.text as there are no mentions of commodity or equity fixings, despite their support (and usage) in the code. Would you agree?
Concerning the parameter documentation for the analyses, I'd like to chime in and mention that especially for the simulation analysis, the parameters seem to be quite out of time (I took a sample ore.xml from example 56 and merged it with the doc):
<Analytic type="simulation">
<Parameter name="active">Y</Parameter>
<Parameter name="amc">Y</Parameter> -> not documented
<Parameter name="amcCg">Y</Parameter> -> not documented
<Parameter name="xvaCgSensitivityConfigFile">xvasensiconfig.xml</Parameter> -> not documented
<Parameter name="amcTradeTypes">Swap</Parameter> -> not documented
<Parameter name="simulationConfigFile">simulation.xml</Parameter>
<Parameter name="pricingEnginesFile">pricingengine.xml</Parameter>
<Parameter name="amcPricingEnginesFile">pricingengine_amc.xml</Parameter> -> not documented
<Parameter name="storeFlows">Y</Parameter>
<Parameter name="storeSurvivalProbabilities">Y</Parameter>
<Parameter name="baseCurrency">EUR</Parameter>
<Parameter name="storeScenarios">N</Parameter> -> documented, but seems to be nonfunctional
<Parameter name="cubeFile">cube.csv.gz</Parameter>
<Parameter name="nettingSetCubeFile">nettingSetCube_A.csv.gz</Parameter> -> documented, but seems to have moved into xva
<Parameter name="cptyCubeFile">cptyCube_A.csv.gz</Parameter> -> documented, but seems to have moved into xva
<Parameter name="aggregationScenarioDataFileName">scenariodata.csv.gz</Parameter> -> documented, but seems to be nonfunctional
<Parameter name="aggregationScenarioDataDump">scenariodata.csv</Parameter> -> documented, but seems to be nonfunctional
</Analytic>
Additionally there are a few undocumented parameters in the code (I don't know if all of them should be public):
tmp = params_->get("simulation", "salvageCorrelationMatrix", false);
tmp = params_->get("simulation", "observationModel", false);
tmp = params_->get("simulation", "storeCreditStateNPVs", false);
tmp = params_->get("simulation", "nettingSetId", false);
tmp = params_->get("simulation", "scenariodump", false); // might be storeScenarios ?
I guess most of this is due to the extensive refactoring that happened in the last 2 (or more) versions.
I've added the above changes to #204 , however there is a lot more to be done for the xva section...