Startup properties
The Atoti FRTB uses Spring Boot to manage some configuration properties. Typically these are properties that may change between environments and deployments, for example, development, CI, QA/UAT, and production.
The properties are spread over several files, they are located in the folder frtb-starter/src/main/resources, and loaded from the classpath:
- application.yaml
- application.properties
- frtb-cloud.properties
- jwt.properties
- frtb-config.properties
While application.yaml and application.properties are automatically included as part of Spring Boot, the other files are specified using the @PropertySource
annotation.
See frtb-config.properties for the list of properties defined in that file.
note
For details on the external configuration in Spring Boot, including how properties may be changed for different environments, see the Spring Boot documentation.
Web Server
Key | Value | Description | Default Definition in File |
---|---|---|---|
server.port | 8080 | The port used for the application external services. | application.yaml |
server.resources.documentation | null |
The optional resource location of the offline documentation. For example, “classpath:/static/documentation/”. Since 5.3.2 |
none |
server.servlet.context-path | “/frtb-starter” | The context path of the application. | application.yaml |
server.servlet.session.cookie.name | “FRTB_JSESSIONID” | Customize cookie name | application.yaml |
server.servlet.session.cookie.secure | “true” | Whether to always mark the cookie as secure | application.yaml |
server.servlet.session.cookie.http-only | “true” | Whether to use “HttpOnly” attribute for the cookie | application.yaml |
server.servlet.session.cookie.same-site | “none” | SameSite setting for the cookie | application.yaml |
Deployment
Key | Value | Description | Default Definition in File |
---|---|---|---|
starter.deployment.type | “in-memory” | The nature of the database used for the cube. It can take three values:
|
application.yaml |
starter.deployment.transport | “local” | The messenger to use for communication between cubes. It can take three values:
|
application.yaml |
Datastore partitioning
Key | Value | Description | Default Definition in File |
---|---|---|---|
partitioning.TradeId | 8 | Datastore partitioning configuration option. Sets the number of partitions to use based on the hash value of the Trade Id. | application.properties |
partitioning.AsOfDate | true | Datastore partitioning configuration option. Enables and disables partitioning based on the AsOfDate. | application.properties |
Config files
Key | Value | Description | Default Definition in File |
---|---|---|---|
measure.descriptions | measure-descriptions.json | The configuration file containing measure descriptions. | application.properties |
drillIn.data | drillInConfig.json | The configuration file containing drill-in data. | application.properties |
logging.config | classpath:logback-stdout.xml | Location of the logging configuration file. | application.yaml |
CSV loading
Key | Value | Description | Default Definition in File |
---|---|---|---|
csv-source.parserThreads | 16 | The number of threads used to parse the files. | application.properties |
csv-source.bufferSize | 1024 | Sets the size of a byte buffer, in kilobytes. | application.properties |
csv-source.type | local | Sets source from where the data should be loaded. | application.properties |
FX rates service
Key | Value | Description | Default Definition in File |
---|---|---|---|
fx-rates.common-currency | EUR | Sets the currency to use for indirect FX rate look-ups (e.g AUD/SGD as AUD/EUR * EUR/SGD) | application.properties |
Content server
tip
For details on the Content Server in Atoti Server, see Content Server.
Key | Value | Description | Default Definition in File |
---|---|---|---|
contentServer.security.calculatedMemberRole | ROLE_USER | The role users must have to create calculated members in the content server. | application.properties |
contentServer.security.kpiRole | ROLE_USER | The role users must have to create KPIs in the content server. | application.properties |
contentServer.security.cache.entitlementsTTL | 3600 | The time to live (in seconds or duration string) of the entitlement cache. | application.properties |
contentServer.remote | false | Specifies whether FRTB should use the remote or the local configuration. true uses the remote configuration, while false uses the local configuration. |
application.properties |
contentServer.remote.api.uri | localhost:9091/ | The URI of the content server used by RemoteContentServiceConfig. | application.properties |
contentServer.factory-reset | false | Resets the contents of the content server to those provided in the Atoti FRTB release. Valid values are false , true , file , folder (case-agnostic). true defaults to the file-based implementation.note Development only. Turn this off in production. |
application.properties |
contentServer.factory-reset.filename | frtb-content-server.json | The filename of the release version of the content server contents. | application.properties |
contentServer.factory-reset.folder-name | bookmarks | The folder containing the release version of the content server contents. | application.properties |
contentServer.bookmarks.default-owners | ROLE_ADMIN | The default owners for any bookmark. | application.properties |
contentServer.bookmarks.default-readers | ROLE_USER | The default readers for any bookmark. | application.properties |
contentServer.root.user | pivot | The root user of the content server, used by RemoteContentServiceConfig . |
application.properties |
contentServer.remote.max-connection-time | PT5M | The max time to wait for Remote Content Service (in seconds or duration string), used by RemoteContentServiceConfig . |
application.properties |
FRTB parameter retriever selection
Key | Value | Description | Default Definition in File |
---|---|---|---|
parameter.retriever | This property is not in use. | application.properties |
Maturity converter
Key | Value | Description | Default Definition in File |
---|---|---|---|
maturity-converter.sa.sbm | legacy | Maturity Converter to be used for SBM calculations. Currently available values are “legacy” and “simple”. | application.properties |
maturity-converter.drc | simple | Maturity Converter to be used for DRC calculations. Currently available values are “legacy” and “simple”. | application.properties |
maturity-converter.day-count | A/365 | The default day count convention to use with the “simple” maturity converter. Currently available values are: - A/360 - A/365F - A/365 note This option is ignored by the legacy maturity converter. |
application.properties |
Discovery requests
Key | Value | Description | Default Definition in File |
---|---|---|---|
activeviam.distribution.maxPendingDiscoveries | 5 | The number of outstanding discovery requests in the query node. For a smooth startup, set this to the number of data cubes across all instances. | application.properties |
Data Load Controller
Key | Value | Description | Default Definition in File |
---|---|---|---|
dlc.enabled | true | Enables or disables the use of the Data Load Controller. | application.yaml |
dlc.audit-logging.enabled | false | Enable or disable additional logging of DLC. | application.properties |
csv-source.dataset | sample-data/data | Path to the directory containing the files to load. | application.properties |
csv-source.dataset-historical | ${csv-source.dataset}/historical | Path to the directory containing historical files to load. | application.properties |
csv-source.dataset-configuration | sample-data/configuration | Path to the directory containing the configuration files to load. | application.properties |
crif-reporting-currency | USD | The reporting currency used for FX sensitivities loaded from CRIF files. | application.properties |
auto-cleanup.upon.summary.data | true | When loading data into a cube, the presence of summary data for an AsOfDate automatically erases the corresponding full dataset. | application.properties |
optionality-service.auto-run | “none” | The Optionality Service can automatically set the “optionality” flag on the delta sensitivities, by matching them with curvature sensitivities during the ETL. It can be run explicitly as a topic through the DLC, or automatically after loading sensitivities for “delta”, “curvature”, “crif”, “all”, or “none”. | application.yaml |
Data Extraction Engine
Required properties
Key | Value | Description | Default Definition in File |
---|---|---|---|
data.extraction.service.base.dir.path | ./ | Path to the folder in which the files will be generated for regular extractions. | application.properties |
data.extraction.service.http.base.url | http://localhost:8080 | URL mount point to access the folder as a Web File Server for regular extractions. | application.properties |
enhanced.drillthrough.base.dir.path | ./src/main/resources/DEEDrillthroughs | Path to the folder in which the files will be generated for the Enhanced Drillthrough extractions. | application.properties |
enhanced.drillthrough.http.base.url | http://localhost:8080 | URL mount point to access the folder as a Web File Server for the Enhanced Drillthrough extractions. | application.properties |
Additional properties
Key | Value | Description | Default Definition in File |
---|---|---|---|
data.extraction.templates.base.dir.path | frtb-application/src/main/resources/DEETemplateOrders | Path to the folder holding the JSON order template files. | application.properties |
data.extraction.service.with.user.folders | false | Include the user name in the folder path generated. For example: /Output/User1/extraction.csv |
application.properties |
parameter-set.root | Root parameter set. Defaults to “BCBS” |
Feature selection properties
Key | Value | Description | Default Definition in File |
---|---|---|---|
ima.disable | false |
Set to true to disable IMA cubes:InternalModelApproachCube, IMADRCCube, PLCube & StressedCalibrationCube. |
application.properties |
ima.es.disable | false |
Set to true to disable IMA ES cubes:InternalModelApproachCube. |
application.properties |
ima.drc.disable | false |
Set to true to disable IMA DRC cubes:IMADRCCube |
application.properties |
ima.plat-backtesting.disable | false |
Set to true to disable IMA PLAT & Backtesting cubes:PLCube |
application.properties |
ima.stress-calibration.disable | false |
Set to true to disable StressedCalibrationCube. |
application.properties |
combined.disable | false |
Set to true to disable FRTBCombinedCube. |
application.properties |
springdoc.swagger.enabled | false |
Enables Swagger UI. | application.yaml |
springdoc.swagger.path | Path to Swagger UI. | application.yaml | |
categories-hierarchy.enabled | false |
Enables the Categories hierarchy. |
Spring boot actuator properties
Key | Value | Description | Default Definition in File |
---|---|---|---|
management.endpoints.web.exposure.include | “health” | The endpoint IDs to include. | application.yaml |
management.endpoints.web.exposure.exclude | “env,beans” | The endpoint IDs to exclude. | application.yaml |
management.endpoint.env.additional-keys-to-sanitize | “activeviam.jwt.key.*” | Values to sanitize in the env endpoint (if enabled) | application.yaml |
User Detail Service Properties
Key | Value | Description | Default Definition in File |
---|---|---|---|
user-detail-filename | Specify the csv file for describing userDetailService. If the property is not set, use hardcoded user details. If property is set, load from file. | application.properties |
Sign-Off
Key | Value | Description | Default Definition in File |
---|---|---|---|
signoff.extraction.templates | DEFAULT:CubeAdjustmentExport;StandardisedApproachCube:CrifExtraction;InternalModelApproachCube:IMACubeExport;InternalModelApproachCube | ES (Basic):IMACubeExportESBasic;PLCube:PLCubeExport;IMADRCCube:IMADRCCubeExport | Extraction templates used for signoff. Format : cubeName1:templateName11,templateName12;cubeName2:templateName21 and optionally: cubeName1 |
generated.files.base.dir.path | ${java.io.tmpdir} | The base directory path where all the generated files will be generated. This property is needed by the Download service. | application.properties |
asofdate.level | AsOfDate@Date@Dates | The level containing the AsOfDates, used by the Sign-Off service for filtering. | application.properties |
What-If Engine
Key | Value | Description | Default Definition in File |
---|---|---|---|
what-if.db.* |
what-if.db: |
The properties used to define the hibernate JDBC database for persisting the what-if engine simulation statuses. See the hibernate documentation for details on individual properties. |
application.yaml |
What-If File Upload
Key | Value | Description | Default Definition in File |
---|---|---|---|
file-upload.staging-directory | ${csv-source.dataset}/stage | The staging directory for the File Upload. | application.properties |
file-upload.csv-source-subdirectory | what-if | The sub-directory of files on which the What-If is executed. | application.properties |
Cloud Storage properties
Key | Value | Description | Default Definition in File |
---|---|---|---|
cloudSource.dataset | “data” | Path to the Cloud directory containing the files to load. | frtb-cloud.properties |
cloud.fetch.thread | 12 | Maximum number of threads that will download in parallel. | frtb-cloud.properties |
aws.bucket | Bucket of the directory (access point alias). | frtb-cloud.properties | |
aws.region | Region to be used by the client. | frtb-cloud.properties | |
aws.accessKeyId | Access key ID. | frtb-cloud.properties | |
aws.secretKey | Secret access key. | frtb-cloud.properties | |
azure.container | Container name. | frtb-cloud.properties | |
azure.connection.string | Connection string of the storage account. | frtb-cloud.properties |
JWT properties
Key | Value | Description | Default Definition in File |
---|---|---|---|
activeviam.jwt.key.public | * | RSA public key (Base64 encoding) | jwt.properties |
activeviam.jwt.key.private | * | RSA private key (Base64 encoding) | jwt.properties |
activeviam.jwt.expiration | 12h | Lifetime of JWT token in as a Duration object. |
jwt.properties |
Distribution properties
Key | Value | Description | Default Definition in File |
---|---|---|---|
activeviam.distribution.gossip.router.enable | Enable TCP GOSSIP router (query node) | none | |
activeviam.distribution.gossip.router.port | TCP GOSSIP router port (query node) | none | |
activeviam.distribution.endpoint.protocol | “http” | Protocol to use when connecting to the server’s REST endpoints. Defaults to “http”. Since 5.1.4 |
application.yaml |
activeviam.distribution.endpoint.host | Host name to use when connecting to the server’s REST endpoints. Defaults to server’s IP address Since 5.1.4 |
||
activeviam.distribution.endpoint.port | ${server.port} |
Port to use when connecting to the server’s REST endpoints. Must match server.port |
application.yaml |
activeviam.distribution.endpoint.suffix | “frtb-starter” | Servlet context path for connecting to the server’s REST endpoints. Must be compatible with the path in server.servlet.context-path . |
application.yaml |
DirectQuery
DirectQuery’s startup properties can be found in the dedicated DirectQuery Configuration Properties page.
Summing Duplicate Sensitivities
Key | Value | Description |
---|---|---|
datastore-sum-duplicates.store-name.matching | List of names of fields that must match when summing duplicates for the store store-name. Errors are logged when fields in this set do not match. If missing, all fields are matched; if empty, no fields are matched. |
|
datastore-sum-duplicates.store-name.summing | List of names of fields that should be summed when there are duplicates for the store store-name. |
For example, the following will sum sensitivities and PVs for the SASensitivities
store, making sure that the currency and a few other fields are the same.
datastore-sum-duplicates:
SASensitivities:
matching: ["Ccy", "RiskWeight", "FXOtherCcy", "PVApplied", "Direction"]
summing: ["Sensitivity", "Shift_Up_PV", "Shift_Down_PV", "PresentValue", "Notional", "Adjustment"]
Tracing
Key | Value | Description | Default Definition in File |
---|---|---|---|
tracing.enabled | true | Enable OpenTelemetry Configuration | application.properties |
open-telemetry.zipkin-span-exporter.url | URL to use for zipkin SpanProcessor bean | application.properties | |
open-telemetry.logging-span-exporter.enabled | Enable SpanProcessor bean with LoggingSpanExporter | application.properties |