ores.marketdata.core
Table of Contents
2. Summary
ores.marketdata.core manages market data for ORE Studio: time series of
market observations (prices, rates, fixings), series metadata, and import from
external sources. It exposes NATS handlers for querying and importing market
data, and provides the data used by ores.reporting.core when constructing
ORE market data files for risk runs.
3. Inputs
- NATS request messages for market series, observation, and fixing queries.
- External market data imported via
import_service(CSV, API feeds). - PostgreSQL connections to
ores_marketdata_*tables.
4. Outputs
- Market series, observation, and fixing records persisted to the
ores_marketdataschema. - NATS response messages returned to callers.
5. Entry points
include/ores.marketdata.core/messaging/registrar.hpp— registers handlers.include/ores.marketdata.core/service/— series, observation, fixing, import services.
6. Dependencies
ores.marketdata.api— shared domain types and NATS protocol schemas.ores.dq,ores.iam.core,soci,nats.c.
7. Build dependencies
What the shared profile cannot know, declared here rather than hand-edited into the generated build file. Each block is spliced into its generated file after the profile's baseline.
8. See also
- ores.marketdata.api — protocol types and domain entities.
- ores.marketdata.service — NATS service entrypoint.
find_package(magic_enum CONFIG REQUIRED)
target_link_libraries(${lib_target_name}
PUBLIC
ores.marketdata.api.lib
ores.ore.core.lib
PRIVATE
ores.dq.api.lib
ores.history.core.lib
ores.refdata.api.lib
ores.refdata.core.lib
ores.service.lib
ores.storage.core.lib
ores.nats.lib
ores.database.lib
ores.utility.lib
ores.security.lib
faker-cxx::faker-cxx
magic_enum::magic_enum
Boost::boost)
target_link_libraries(${tests_target_name}
PRIVATE
${lib_target_name}
ores.utility.lib
ores.testing.lib
ores.logging.lib
ores.eventing.api.lib
ores.eventing.core.lib
ores.refdata.api.lib
ores.refdata.core.lib
ores.iam.api.lib
ores.iam.core.lib
ores.inbox.api.lib
ores.inbox.core.lib
ores.nats.lib
ores.service.lib
ores.security.lib
ores.storage.core.lib
Catch2::Catch2
faker-cxx::faker-cxx
ores.openssl_cleanup
Threads::Threads)
# This suite carries the whole-corpus import walk. It writes every market
# payload under external/ore/examples, which takes several minutes and keeps
# the database busy throughout. It runs alone, because beside another suite it
# slows that suite's database reads enough to expose a race of its own. It
# needs a budget well above the default, which the walk has outgrown. The
# properties are set at the end of the directory, once the test exists.
cmake_language(DEFER CALL set_tests_properties ${tests_target_name}
PROPERTIES RUN_SERIAL TRUE TIMEOUT 3600)
