skip to main content
research-article

Certified symbolic management of financial multi-party contracts

Published:29 August 2015Publication History
Skip Abstract Section

Abstract

Domain-specific languages (DSLs) for complex financial contracts are in practical use in many banks and financial institutions today. Given the level of automation and pervasiveness of software in the sector, the financial domain is immensely sensitive to software bugs. At the same time, there is an increasing need to analyse (and report on) the interaction between multiple parties. In this paper, we present a multi-party contract language that rigorously relegates any artefacts of simulation and computation from its core, which leads to favourable algebraic properties, and therefore allows for formalising domain-specific analyses and transformations using a proof assistant. At the centre of our formalisation is a simple denotational semantics independent of any stochastic aspects. Based on this semantics, we devise certified contract analyses and transformations. In particular, we give a type system, with an accompanying type inference procedure, that statically ensures that contracts follow the principle of causality. Moreover, we devise a reduction semantics that allows us to evolve contracts over time, in accordance with the denotational semantics. From the verified Coq definitions, we automatically extract a Haskell implementation of an embedded contract DSL along with the formally verified contract management functionality. This approach opens a road map towards more reliable contract management software, including the possibility of analysing contracts based on symbolic instead of numeric methods.

References

  1. DSLFin: Financial domain-specific language listing. http://www. dslfin.org/resources.html, 2013.Google ScholarGoogle Scholar
  2. J. Andersen, E. Elsborg, F. Henglein, J. G. Simonsen, and C. Stefansen. Compositional specification of commercial contracts. Int. J. Softw. Tools Technol. Transf., 8(6):485–516, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. B. Arnold, A. Van Deursen, and M. Res. An algebraic specification of a language for describing financial products. In ICSE-17 Workshop on Formal Methods Application in Software Engineering, pages 6–13, 1995.Google ScholarGoogle Scholar
  4. R. Atkey and C. McBride. Productive coprogramming with guarded recursion. In ICFP, pages 197–208, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. R. Atkey, S. Lindley, and J. Yallop. Unembedding domain-specific languages. In ACM SIGPLAN Symposium on Haskell, pages 37–48, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Berthold, A. Filinski, F. Henglein, K. Larsen, M. Steffensen, and B. Vinter. Functional High Performance Financial IT – The HIPERFIT Research Center in Copenhagen. In TFP’11 – Revised Selected Papers, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Chlipala. Certified Programming with Dependent Types. MIT Press, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Davies. A temporal-logic approach to binding-time analysis. In LICS, pages 184–195, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Frankau, D. Spinellis, N. Nassuphis, and C. Burgard. Commercial uses: Going functional on exotic trades. J. Funct. Program., 19(1): 27–45, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. F. Haftmann. From higher-order logic to Haskell: There and back again. In PEPM, pages 155–158, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. F. Henglein, K. F. Larsen, J. G. Simonsen, and C. Stefansen. POETS: Process-oriented event-driven transaction systems. J. Log. Algebr. Program., 78(5):381 – 401, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  12. J. Hull and A. White. CVA and wrong-way risk. Financ. Anal. J., 68 (5):58–69, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  13. T. Hvitved. A survey of formal languages for contracts. In FLACOS, pages 29–32, 2010.Google ScholarGoogle Scholar
  14. T. Hvitved. Contract Formalisation and Modular Implementation of Domain-Specific Languages. PhD thesis, Department of Computer Science, University of Copenhagen, 2011.Google ScholarGoogle Scholar
  15. T. Hvitved, F. Klaedtke, and E. Zalinescu. A trace-based model for multiparty contracts. J. Log. Algebr. Program., 81(2):72–98, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  16. D. A. Ignatovich and G. O. Passmore. Creating safe and fair markets. White Paper AI/1501, Aesthetic Integration, Apr. 2015. URL http: //www.aestheticintegration.com/files/ai-wp1501.pdf.Google ScholarGoogle Scholar
  17. A. Jeffrey. LTL types FRP: Linear-time temporal logic propositions as types, proofs as functional reactive programs. In PLPV, pages 49–60, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. G. Klein, J. Andronick, K. Elphinstone, T. Murray, T. Sewell, R. Kolanski, and G. Heiser. Comprehensive formal verification of an OS microkernel. ACM T. Comput. Syst., 32(1):2:1–2:70, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. N. Krishnaswami and N. Benton. Ultrametric semantics of reactive programs. In LICS, pages 257–266, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Kyas, C. Prisacariu, and G. Schneider. Run-time monitoring of electronic contracts. In ATVA, pages 397–407, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. M. Lee. A logic model for electronic contracting. Decis. Support Syst., 4(1):27–44, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. X. Leroy. Formal certification of a compiler back-end, or: programming a compiler with a proof assistant. In POPL, pages 42–54, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. P. Letouzey. Extraction in Coq: An overview. In Computability in Europe, volume 5028 of LNCS, pages 359–369, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. LexiFi. Contract description language (MLFi). http://www. lexifi.com/technology/contract-description-language.Google ScholarGoogle Scholar
  25. H. Nakano. A modality for recursion. In LICS, pages 255–266, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. C. Oancea, J. Berthold, M. Elsman, and C. Andreetta. A financial benchmark for GPGPU compilation. In CPC, 2015.Google ScholarGoogle Scholar
  27. S. Peyton Jones and J.-M. Eber. How to write a financial contract. In J. Gibbons and O. de Moor, editors, The Fun of Programming. Palgrave Macmillan, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  28. S. Peyton Jones, J.-M. Eber, and J. Seward. Composing contracts: an adventure in financial engineering (functional pearl). In ICFP, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. S. Schuldenzucker. Decomposing contracts – a formalism for arbitrage argumentations. Master’s thesis, Rheinische Friedrich-Wilhelms-Universität Bonn, 2014.Google ScholarGoogle Scholar
  30. SimCorp A/S. XpressInstruments solutions. Company white-paper. Available from http://simcorp.com, 2009.Google ScholarGoogle Scholar

Index Terms

  1. Certified symbolic management of financial multi-party contracts

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader
                About Cookies On This Site

                We use cookies to ensure that we give you the best experience on our website.

                Learn more

                Got it!