Cephei Modelling

Creating High-Level models from building blocks

Posted by steve on January 18, 2021

Cephei is a low-code solution for financial modelling, from prototyping through to real-time pricing and risk. Traders and Developers can work on the same models because parallel calculation eliminates performance issues of a flexible framework.

Event driven approach

Today the most successful businesses are event driven to respond to customer needs, just-in-time provision of services or agile change. This is not always reflected in application services; as we move to cloud services, systems need to change to meet the current and future challenges of business.

The Cephei approach is to model services as components that respond to (market) events and raise events automatically as calculated cells change – much like a spreadsheet but on a desktop, server or cloud.

Cephei models are constructed as building blocks that hide cells that are only used internally. Models can be assembled from other models as parts, building high-level models that represent the business domain.

Cephei addin

The Cephei Excel addin enables Excel to be used to build models, and test them with live data from internal sources and market data from Bloomberg or Reuters.

Cephei is not a conventional Excel addin (that relies on VBA macros to prevent Excel from hanging during modelling). It has its own parallel calculation that updates Excel in the background.

Cephei provides 15,000 Finance functions from Quantlib, but can be re-built using domain specific libraries. The addin can be re-generated using any (C++/C#/F#) financial library using the Cephei.Gen code generator. The Quantlib functions can be viewed as a proof of concept, that demonstrates that any library can be used by Cephei.

Cells are added to the Cephei Model by creator functions like =_FixedRateBond(“bond1,..) , properties are accessed by functions like =_FixedRateBond_cleanPrice(“clean1”, “bond1”) and values viewed in Excel by +_Value(“clean1”). In the packground Cephei maintains the source-code to generate source-code for each function from the Cephei menu.

Contact feedback@cepheis.com or call for evaluation, integration, advise or development services.

See Blotters for examples of with live ticking data and Sample Model for code generation and reuse

File Notes
Cephei.xll Addin to provide Cephei and functions to 32-bit version of Excel
Cephei64.xll Addin to provide Cephei and functions to 64-bit version of Excel
BondBlotter.xlsx BondBlotter Example spreadsheet showing ticking changes without blocking Excel editing
Bond1.xlsx Bond1 Scratchpad spreadsheet for modelling {Zero, Fixed, Floating} bonds
Globals.xlsx Globals Extract from Bond1.xlsx to generate globals.fs
Cephei.Model.zip F# code generated from the three above models, together with compiled Cephei.Model.dll that adds using in the following example. Cephei.Model.dll needs to be copied to the same directory as Cephei.xll for the following examples
BondPricer.xlsx BondPricer Extract from Bond1.xlsx to generate BondPricer.fs
Bond1_Fixed.xlsx Bond1_Fixed Extract from Bond1.xlsx to generate FixedRateBond.fs
Bond_Fixed_Portfolio.xlsx Bond_Fixed_Portfolio Example spreadsheet showing ticking changes to a model referencing compiled versions for the three models above