article
Free Access

Composing contracts: an adventure in financial engineering (functional pearl)

Online:01 September 2000Publication History

Abstract

Financial and insurance contracts do not sound like promising territory for functional programming and formal semantics, but in fact we have discovered that insights from programming languages bear directly on the complex subject of describing and valuing a large class of contracts.We introduce a combinator library that allows us to describe such contracts precisely, and a compositional denotational semantics that says what such contracts are worth. We sketch an implementation of our combinator library in Haskell. Interestingly, lazy evaluation plays a crucial role.

References

  1. Boyle et al., 1997 Boyle, P., Broadie, M., and Glasserman, P. (1997). Monte carlo methods for security pricing. Journal of Economic Dynamics and Control, 21:1267-1321.]]Google ScholarGoogle ScholarCross RefCross Ref
  2. Claessen and Sands, 1999 Claessen, K. and Sands, D. (1999). Observable sharing for functional circuit description. In Thiagarajan, P. and Yap, R., editors, Advances in Computing Science (ASIAN'99); 5th Asian Computing Science Conference, Lecture Notes in Computer Science, pages 62-73. Springer Verlag.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Cook and Launchbury, 1997 Cook, B. and Launchbury, J. (1997). Disposable memo functions. In Launchbury, J., editor, Haskell workshop, Amsterdam.]]Google ScholarGoogle Scholar
  4. Cook et al., 1998 Cook, B., Launchbury, J., and Matthews, J. (1998). Specifying superscalar microprocessors in Hawk. In Formal techniques for hardware and hardware-like systems, Marstrand, Sweden.]]Google ScholarGoogle Scholar
  5. Cox etal., 1979 Cox, J. C., Ross, S. A., and Rubinstein, M. (1979). Option pricing: a simplified approach. Journal of Financial Economics, 7:229-263.]]Google ScholarGoogle ScholarCross RefCross Ref
  6. Elliott and Hudak, 1997 Elliott, C. and Hudak, P. (1997). Functional reactive animation. In ACM SIGPLAN International Conference on Functional Programming (ICFP'97), pages 263-273. ACM, Amsterdam.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Finne et al., 1999 Finne, S., Leijen, D., Meijer, E., and Peyton Jones, S. (1999). Calling hell from heaven and heaven from hell. In ACM SIGPLAN International Conference on Functional Programming (ICFP'99), pages 114-125, Paris. ACM.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ho and Lee, 1986 Ho, T. and Lee, S. (1986). Term Structure Movements and Pricing Interest Rate Contingent Claims. Journal of Finance, 41:1011{1028.]]Google ScholarGoogle ScholarCross RefCross Ref
  9. Hudak, 1996 Hudak, P. (1996). Building domain-specific embedded languages. ACM Computing Surveys, 28.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hughes, 1985 Hughes, J. (1985). Lazy memo-functions. In Proc Aspenas workshop on implementation of functional languages.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Leroy et al., 1999 Leroy, X., Vouillon, J., Doligez, D., et al. (1999). The Objective Caml system, release 3.00. Technical Report, INRIA, available at http://caml.inria.fr/ocaml.]]Google ScholarGoogle Scholar
  12. Marlow et al., 1999 Marlow, S., Peyton Jones, S., and Elliott, C. (1999). Stretching the storage manager: weak pointers and stable names in Haskell. In International Workshop on Implementing Functional Languages (IFL'99), Lecture Notes in Computer Science, Lochem, The Netherlands. Springer Verlag.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Musiela and Rutkowski, 1997 Musiela, M. and Rutkowski, M. (1997). Martingale Methods in Financial Modelling. Springer.]]Google ScholarGoogle Scholar
  14. Peyton Jones et al., 1999 Peyton Jones, S., Hughes, R., Augustsson, L., Barton, D., Boutel, B., Burton, W., Fasel, J., Hammond, K., Hinze, R., Hudak, P., Johnsson, T., Jones, M., Launchbury, J., Meijer, E., Peterson, J., Reid, A., Runciman, C., and Wadler, P. (1999). Report on the programming language Haskell 98. http:/haskell.org.]]Google ScholarGoogle Scholar
  15. Revuz and Yor, 1991 Revuz, D. and Yor, M. (1991). Continuous Martingales and Brownian Motion. Springer.]]Google ScholarGoogle Scholar
  16. van Deursen et al., 2000 van Deursen, A., Kline, P., and Visser, J. (2000). Domain-specific languages: an annotated bibliography. Technical report, Centrum voor Wiskunde en Informatica, Amsterdam.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. van Deursen and Klint, 1998 van Deursen, A. and Klint, P. (1998). Little languages: little maintenance? Journal of Software Maintenance, 10:75-92.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Willmot et al., 1993 Willmot, P., Dewyne, J., and Howison, S. (1993). Option Pricing: Mathematical Models and Computation. Oxford Financial Press.]]Google ScholarGoogle Scholar

Index Terms

  1. Composing contracts: an adventure in financial engineering (functional pearl)

        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

        • Published in

          ACM SIGPLAN Notices cover image
          ACM SIGPLAN Notices  Volume 35, Issue 9
          Sept. 2000
          291 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/357766
          Issue’s Table of Contents
          • ACM Conferences cover image
            ICFP '00: Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
            September 2000
            294 pages
            ISBN:1581132026
            DOI:10.1145/351240

          Copyright © 2000 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Online: 1 September 2000

          Qualifiers

          • article

        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!