많은 quants/hedgies에 대해 말하자면, 많은 사람들이 자작 언어 나 OCaml을 사용하여 많은 작업을하고있는 것 같습니다. 그들 중 많은 사람들이 왜 대답 할 수 없었는가? 그들은 대부분의 C++를 사용하려는 wouldnt가 왜왜 헤지 펀드와 금융 서비스가 종종 OCaml을 사용합니까?
내가 확실히 이해할 수 있지만 왜 OCaml의 다른 스크립팅 언어에 비해 이러한 용도에 우수 등 파이썬, 루비 말?
많은 quants/hedgies에 대해 말하자면, 많은 사람들이 자작 언어 나 OCaml을 사용하여 많은 작업을하고있는 것 같습니다. 그들 중 많은 사람들이 왜 대답 할 수 없었는가? 그들은 대부분의 C++를 사용하려는 wouldnt가 왜왜 헤지 펀드와 금융 서비스가 종종 OCaml을 사용합니까?
내가 확실히 이해할 수 있지만 왜 OCaml의 다른 스크립팅 언어에 비해 이러한 용도에 우수 등 파이썬, 루비 말?
야론 민스키 (Yaron Minsky)와 스티븐 위크 (Stephen Weeks)에 의해 Caml trading - experiences with functional programming on Wall Street을 읽으십시오. (이 기사는 Jane Capital에서 무료로 호스팅되었지만 더 이상 존재하지 않으므로 참조 용으로 ACM 링크를 남겨 두었습니다. 그들은 OCaml의 장점과 단점이라고 생각하는 것에 대해 아주 자세히 설명합니다. 대부분 OCaml의 장점과 단점입니다. 대부분의 경우 C++, Python과 직접적인 비교가 아닌 다른 대부분의 옵션보다 낫습니다. , 너 뭐 있니?).
저자는 OCaml의 코드에 많은 투자를하고있다 제인 스트리트 캐피탈에서 작동합니다.
업데이트 : 스레드 What programming language(s) is algorithmic trading software written in?도 참조하십시오. comments 중 하나는 Jane Street Capital의 Caml 사용에 대한 CMU의 Yaron Minsky 프리젠 테이션에 대해 언급합니다. 약 1 시간 길면 매우 흥미 롭습니다.
업데이트 두 : Yaron가 OCaml for the Masses라는 또 다른 개요, ACM 큐에 대해이 시간을 썼다.
thanks Don, 매우 흥미로운 물건! – oneAday
Caml 거래 용지가 끊어졌습니다. 전문을 볼 수있는 링크가 있습니까? 내가 본 모든 곳에서 저널에 대한 액세스를 지불해야합니다. –
죄송합니다. Jane Capital이 더 이상 호스트하지 않는 것 같습니다. 나는 다른 곳에 그것을 발견하려고 노력했다. 그러나 그것은 단지 ACM에있다. 나는 그것에 접근 할 수있는 사람들을 위해 그 링크를 떠날 것이다. 이상하게도 StackOverflow 링크는 깨 졌거나 누락되었습니다. 누구든지 그 (것)들에게 무슨 일이 일어 났는지 또는 어떻게 복원했는지 알 수 있습니까? –
그것은 놀랍도록 빠르기 때문에 (그리고 C++보다 훨씬 간결하므로).
를 사용하는 다른 헤지 펀드 나 금융 서비스의 인식하지 오전 ... 그래서 메타입니다. (심지어이 약어 ISMETA). ;-) –
속도 비교에 대한 예제 programming languages shootout를 참조하십시오 :
, 우리 모두가 줄을 듣고
+1 이것에 대해! 그것은 그들이 일류 객체로서의 기능과 그들이 즐기는 다중 꼬리 재귀와 같이 갈구하는 속도입니다. – wheaties
프로그래밍 언어 괴짜 테스트를 거쳤습니다. 관리자가 승인 했습니까? B-) –
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=ocaml&lang2=python&box=1는 **하지 ** OCaml의'에 대한 Python' 대하지만, OCaml의 '에 대한 하스켈 대 보인다 ' –
Python/Ruby와 비교하여 간단한 병렬 처리가 필요합니까? 적어도 F #에서는 사실이지만 Caml/OCaml의 경우에도 마찬가지입니다.
내가 Ruby를 좋아하는 한, 대부분 수학적이거나 집합적인 중압 작업에 대한 나의 첫 번째 선택이 아니며, Python이나 Ruby 모두 멀티 스레딩을 실제로 지원하지 않습니다.
패턴 매칭과 불변성에 대한 선호 덕분에 계산의 비교적 복잡한 파이프 라인의 간결함 (파이썬에서는 약간 어렵지만 ML 기반 언어에서보다 어렵다)은 큰 데이터에 대한 계산에 가장 중요하다 세트.
병렬 처리는 실제로 OCaml에서 조금 어색합니다. 전체 언어는 전역 잠금을 가지고 있으므로 한 번에 하나의 스레드 만 OCaml 코드를 실행할 수 있습니다. 다중 코어 또는 CPU를 사용하려면 추가 프로세스를 분리해야합니다. – Chuck
와우, 그건 파머 야. 필자는 그것이 파이썬과 거의 같은 발판에 있다는 것을 의미한다고 생각합니다. 매칭되는 모든 멋진 패턴과 더 보편적 인 불변성을 제외하고 말입니다. – JasonTrue
@Chuck : 이제 멀티 코어 Ocaml을 사용하고 있습니다. https : // github.co.kr/ocamllabs/compiler-hacking/wiki/Multicore-OCaml –
는 함수형 언어이기 때문에, 아마이 기업이 해결해야 할 문제의 종류와 잘 조화되는 자연의 수학적입니다. 그리고 다른 사람들이 지적했듯이, 그것은 훌륭한 성능 프로파일을 가지고 있습니다. 마이크로 소프트의 F 번호에 대한 OCaml의 공동 선택한 이유
은 어쩌면이다
나는 같은 장소에서 작동하지 않기 때문에이 단지 내가 자신의 위치에서 할 수있는 이유에 대한 추측됩니다
일반적으로 Ruby 나 Python과 같은 언어보다 약간 빠르며 정적으로 형식화 된 함수 언어로 코드를 추론하고 미묘한 버그가 없다는 것을 알고 있습니다. (예, 단원 테스트를 통해 단점을 보완하는 데 도움이 될 것입니다. 그러나 재무 건전성이 악화되지는 않을 것이라는 추가적인 확신이 있어야합니다.) 또한 함수 프로그래밍은 수학과 밀접하게 연결되어 있으며 대부분의 고급 언어 패러다임 (예 : 수학의 OO 분기점이 없음)이므로 실제로 수행 한 작업을 모델링하는 것이 좋습니다. C#, 또는 때때로 F 번호와 (엑셀 읽기) 너무
이편집 :
이 가나는 그것을 바꿔거야, 아래로 투표를, 나는 개인적으로 모른다는 VBA는 것 Quants의 내 경험에
카테고리 이론이 수학의 OO 분지라고 말할 수 있습니까? 카테고리 이론을 모델링하는 많은 기능적 방법이 있습니다. – JasonTrue
카테고리 이론이 수학의 OO 분지라면, 그것은 하스켈을 객체 지향 언어로 만듭니다. OO 언어가 어떤 다른 언어보다 형식 이론의 컴퓨터 근사치가되도록 노력하는 것을 본적이 없습니다. – Chuck
저는 그렇게 생각합니다. 그러나 대상 체계 이론의 상당 부분은 범주 이론에서 나온 것입니다. 허락하자면, 아이디어는 OO 언어로 바뀌었을 때 훨씬 덜 추상적이어서 아이디어는별로 비슷하지 않습니다. – JasonTrue
어떤 캠핑을 사용하는 ...
그래, 대다수의 경우 사실이라고 생각하지만 다른 언어/설정이 더 복잡한 처리에 사용되는 사례가 상당히 많습니다 (성장하고있는 것 같습니다) ... – oneAday
Don의 게시물을 살펴보면 Jane Street Captial도 page dedicated to OCaml이며 OCaml 약혼에 대한 링크 (blog 포함)가 있습니다. OCaml의 성능은 일반적으로 큰 논점이지만, 기능적 패러다임이 분석 작업에 도움이되기 때문에 "퀀트 (quants)"가 그것을 좋아한다고 생각하기 때문에 얼리 어답터라고 생각합니다. 그런 다음 기업은 시스템 프로그래밍에 적합하다는 것을 발견했습니다. 명심해야 할
우선은 OCaml로는 REPL 명확, 간결 구문에도 불구하고, 그것은 파이썬이나 루비 같은 동적 언어 아니다는 것이다. 정적 타이핑이 있고 원시 코드로 컴파일됩니다.
정량 분석에서는 스크립팅 언어가 더 편리합니다. 많은 라이브러리에 액세스 할 수 있으므로 정보를 관리하기 위해 신속하고 더러운 스크립트를 작성하는 것이 쉽고 중소 프로그램을 작성하는 것이 프로그래머가 아닌 사용자에게도 쉽습니다.
실제로 거래에 관여 알고리즘과 시스템을 만드는, 당신은 OCaml로 뭔가를 할 수 있습니다. OCaml의 주요 장점은 기능적 특성, 가독성 (Python과 같은 동적 언어와 거의 비슷하게 읽음), 안정성, 대부분 속도입니다. OCaml은 대부분의 사람들이 믿는 것보다 훨씬 빠릅니다. C가 빠릅니다 (실제로는 C보다 약간 느리지 만, 많은 경우 동적 언어보다 몇 배 더 빠름). OCaml은 HFT 시스템을 만들기에 충분히 빠르며 파이썬이나 루비에 대해서는 말할 수 없습니다.
또한, 스칼라 및 Clojure의 장면에 오기 전에 제인 스트리트 (가장 보컬 OCaml의 전도사가) OCaml의 채택 명심하십시오.
그리고 컴파일러는 매우 빠릅니다. –
솔직히, 제인 스트리트 자본 이외, 나는이 대답을 OCaml의 –