如何设计适合金融工具的编程语言?

Blu*_*rin 6 finance computational-finance quantitative quantitative-finance

我在一家专门从事金融业的精品店工作.

我们考虑设计一种语言来描述与金融市场相关的金融实体.

这将主要用作某种脚本语言来替换电子表格和VBA宏中的许多进程.

它必须简单,事实上,它在幕后调用各种C++和C#库.它必须让用户处理抽象的对象,这些对象可以表示时间序列(日内和日常).

它必须是完全可调试的,当用户遇到问题时,我们必须能够介入C++/C#代码并重现错误.理想情况下,它必须能够通过Excel中的某种机制启动并在Excel中返回结果.(不幸的是,几乎每个在财务部门工作的人都在使用Excel)

如果你不得不做这个任务,你会怎么做呢?

你会选择功能语法吗?

你会开发一些可以解释的脚本语言吗?或者你会用另一种语言编译它(比如用C++或C#转换脚本)?

我没有找到任何这种开发的开源项目,但有没有使用这种语法的商业产品?

编辑:我读了你所有的答案,但我会等待更多的时间才能找到答案.虽然它们都是非常有用的意见!

EDIT2:我将High-Performance Mark标记为解决方案.您的所有回复都非常有用,我已将其全部修改完毕.他是最早的答案之一,他的回答对我们非常有见地.

Hig*_*ark 10

我建议您专注于使用您首选的OO语言(C#或C++)开发一组丰富的类,但我怀疑您可能会发现将前者与Excel集成更容易.这将为您提供描述与金融市场相关的金融实体的语言.完成后,您应该考虑是否继续使用某种特定于域的语言包装这些类,或者只是将它们公开给您的用户社区.

我怀疑你的域有一些不可复制的复杂性,并且中间DSL必须(几乎)像你的类集一样复杂,因此,你通过创建它几乎没有收获.

另一种方法是将Excel与Mathematica集成,Wolfram为其生成某种工具箱.我没有这方面的经验,但Mathematica当然适合你必须做的任何计算.

问候


S.L*_*ott 5

我会用Python包装C++库.

我会定义一个流畅的类包,实际上是我的域特定语言.

我会直接使用Python语言基于这两个基础.我不会发明自己的新语法.世界不需要另一种语法; 我们有足够的语法和语法来解析,足以持续到时间的结束.

你会选择功能语法吗?Python具有功能.如果您对Python类设计非常小心,那么您可以实现干净的功能风格.

理想情况下,它必须能够通过Excel中的某种机制启动并在Excel中返回结果.

由于Python解释器可以嵌入到C++(或C#)应用程序中,因此您可以轻松创建Excel API.从Excel到您的新语言,在C++ API中尽可能少地启动Python功能.

顺便说一下,你的竞争对手是Resolver One.这就是他们所做的.