Почему хедж-фонды и финансовые услуги часто используют OCaml?

Говоря со многими шестами для отталкивания / hedgies, я пришел к выводу, что большое количество их, кажется, использует или доморощенный язык или OCaml для многих задач. То, на что не могли ответить многие из них, было то, почему.

Я могу, конечно, понять, почему они не хотели бы использовать C++ по большей части, но почему OCaml выше к этому использованию по сравнению с другими языками сценариев, скажем Python, Ruby и т.д.?

23
задан Thomas 5 May 2012 в 10:08
поделиться

8 ответов

Попробуйте прочитать Caml trading - опыт функционального программирования на Уолл-стрит Ярона Мински и Стивена Уикса (извиняюсь, раньше эта статья размещалась бесплатно в Jane Capital, его больше нет, поэтому я оставляю ссылку ACM для справки). Они очень подробно рассказывают о преимуществах и недостатках OCaml, хотя по большей части принимают как данность, что он лучше, чем большинство других рассмотренных ими вариантов (т.е. не так много прямых сравнений с C ++, Python. , что у вас есть).

Авторы работают в Jane Street Capital, которая вложила значительные средства в код OCaml.

Обновление : См. также ветку На каком языке (языках) написано программное обеспечение для алгоритмической торговли в? . В одном из комментариев упоминается презентация Ярона Мински, сделанная в CMU по поводу использования Jane Street Capital Caml. Примерно час, и очень интересный.

Обновление 2 : Ярон написал еще один обзор, на этот раз для очереди ACM, под названием OCaml для масс .

]
24
ответ дан 29 November 2019 в 01:16
поделиться

См., Например, обзор языков программирования для сравнения скорости:

Теперь мы все слышали строки о лжи, проклятой лжи и тестах, поэтому рекомендуется скептически - но это довольно хорошее сравнение. В конце концов, важно, что делать со своими проблемами и данными.

12
ответ дан 29 November 2019 в 01:16
поделиться

Потому что он невероятно быстрый (и гораздо более лаконичный, чем C ++).

4
ответ дан 29 November 2019 в 01:16
поделиться

По моему опыту работы с Quants, это VBA (читай: Excel) с C # или f #, иногда тоже

Редактировать:

Я перефразирую это, чтобы проголосовать против, я не Я лично не знаю каких-либо квантов, использующих caml ...

0
ответ дан 29 November 2019 в 01:16
поделиться

Являясь функциональным языком, он имеет математическую природу, что, вероятно, хорошо вписывается в те виды проблем, которые необходимо решать этим фирмам. И как отмечают другие, он имеет хороший профиль производительности.

Может быть, именно поэтому Microsoft кооптировал OCaml для F#

.
6
ответ дан 29 November 2019 в 01:16
поделиться

Тривиальное распараллеливание по сравнению с Python/Ruby? По крайней мере, это верно для F#, но должно быть верно и для Caml/OCaml по тем же причинам.

- Как бы сильно я ни любил Ruby, это не был бы мой первый выбор для сверхмощных задач, которые в основном математические или агрегированные, и ни Python, ни Ruby пока не имеют действительно большой поддержки для многопоточности.

Сложность относительно сложных трубопроводов вычислений благодаря подбору шаблонов и предпочтению непреложности (труднее реализовать на Ruby, немного легче на Python, но все же труднее, чем на языках, основанных на ML), наиболее ценна для вычислений на больших массивах данных.

.
1
ответ дан 29 November 2019 в 01:16
поделиться

Я не работаю в таком месте, так что это просто догадки, почему я могу сделать это в их положении:

Обычно это немного быстрее, чем такие языки, как Ruby и Python, и, как статически типизированный функциональный язык, в общем, немного проще рассуждать о коде и знать, что он не содержит тонких ошибок. (Да, юнит-тесты тоже должны помочь поймать их, но дополнительную уверенность в том, что ваши финансовые показатели не испортятся, приятно иметь). Кроме того, функциональное программирование очень тесно связано с математикой, в большей степени, чем большинство парадигм языка высокого уровня (например, нет ответвления OO по математике), так что оно хорошо моделирует то, что они на самом деле там делают

.
1
ответ дан 29 November 2019 в 01:16
поделиться

Зарегистрировавшись на посту Дона, Джейн Стрит Кэпэйшн даже имеет страницу , посвященную OCaml, с дальнейшими ссылками на их участие в OCaml (включая блог). Производительность OCaml обычно является большим аргументом, но я думаю, что и "квантам" это нравится, потому что функциональная парадигма очень хорошо подходит для их аналитической работы, так что я думаю, что они являются ранними приверженцами. И тогда фирмы обнаруживают, что он одинаково хорошо подходит для системного программирования

.
2
ответ дан 29 November 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: