List of Servers and Engines
Download PDF - List of Servers and Engines
Revision |
Published | Summary of Changes |
---|---|---|
1.0 |
February 2024 |
First revision for version 18. |
2.0 |
April 2024 |
Updates for version 18 monthly release - Updated values for "calypso.features.disabled". |
3.0 |
May 2024 |
Updates for version 18 monthly release - Added engine parameter PS_EVENT_MODE. |
4.0 |
June 2024 |
Updates for version 18 monthly release - Updated values for "calypso.features.disabled". |
5.0 |
August 2024 |
Updates for version 18 monthly release - Added engine parameter PROCESS_UPDATED_TRADE and XFER_ORIGINAL_CPTY_PARTIAL. |
6.0 |
December 2024 |
Updates for version 18 monthly release - The engine parameter USE_BOOK_PRICING_ENV is no longer used. It is replaced by engine parameter LIQUIDATION_PRICING_ENV. |
7.0 |
February 2025 |
Updates for version 18 monthly release - Added engine parameter OPTIONAL_FEATURE and ability to disable the corresponding engines. |
This document provides a brief description of all Calypso servers and engines, and where to find detailed information.
It also describes all engine parameters.
Notation Convention
<calypso home>
refers to the directory where the Calypso system has been installed.
Note on Users running Servers and Engines
To prevent the users that run servers and engines from getting locked out, it is recommended to define those users as system users ("Is System" checked in the user group).
1. Optional Features
Disabling Event Persistence
If you are not using a given engine, the events that the engine subscribes to are stored as unconsumed events. You can set environment property calypso.features.disabled to the following values (comma separated) to disable event persistence for the corresponding engine:
• | axoni for axoni Engine |
• | backoffice-matching for MatchableBuilderEngine and MatchingEngineBuilder |
• | bloomberg-sapi for Bloomberg SAPI interface |
• | bloombergfit for Bloomberg FIT interface FIX engine |
• | brokertec for BrokerTec interface FIX engine |
• | collateral-ecms for ECMS engine - Alternatively, you can use the event filter ECMSEngineEventFilter on the ECMS engine |
• | collateral-reconciliation for Collateral Reconciliation Engine |
• | dataexporter for DataExporterServiceEngine |
• | datauploader for DataUploaderServiceEngine |
• | ers-limits for LimitsController Engine |
• | fxall for FXall interface FIX engine |
• | ibmmq for IBMMQ Installation |
• | icelink for ICELinkEngine and ice thirdparty Libs |
• | intex for intexengine |
• | kafka for Kafka Installation |
• | limits-compliance for the CompliancePredeal engine |
• | margin-headroomcheck for CollateralManagementEngine |
• | margin-headroomcheck,margin-simm for MarginController |
• | margin-headroomcheck,margin-simm,datauploader for UpdateManagerEngine |
• | margin-headroomcheck, margin-otc-asx for ASX OTC Margin libraries |
• | margin-headroomcheck, margin-otc-cme for CME OTC Margin libraries |
• | margin-headroomcheck, margin-otc-comder for Comder OTC Margin libraries |
• | margin-headroomcheck, margin-otc-eurex for EUREX OTC Margin libraries |
• | margin-headroomcheck, margin-otc-hkex for HKEX OTC Margin libraries |
• | margin-headroomcheck, margin-otc-lch for LCH OTC Margin libraries |
• | margin-headroomcheck, margin-otc-tse for TSE OTC Margin libraries |
• | middleoffice-marketconformity for marketConformityEngine |
• | markitwire for Markitwire third-party libraries and engine |
• | oracle-jdbc for Oracle JDBC third-party libraries |
• | postgres-jdbc for Postgres installation |
• | secfinance-sftr for sftrEngine |
• | tradeweb for Tradeweb interface FIX engine |
• | treasury-liquidity-position for LiquidityPositionPersistenceEngine |
• | treasury-ftp for FTPEngine |
• | trtn for Refinitiv TRTN interface FIX engine |
Example:
calypso.features.disabled = dataexporter,intex
Unconsumed events are not stored for the DataExporterServiceEngine and the intexengine.
2. Auth Server, Discovery Server, Gateway Server, Event Server, Data Server, Artifact Server
These servers are used to run the system: access permissions, event generation between all servers, database access, web client.
Documentation details: Calypso Installation Guide
3. Analysis Server
Analysis servers are started using <calypso home>\deploy-local\<Environment>\analysisserver1.bat/.sh
, <calypso home>\deploy-local\<Environment>\analysisserver2.bat/.sh
, <calypso home>\deploy-local\<Environment>\analysisserver3.bat/.sh
or from the Calypso DevOps Center.
Analysis servers are used to compute risk reports for the Portfolio Workstation and for Compliance rules.
They subscribe to the following events:
• | PSEventTrade |
• | PSEventDomainChange |
• | PSEventPLPosition |
• | PSEventAggPLPosition |
• | PSEventPosition |
• | PSEventAggPosition |
• | PSEventSettlePosition |
• | PSEventAggSettlePosition |
• | PSEventAMBundle |
• | PSEventOfficialPL |
• | PSEventOrderExecution |
• | PSEventProcessOrder |
• | PSEventOrderBundle |
• | PSEventSACCRIntradayUpdate |
Documentation details: Calypso Portfolio Workstation
4. Calypso Configuration Server
This server is used to retrieve / import configurations between Config Workbench and Calypso Core.
Documentation details: Calypso Config Workbench
5. Calypso Scheduler
The Calypso Scheduler is started using <calypso home>\deploy-local\<Environment>\scheduler.bat/.sh
or from the Calypso DevOps Center.
The Calypso Scheduler allows execution of processes in batch mode based on Scheduled Tasks configurations.
Documentation details: Calypso Scheduled Tasks
6. CDS ISDA Model Server
The CDS ISDA Model server is started using <calypso home>\deploy-local\<Environment>\cdsIsdaModelServer.bat/.sh
or from the Calypso DevOps Center.
The CDS ISDA Model server computes ISDA upfront fees for CDS trades.
Documentation details: Calypso Credit Derivatives
7. Curve Server
The Curve Server is designed to be used exclusively with Front Office Workstation and in support of its pricer workplan components. The pricer workplans in Front Office Workstation rely on the Curve Server's ability to generate and shift curves for pricing market trades and calculating rate delta.
The Curve server is started using <calypso home>\deploy-local\<Environment>\curveServer.bat/.sh
or from the Calypso DevOps Center.
Documentation details: Front Office Workstation
8. Engine Server
The following engines are started as part of an Engine server using <calypso home>\deploy-local\<Environment>\engineServer.bat/.sh
or from the Calypso DevOps Center.
They are configured using the Engine Manager in Web Admin (event subscription and engine parameters), and can also be started from there.
Please refer to Calypso Web Admin documentation for complete details.
All engines (except the Relationship Manager engine) can be used in multi-threading mode by setting the Number of Threads in the engine configuration.
Please refer to Calypso Web Admin documentation for complete details.
8.1 Accounting Engine
(name AccountingEngine, class com.calypso.engine.accounting.AccountingEngine
)
The Accounting engine produces accounting postings.
It publishes posting events (PSEventAccounting) and saves the postings to the database (BOPosting objects). It also publishes task events.
It can subscribe to the following events:
• | PSEventAggLiquidatedPosition |
• | PSEventBalanceReclassification |
• | PSEventFXPositionValuation |
• | PSEventFXRateReset |
• | PSEventHedgeAccountingValuation |
• | PSEventHedgeRelationshipDefinition |
• | PSEventHedgeValuation |
• | PSEventLiquidatedPosition |
• | PSEventPositionReclassification |
• | PSEventPositionValuation |
• | PSEventPriceFixing |
• | PSEventProcessTrade |
• | PSEventProcessTransfer |
• | PSEventRateReset |
• | PSEventPositionTDWAC |
• | PSEventTrade |
• | PSEventTransfer |
• | PSEventUnliquidatedPosition |
• | PSEventValuation |
• | PSEventPositionWAC |
• | PSEventHedgeDesignationRecord |
Documentation details: Calypso Accounting Postings
8.2 Balance Engine
(name BalanceEngine, class com.calypso.engine.balance.BalanceEngine
)
The Balance engine subscribes to accounting events and generates account balances in real-time.
It subscribes to the following events:
• | PSAccountingEvent |
• | PSEventReprocessAccounting |
Documentation details: Calypso Accounting Processes
8.3 Billing Engine
(name BillingEngine, class com.calypso.engine.billing.BillingEngine
)
The Billing engine subscribes to trade events, message events and transfer events to generate invoice fees (billing trades) based on billing grids and fee billing rules:
• | PSEventAccountBilling |
• | PSEventMessage |
• | PSEventTask |
• | PSEventTrade |
• | PSEventTransfer |
Documentation details: Calypso Fees
8.4 Bloomberg Engine
(name BloombergEngine, class com.calypso.engine.bloomberg.BloombergEngine
)
The Bloomberg engine allows importing product data from Bloomberg.
It subscribes to the following events:
• | PSEventBloomberg |
Documentation details: Interface Module – Calypso Bloomberg Integration
8.5 CLS Engine
(name CLSMessageEngine, class com.calypso.engine.CLSMessageEngine
)
The CLSMessageEngine imports CLS messages.
The "config" engine parameter is config = cls.engine.properties
Documentation details: Calypso CLS Integration
8.6 CRE Engine
(name CreEngine, class com.calypso.engine.accounting.CreEngine
)
The CRE engine generates Account Enrichment Events (CREs).
It publishes CRE events (PSEventCre) and saves the CREs to the database (BOCre object). It also publishes task events.
It can subscribe to the following events:
• | PSEventPositionWAC events |
• | PSEventAggLiquidatedPosition |
• | PSEventBalanceReclassification |
• | PSEventFXPositionValuation |
• | PSEventFXRateReset |
• | PSEventHedgeAccountingValuation |
• | PSEventHedgeRelationshipDefinition |
• | PSEventHedgeValuation |
• | PSEventLiquidatedPosition |
• | PSEventPositionReclassification |
• | PSEventPositionValuation |
• | PSEventPriceFixing |
• | PSEventProcessTrade |
• | PSEventProcessTransfer |
• | PSEventRateReset |
• | PSEventPositionTDWAC |
• | PSEventTrade |
• | PSEventTransfer |
• | PSEventUnliquidatedPosition |
• | PSEventValuation |
• | PSEventPositionWAC |
• | PSEventHedgeDesignationRecord |
Documentation details: Calypso Account Enrichment Events (CREs)
8.7 CRE Sender Engine
(name CreSenderEngine, class com.calypso.engine.accounting.CreSenderEngine
)
The CRE Sender engine sends CREs using the CreSenderFormatter interface and updates their status.
Documentation details: Calypso Account Enrichment Events (CREs)
8.8 Data Uploader Engine
(name DataUploaderEngine, class com.calypso.tk.engine.DataUploaderEngine
)
The Data Uploader engine allows launching the File Watcher application to load files manually for the Data Uploader.
The "config" engine parameter is config = datauploader.properties
Documentation details: Calypso Data Uploader Integration
8.9 Diary Engine
(name DiaryEngine, class com.calypso.engine.diary.DiaryEngine
)
The Diary engine generates trade events and trade lifecycle events (new trades, payments, rate resets, terminations, collateral activity, rerate, etc.). These events can be monitored in the Trade Diary report.
It subscribes to the following events:
• | PSEventTrade |
• | PSEventPriceFixing |
• | PSEventProcessTrade |
• | PSEventRateReset |
• | PSEventFXRateReset |
Documentation details: Calypso Trade Diary
8.10 Exchange Feed Bridge Engine
(name ExchangeFeedBridgeEngine, class com.calypso.tk.engine.ExchangeFeedBridgeEngine
)
The Exchange Feed Bridge engine processes CONSENT messages and BRIDGEMSG messages. It transforms BRIDGEMSG messages into Calypso Upload Document objects through the TransformBridge rule.
It generates the GATEWAYMSG messages that trigger the Data Uploader to create trades in Calypso based on the Calypso Upload Document objects.
It subscribes to the following events:
• | PSEventMessage |
Documentation details: Interface Module – Calypso Exchange Feed Integration
8.11 FTP Engine
(name FTPEngine, class com.calypso.engine.ftp.FTPEngine
)
The FTP engine computes Fund Transfer Pricing costs for the Forward Ladder report.
It subscribes to the following events:
• | PSEventTrade |
Documentation details: Liquidity Module – Calypso Liquidity
8.12 Margin Engines
MarginControllerEngine
(name MarginController, class com.calypso.service.limitsOrchestrator.MarginController
)
The Margin Controller engine allows routing the collateral positions changes to the Trade VaR process.
It subscribes to the following events:
• | PSEventHeadroomCheckCollateralUpdate |
• | PSEventHeadroomCheckLimitUpdate |
• | PSEventTrade |
• | PSEventMarginCallEntry |
Documentation details: Calypso Margin Engine
UpdateManagerEngine
(name UpdateManagerEngine, class com.calypso.tk.engine.UpdateManagerEngine
It subscribes to the following events:
• | PSEventMessage |
• | PSEventTrade |
Event filter = UpdateManagerEngineEventFilter
Documentation details: Calypso Margin Engine
8.13 Hedge Enrichment Engines
The Hedge Enrichment engines populate hedge-related enrichment criteria on trades. Trades are associated with hedge relationships based on those criteria.
AccHedgeEnrichmentEngine
AccHedgeEnrichmentEngine populates criteria related to accounting hedges.
(name AccHedgeEnrichmentEngine, class com.calypso.engine.enrichment.EnrichmentEngine
)
It subscribes to the following events:
• | PSEventTrade |
• | PSEventProcessTrade |
The "config" engine parameter is config = Hedge#FairValueHedge#InterestRateRisk
Documentation details: Calypso Hedge Accounting
EcoHedgeEnrichmentEngine
EcoHedgeEnrichmentEngine populates criteria related to economic hedges.
(name EcoHedgeEnrichmentEngine, class com.calypso.engine.enrichment.EnrichmentEngine
)
It subscribes to the following events:
• | PSEventTrade |
• | PSEventProcessTrade |
The "config" engine parameter is config= Hedge#Non-QualifyingHedge#InterestRateRisk
Documentation details: Calypso Hedge Accounting
8.14 Hedge Relationship Manager Engine
(name RelationshipManagerEngine, class com.calypso.engine.hedgeaccounting.RelationshipManagerEngine
)
The Hedge Relationship Manager engine manages the hedge relationship workflow based on hedge effectiveness results.
It subscribes to the following events:
• | PSEventHedgeEffectivenessTest |
• | PSEventHedgeRelationshipDefinition |
• | PSEventTrade |
• | PSEventHedgeDesignationRecord |
• | PSEventLiquidatedPosition |
• | PSEventUnliquidatedPosition |
Documentation details: Calypso Hedge Accounting
8.15 ICELink Engine
(name ICELinkEngine, class com.calypso.tk.engine.ICELinkEngine
)
The ICELink engine allows importing trades from ICELink.
Documentation details: Interface Module – Calypso ICELink Integration
8.16 Import Message Engine
Incoming messages can be imported using the Import Message engine. The Import Message engine is triggered by an IEAdapterListener listening to an IEAdapter. Each time a new message is detected by the adapter, it calls the engine which saves the incoming message in Calypso. An incoming workflow must be specified to handle the incoming messages.
Each integration scheme requires a specific configuration file to be passed as a parameter to the Import Message engine. There are many flavors of the Import Message engine, depending of the type of message being imported.
BBGTradeImportMessageEngine
(name BBGTradeImportMessageEngine, class com.calypso.engine.advice.ImportMessageEngine
)
The BBGTradeImportMessageEngine imports Bloomberg trade messages.
The "config" engine parameter is config = BloombergTrade
Documentation details: Calypso Bloomberg Integration
DSMatchImportMessageEngine
(name DSMatchFXDSMatchImportMessageEngine, class com.calypso.tk.engine.ImportMessageEngine
)
The DSMatchImportMessageEngine imports DSMatch messages. It subscribes to PSEventTrade and PSEventMessage events.
The "config" engine parameter is config = DSMatchFX
Documentation details: Interface Module – Calypso DSMatch Integration
DTCCDSMatchImportMessageEngine, DTCCGTRRatesImportMessageEngine, DTCCGTRCreditImportMessageEngine, DTCCGTRFXImportMessageEngine
These engines are used for importing DTCC messages.
(name DTCCDSMatchImportMessageEngine, class com.calypso.engine.advice.ImportMessageEngine
)
The "config" engine parameter is config = DTCCDSMatch
(name DTCCGTRRatesImportMessageEngine, class com.calypso.engine.advice.ImportMessageEngine
)
The "config" engine parameter is config = DTCCGTRRates
(name DTCCGTRCreditImportMessageEngine, class com.calypso.engine.advice.ImportMessageEngine
)
The "config" engine parameter is config = DTCCGTRCredit
(name DTCCGTRFXImportMessageEngine, class com.calypso.engine.advice.ImportMessageEngine
)
The "config" engine parameter is config = DTCCGTRFX
Documentation details: Calypso DTCC Integration
SwiftImportMessageEngine
(name SwiftImportMessageEngine, class com.calypso.engine.advice.ImportMessageEngine
)
The SwiftImportMessageEngine imports Swift acknowledgments.
The "config" engine parameter is config = Swift
Documentation details: Calypso Message Matching
MXImportMessageEngine
(name MXImportMessageEngine, class com.calypso.engine.advice.ImportMessageEngine
)
The MXImportMessageEngine imports MX messages.
The "config" engine parameter is config = MX
Documentation details: Calypso MX Payment Messages
TraxImportMessageEngine
(name TraxImportMessageEngine, class com.calypso.engine.advice.ImportMessageEngine
)
The TraxImportMessageEngine allows importing Trax messages.
The "config" engine parameter is config = TRAX
Documentation details: Interface module – Calypso TRAX Integration
UploaderImportMessageEngine
(name UploaderImportMessageEngine, class com.calypso.tk.engine.UploadImportMessageEngine
)
The UploaderImportMessageEngine imports messages using the Data Uploader.
The "config" engine parameter is config = Uploader
Documentation details: Interface Module – Calypso Data Uploader Integration
8.17 Intex Engine
(name IntexEngine, class com.calypso.engine.intex.IntexEngine
)
The Intex engine is used to compute forecasted cashflows for ABS bonds using the pricers PricerIntexBondAssetBacked or PricerIntexComplexABS.
Documentation details: Calypso Intex Integration
8.18 Inventory Engine
(name InventoryEngine, class com.calypso.engine.inventory.InventoryEngine
)
Inventory positions are calculated by the Inventory engine based on transfers of cash and securities.
The inventory engine publishes PSEventInventoryCashPosition and PSEventInventorySecurityPosition events.
It subscribes to the following events:
• | PSEventTransfer |
• | PSEventProcessTransfer |
Documentation details: Calypso Cash Management
8.19 LifeCycle Engine
The LifeCycle engine can be used for multiple purposes.
LinkedDDALifeCycleEngine
(name LinkedDDALifeCycleEngine, class com.calypso.engine.lifecycle.LifeCycleEngine
)
When an "external" transfer is linked to a "direct" transfer, actions applied to the "external" transfer can be automatically applied to the "direct" transfer using the LifeCycle engine.
It subscribes to the following events:
• | PSEventTransfer |
The "config" engine parameter is config = LinkedDDA
Documentation details: Calypso Settlements
LifeCycleEventLifeCycleEngine
(name LifeCycleEventLifeCycleEngine, class com.calypso.engine.lifecycle.LifeCycleEngine
)
Lifecycle events for pricing script based products are created by the LifeCycle engine, based on trades, lifecyle trigger rules and lifecycle processor rules.
It subscribes to the following events:
• | PSEventTrade |
• | PSEventLifecycle |
The "config" engine parameter is config = LifeCycleEvent
Documentation details: Calypso Pricing Script Lifecycle
UpdateStatusLifeCycleEngine
(name UpdateStatusLifeCycleEngine, class com.calypso.engine.lifecycle.LifeCycleEngine
)
Update status events for incoming messages generated by the scheduled task UPDATE_STATUS.
It subscribes to the following events:
• | PSEventUpdateStatus |
The "config" engine parameter is config = UpdateStatus
Documentation details: Calypso Messages
8.20 Liquidation Engine
(name LiquidationEngine, class com.calypso.engine.position.LiquidationEngine
)
Positions for position-based products are computed using the Liquidation engine. The Liquidation engine performs liquidations between buy and sell trades, in addition to aggregating trades by book and by product (and additional user-defined criteria as needed). It calculates positions based on Liquidation configurations.
It publishes Liquidated-Position Events and Unliquidated-Position Events.
It subscribes to the following events:
• | PSEventTrade |
• | PSEventProcessTrade |
Documentation details: Calypso Position Management
8.21 Margin Call Engine
(name MarginCallEngine, class com.calypso.engine.inventory.MarginCallEngine
)
The Margin Call engine allows computing margin call positions on security collaterals.
It subscribes to the following events:
• | PSEventTransfer |
Documentation details: Collateral Module – Calypso Collateral Management
8.22 Market Conformity Engine
MarketConformityEngine
(name MarketConformityEngine, class com.calypso.engine.risk.MarketConformityEngine
)
The Market Conformity engine checks trades for conformity against the checks defined in the Market Conformity Configuration window.
It subscribes to the following events:
• | PSEventTrade |
• | PSEventMarketConformity |
Documentation details: Calypso Market Conformity
IntradayMarketDataEngine
(name IntradayMarketDataEngine, class com.calypso.engine.risk.IntradayMarketDataEngine
)
The Intraday Market Data engine allows saving quotes intraday.
Documentation details: Calypso Market Conformity
8.23 Matching Engine
MatchableBuilderEngine
(name MatchableBuilderEngine, class com.calypso.engine.matching.MatchableBuilderEngine
)
If incoming messages are eligible for matching within a Matching Context, the Matchable Builder engine creates a Matchable item containing the matching information necessary for this item to go through the matching process, in particular the Matching Keys.
It subscribes to the following events:
• | PSEventMessage |
• | PSEventProcessMessage |
• | PSEventProcessTrade |
• | PSEventProcessTransfer |
• | PSEventTrade |
• | PSEventTransfer |
Documentation details: Matching Module – Calypso Message Matching
MatchingEngine
(name MatchingEngine, class com.calypso.engine.matching.MatchingEngine
)
The Matching engine subscribes to Matchable items (PSEventMatchable, PSEventDomainChange, PSEventMatchingGroup) and tries to automatically process them, depending on the matching information defined in the associated context. The Matching engine applies the workflow actions associated with the matching context, if any.
Documentation details: Matching Module – Calypso Message Matching
8.24 Matching Export Engine
(name MatchingExportEngine, class com.calypso.matching.engine.MatchingExportEngine
)
The Matching Export engine allows exporting an XML file containing the matching status of matched/unmatched messages.
It subscribes to the following events:
• | PSEventMatching |
Documentation details: Matching Module – Calypso Message Matching
8.25 Message Engine
(name MessageEngine, class com.calypso.engine.advice.MessageEngine
)
The Message engine generates messages based on Message configurations.
It publishes message events (PSEventMessage) and saves the messages to the database (BOMessage objects). It also publishes task events.
It subscribes to the following events:
• | PSEventTrade |
• | PSEventProcessTrade |
• | PSEventTransfer |
• | PSEventRateReset |
• | PSEventFXRateReset |
• | PSEventPriceFixing |
• | PSEventStatement |
• | PSEventCollateralStatement |
• | PSEventBundleStatement |
• | PSEventLifeCycle |
• | PSEventGenericOnObject |
Documentation details: Calypso Messages
8.26 OMGEO CTM Engine
(name OMGEOCTMEngine, class com.calypso.tk.engine.OMGEOCTMEngine
)
The OMGEO CTM engine allows import messages from Omgeo CTM.
It subscribes to the following events:
• | PSEventOMGEOCTM |
Documentation details: Interface Module – Omgeo CTM Integration
8.27 Position Engine
(name PositionEngine, class com.calypso.engine.position.PositionEngine
)
Positions for all products other than position-based products (but including cash positions for position-based products) are computed by the Position engine. The Position engine aggregates trades by book and by product (and additional user-defined criteria as needed).
It calculates positions based on Position configurations.
It subscribes to the following events:
• | PSEventTrade |
• | PSEventPriceFixing |
• | PSEventProcessTrade |
• | PSEventRateReset |
• | PSEventFXRateReset |
• | PSEventAggPLPosition |
• | PSEventPLPosition |
Documentation details: Calypso Position Management
8.28 Reuters DSS Engine
(name ReutersDssEngine, class com.calypso.engine.reutersdss.ReutersDSSEngine
)
The Reuters DSS engine allows importing Reuters data (Data Scope Select).
It subscribes to the following events:
• | PSEventReutersDSS |
Documentation details: Interface Module – Calypso Reuters DSS Integration
8.29 Sender Engine
(name SenderEngine, class com.calypso.engine.advice.SenderEngine
)
The Sender engine sends messages based on Message Sender configurations.
It publishes document events (PSEventAdviceDocument) and saves the documents to the database (if the Save checkbox is checked in the Message Sender Configuration, and if the document does not already exist in the database). It also publishes task events.
It subscribes to the following events:
• | PSEventMessage |
• | PSEventProcessMessage |
Documentation details: Calypso Messages
8.30 SFTR Engine
(name SftrEngine, class com.calypso.engine.sftr.SftrEngine
)
The SFTR engine listens for reportable trade events, and persists data needed for Securities Financing Transaction Regulation (SFTR) reporting. After successfully persisting SFTR data, it publishes a PSEventSftr event.
It subscribes to the following events:
• | PSEventDomainChange |
• | PSEventTrade |
Documentation details: Calypso Security Finance: SFTR
8.31 Swapswire Trade Engine
(name SwapswireTradeEngine, class com.calypso.engine.advice.SwapswireTradeEngine
)
The Swapswire Trade engine allows importing trades from Markitwire.
It subscribes to the following events:
• | PSEventRepublish |
• | PSEventSwapswire |
• | PSEventSwapswireScheduledTask |
Documentation details: Interface Module – Calypso Markitwire Integration
8.32 Task Engine
(name TaskEngine, class com.calypso.engine.task.TaskEngine
)
The Task engine loads all outstanding tasks eligible for automatic processing (executing kick-off and cut-off tasks, promoting task priorities).
Documentation details: Calypso Workflow
8.33 Transfer Engine
(name TransferEngine, class com.calypso.engine.payment.TransferEngine
)
The Transfer engine generates transfers, based on the cashflows of the trades, and the trade transfer rules and their associated settlement and delivery instructions.
It publishes transfer events.
It subscribes to the following events:
• | PSEventTrade |
• | PSEventProcessTrade |
• | PSEventPriceFixing |
• | PSEventRateReset |
• | PSEventFXRateReset |
• | PSEventLiquidatedPosition |
• | PSEventUnliquidatedPosition |
• | PSEventAggLiquidatedPosition |
Documentation details: Calypso Settlements
9. Dispatcher and Calculators
These servers are used for distributed processing.
Documentation details: Calypso Installation Guide
10. ERS Compliance Server
The ERS Compliance Server hosts the web services for Limits & Compliance.
Documentation details: Calypso Limits & Compliance
11. ERS Risk Server
The ERS Risk Server allows running the RiskEngineBroker to compute Market Risk analyses.
(name RiskEngineBroker, class com.calypso.engine.risk.RiskEngineBroker
)
The Risk Engine Broker is started as part of the ERS Risk server using <calypso home>\deploy-local\<Environment>\ersRiskServer.bat/.sh
or from the Calypso DevOps Center.
It is configured using the Engine Manager in Web Admin (event subscription and engine parameters).
Please refer to Calypso Web Admin documentation for complete details.
It subscribes to the following events:
• | PSEventRiskRequest |
Documentation details: Calypso Market Risk
12. ePortal Server
The ePortal server is started using <calypso home>\deploy-local\<Environment>\eportal.bat/.sh
or from the Calypso DevOps Center.
The eportal server transmits information between the Calypso system and the ePortals Web UI.
Documentation details: Calypso ePortals
13. In-Memory Risk Server
In-memory risk servers are used to compute Live P&L reports for the Front Office Workstation.
Documentation details: Calypso Front Office Workstation Setup
14. Liquidity Server
The Liquidity Server allows running the LiquidityPositionPersistenceEngine.
(name LiquidityPositionPersistenceEngine, class com.calypso.tk.liquidity.positionkeeping.processing.engine.LiquidityPositionPersistenceEngine
)
The Liquidity Position Persistence engine is started as part of the Liquidity server using <calypso home>\deploy-local\<Environment>\liquidityServer.bat/.sh
or from the Calypso DevOps Center.
It is configured using the Engine Manager in Web Admin (event subscription and engine parameters).
Please refer to Calypso Web Admin documentation for complete details.
The Liquidity Position Persistence engine computes context positions for the Liquidity module.
It subscribes to the following events:
• | PSEventTrade |
• | PSEventTransfer |
• | PSEventMessage |
• | PSEventProcessTrade |
• | PSEventProcessTransfer |
• | PSEventProcessMessage |
• | PSEventRateReset |
• | PSEventPriceFixing |
• | PSEventInventoryCashPosition |
• | PSEventInventorySecPosition |
Documentation details: Liquidity Module – Calypso Liquidity
15. Messaging Server
The Messaging Server is used as a central broker for all Active MQ activity for a number of servers.
Documentation details: Calypso Installation Guide
16. Position Keeping Server
The Position Keeping Server allows running the PositionKeepingPersistenceEngine.
(name PositionKeepingPersistenceEngine, class com.calypso.tk.positionkeeping.processing.engine.PositionKeepingPersistenceEngine
)
The Position Keeping Persistence engine is started as part of the Position Keeping server using <calypso home>\deploy-local\<Environment>\positionKeepingServer.bat/.sh
or from the Calypso DevOps Center.
It is configured using the Engine Manager in Web Admin (event subscription and engine parameters).
Please refer to Calypso Web Admin documentation for complete details.
It allows saving trades captured in the FX Deal Station, and routing trades to the proper position based on Position Keeping configurations.
It subscribes to the following events:
• | PSEventTrade |
Documentation details: Calypso FX Deal Station
17. Rate Engine Server
The Rate Engine server brings in market quotes (rates), either from a single or multiple sources, and based on pre-defined rules, blends various rates to produce a single output.
The Rate Engine server is started using <calypso home>\deploy-local\<Environment>\rateengineServer.bat\.sh
or from the Calypso DevOps Center.
Documentation details: Blended Rate Engine
18. Risk Server
The following servers are started as part of the Risk server using <calypso home>\deploy-local\<Environment>\riskServer.bat/.sh
or from the Calypso DevOps Center.
The Risk server is a combination of a Calculation server, a Presentation server and a Market Data server.
18.1 Calculation Server
The Calculation server computes risk results.
Documentation details: Calypso Installation Guide
18.2 Presentation Server
The Presentation server processes risk results to display subsets of results to the users based on their preferences.
Documentation details: Calypso Installation Guide
18.3 Market Data Server
The Market Data server retrieves real-time market data from feed sources and distributes the market data throughout the system.
Documentation details: Calypso Market Data Server
19. Shared Services
This server is used to access the Calypso Web UIs and REST APIs.
Documentation details: Calypso Installation Guide
20. Times Series Server
This server is used to save PMA analysis daily results to the Buy Side Data Warehouse database.
Documentation details: Calypso Portfolio Workstation in Asset Management
21. Calypso Positions
Position Name Engine Name |
Description |
Key Database Tables |
Key Scheduled Tasks |
||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product Position Liquidation engine |
Positions for position-based products are computed using the Liquidation engine. The Liquidation engine performs liquidations between buy and sell trades, in addition to aggregating trades by book and by product (and additional user-defined criteria as needed). It calculates positions based on Liquidation configurations. It publishes Liquidated-Position Events and Unliquidated-Position Events. It subscribes to the following events:
Supported Products Position-based products: Bonds, Equities, Futures, Future Options, ETOs. Usage All reports that require trade filters by position specification: Official P&L, Forward Ladder, etc. "Processing Org" corporate actions.
|
liq_position pl_position pl_position_snap trade_open_qty trade_openqty_snap |
ARCHIVE_POSITION BATCH_LIQUIDATION CHECK_LIQUIDATION CHECK_POSITIONS LIQUIDATION_SNAPSHOT |
||||||||||||||||||||||||||||||
OTC Product Position Cash Position Position engine |
Positions for all products other than position-based products (but including cash positions for position-based products) are computed by the Position engine. The Position engine aggregates trades by book and by product (and additional user-defined criteria as needed). It calculates positions based on Position configurations. It subscribes to the following events:
Supported Products Product Position: Products other than position-based products. Cash Position: All products. Usage Product Position: All reports that require trade filters by position specification: Official P&L, Forward Ladder, etc. Cash Position: Used by the Forward Ladder.
|
position position_snapshot |
CREATE_POSITION_SNAPSHOT REBUILD_POSITIONS |
||||||||||||||||||||||||||||||
FX Position Position Keeping Persistence engine |
It allows saving trades captured in the FX Deal Station, and routing trades to the proper position based on Position Keeping configurations. It subscribes to the following events:
Supported Products FX products captured in the FX Deal Station. Usage High availability FX Position Monitor and trade routing. Product Position: All reports that require trade filters by position specification: Official P&L, Forward Ladder, etc.
|
dead_letter_messages position position_snapshot |
REBUILD_POSITIONS_TXN_ENGINE POSITION_ROUTING POSITION_ROUTING_EOD CREATE_FX_POS_MON_MARKS |
||||||||||||||||||||||||||||||
Inventory Position Inventory engine |
Inventory positions are calculated by the Inventory engine based on transfers of cash and securities. The inventory engine publishes PSEventInventoryCashPosition and PSEventInventorySecurityPosition events. It subscribes to the following events:
Usage Cash management, collateral management, "Agent" and "Claim" corporate actions.
|
inv_cash_balance inv_cash_movement inv_sec_balance inv_sec_movement product_pos_inventory |
INVENTORY_SNAPSHOT RECON_INVPOSITIONS RECON_INV_PL_POSITIONS |
||||||||||||||||||||||||||||||
Margin Call Position Margin Call engine |
Margin call positions are calculated by the Margin Call engine based on security collateral transfers. It subscribes to the following events:
Usage Collateral management.
|
margin_call_positions pending_margin_call_positions |
COLLATERAL_MANAGEMENT |
||||||||||||||||||||||||||||||
Context Position Liquidity Position Persistence engine |
Context positions are generated by the Liquidity Position Persistence engine, which is listening to different objects and events. Context positions combine information from the following sources: Calypso trades, Calypso transfers, SWIFT messages (e.g. MT910), External Movements and Banking Flow trades. It subscribes to the following events:
Usage Forward Ladder. The forward ladder combines multiple types of positions depending on which objectives you want to monitor.
|
dead_letter_messages position position_snapshot |
REINITIALIZE_CONTEXT_POSITIONS |