讲到的一些金融工程师/hedgies,我得出的结论是,大量的似乎是利用一个自制的语言或OCaml于许多任务。什么他们中的许多人无法回答是为什么。

我可以肯定明白他们为什么不想使用C++的大部分,但为什么是OCaml优用于这些用途相比,其他的脚本语言,说蟒蛇,红宝石等?

有帮助吗?

解决方案

试着读 加枫交易的经验编程功能在华尔街 通过亚龙明斯基和斯蒂芬周(道歉,而本文使用主办的免费在简资本,它是不再存在,所以我离开的含石棉材料的链接,供参考)。他们详谈了关于他们感觉什么是优点和缺点OCaml,虽然他们大部分是把它作为一个因为它是比其他大多数选择,他们认为(即不多直接比较与C++、蟒蛇,你有什么).

作者工作的简街道都已投入大量资金OCaml代码。

更新:另见的线 什么编程语言(s)的算法交易编写的软件吗?.一个的 评论意见 提到了一个演讲亚龙明斯基在CMU在简街资金的使用的加枫.大约一个小时长, 非常 有趣的。

更新两个:亚龙写了另一个概述,这一时间ACM队,称为 OCaml为广大人民群众.

其他提示

例如,参见 编程语言大战 速度比较:

现在,我们都听到了关于谎言、该死的谎言和基准的说法,所以建议持保留态度——但这是一个相当不错的比较。归根结底,一个人如何处理自己的问题和数据很重要。

要记住的第一件事,就是即使OCaml有一个REPL清晰,简洁的语法,它不是像Python或Ruby的动态语言。它具有静态类型和编译为本地代码。

有关的定量分析,脚本语言是更方便。您可以访问很多库,这是很容易做到快速和肮脏的脚本来管理信息,并建立中小型项目很容易,即使对于非程序员。

有关创建算法和系统实际上从事交易,你想要的东西像OCaml中。 OCaml中的主要优点是它的功能性质,可读性(它几乎一样很好地读取,如Python动态语言),可靠性,但大多是速度。 OCaml的多,远远快于大多数人认为 - 这是C中是快速(比C实际上稍微慢一些,但比动态语言快许多倍)。 OCaml的是速度不够快,创造一个HFT系统,这是不是可以为Python或Ruby的说。

此外,牢记珍街(最强烈的OCaml的布道者)斯卡拉前通过的OCaml和Clojure的来到到现场。

作为一个功能性的语言,它在本质上,这可能与该种这些企业需要解决的问题,非常适合于数学。正如其他人所指出的,它有一个很好的性能配置。

也许这就是为什么微软增选为ocaml的F#

由于它是极快(和远比C ++更简洁)。

在唐的后回升,简街Captial甚至有一个页面OCaml的,以及进一步链接到他们的OCaml的接合(包括博客)。 OCaml中的性能通常是一个很大的争论,但我认为还有“宽客”喜欢它,因为功能模式使其非常好自己的那种分析工作,所以我觉得他们是早期采用者。然后公司发现它同样适合用于系统编程。

平凡并行相比的Python /红宝石?至少这是F#真实的,但应为许多相同的原因是用于CAML / OCaml的真。

虽然我喜欢红宝石,它不会是我对于那些大多是数学或聚合重型任务的第一选择,既不的Python也不会Ruby具有多线程尚未真正伟大的支持。

由于计算的相对复杂的管道的模式匹配的简洁和不变性偏好(更难Ruby来执行,在Python稍微容易,但仍然不是在基于ML-语言困难)是用于大型数据集的计算最有价值

我不在那样的地方工作,所以这些只是我为什么会在他们的位置上做这件事的猜测:

它通常比 Ruby 和 Python 等语言快很多,并且作为静态类型函数语言,它通常更容易推理代码并知道它不包含细微的错误。(是的,单元测试也应该有助于发现这些问题,但最好能额外保证您的财务数据不会搞砸。)此外,函数式编程与数学的联系非常紧密,比大多数高级语言更紧密地联系在一起范式(例如,不存在面向对象的数学分支),因此它擅长对它们实际所做的事情进行建模。

在我的金融工程师的经验,这是VBA(读:Excel)中使用C#或F#有时太

编辑:

我会换一种说法,对于下投票,我个人不知道的任何的使用CAML宽客...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top