What is Mathematics Modular Framework?

Mathematics Modular Framework (MMF) is a software framework which allows simple construction and rearrangement of workflows for finance, mathematics, and machine learning applications.

It allows the packaging of a program unit that performs a mathematical function into a 'module', which has strongly defined and typed inputs and outputs. The outputs of modules can then be linked to the inputs of other modules to form a directed graph (known as a 'module graph') which defines the workflow. The hierarchy implicit in the module graph allows the workflow to be executed automatically in order of dependency when processed. Workflows can also be serialized to and from XML documents, and hence written to and read from persistent storage (file, database, network, etc...).

Whilst MMF was created primarily for financial maths and machine learning, it works with any data types in the .NET framework (including custom classes defined in an application or framework), and hence is suitable for any application where workflows must be flexibly defined at runtime.

MMF provides a powerful framework for workflow creation, suitable for both high flexibility when used in research and engineering situations, and reliability and robustness in production environments. When paired with a tool allowing the visual creation of workflows (currently in development), MMF will become a flexible 'virtual toolbox' for financial engineers, data scientists, and machine learning practitioners, and allow fast and limitless creation of computational workflows.

The diagram below gives a visual representation of an MMF workflow, and shows a module graph which implements linear regression for a machine learning application (from the SimpleML project)...

Module Graph for Linear Regression with Polynomial Feature Generation

Features

  • Suitable for any application requiring flexibly definable workflows (at runtime)
  • Compatible with any .NET data types
  • Serialization, persistence, duplication, validation, and processing/cancellation of workflows.
  • Integrated, detailed, and flexible logging and metrics capture (instrumentation)
  • Allows the workflow of a system to become part of its configuration. This means a system can be quickly and easily adjusted to handle anomalous situations (e.g. missing or incomplete market data in financial applications), without the need to rebuild and re-release the code base.
  • A simpler and more flexible way for research staff (financial engineers, researchers, data scientists) to build workflows and combine individual computational units, than writing bespoke code... especially when ultimately complemented with a GUI-based tool to create module graphs.