
DSLs (Domain Specific Languages) in Finance是否有人在金融领域使用过DSL(特定领域语言)? 我打算在我正在开发的应用程序中引入某种DSL支持,并希望分享一些想法。 我正处于确定哪些是最稳定的域元素并选择可以通过DSL更好实现的功能的阶段。 我尚未定义此第一个功能的语法。 Simon Peyton Jones和Jean-Marc-Erby将金融合同优雅地建模为DSL。如何编写金融合同中介绍了嵌入在Haskell中的他们的DSL。 杰伊·菲尔德斯(Jay Fields)和奥比·费尔南德斯(Obie Fernandez)对此主题进行了广泛的写作和讨论。
您还可以在Martin Fowler的著作中找到有关实现DSL的一般知识(但并不专门针对金融)。
域特定语言(DSL)最常用于表示金融工具。规范论文是西蒙·佩顿·琼斯(Simon Peyton Jones)的《撰写合同:金融工程历险记》,它使用Haskell中的组合器库表示合同。组合器方法最突出的用途是LexiFi的MLFi语言,该语言建立在OCaml之上(他们的首席执行官Jean-Marc Eber是《撰写合同》论文的合著者)。巴克莱(Barclay)曾经复制了这种方法,并描述了一些其他好处,例如生成人类可读的数学定价公式的能力(商业用途:在异国交易中发挥作用)。 通常使用诸如Haskell,Scala或OCaml之类的功能语言嵌入来构建用于金融合同的DSL。金融业对功能编程语言的采用将继续使这种方法具有吸引力。 除了代表金融工具外,DSL还用于金融领域:
我在http://www.dslfin.org/resources.html上维护了金融DSLs论文,演讲和其他资源的完整列表。 如果您想与在金融系统上使用DSL的专业人士和研究人员见面,那么10月1日在佛罗里达州迈阿密举行的MODELS 2013大会上将有一个即将举行的研讨会:http://www.dslfin.org/ 我认为西蒙·佩顿·琼斯(Simon Peyton Jones)和让·马克·埃伯(Jean Marc Eber)的工作最令人印象深刻,因为"撰写合同:金融工程历险记"以及由此衍生的一切:" LexiFi和MLFi"。 鉴于MLFi并不普遍可用,并且发现Shahbaz Chaudhary的Scala实现最吸引人(并且因为Scala作为功能语言比Haskell更易于访问)。 请参阅"金融和软件工程冒险"以及从中引用的其他材料。 我将敢于复制此实现的功能的摘要。
Tomas Petricek在F#中的出色工作非常值得探索。 除了" DSL"范式之外,我建议我们还需要许多其他强大范式的贡献,以便在满足"大数据"现实的同时,完整地表示金融工具和金融合同的复杂语义。
值得回顾这里提到的一些语言:http://www.dslfin.org/resources.html 我们致力于通过Fairmat(http://www.fairmat.com)创建财务评估DSL的想法。
-它公开了一个DSL,可用于表示收益和支付依赖性 |