무역 시스템 스칼라
거래 시스템 스칼라
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
Scala는 거래 시스템에서 사용됩니다.
나는 고성능 컴퓨팅에 대해 궁금해하며 시장을 거래하는 데 사용되는 실적이 좋은 기술에 대한 흥미로운 정보원으로서 algo / program trading을 고려합니다.
스칼라가 거기서 쓰이고 있니? 시동 소품 가게에서 사용할 수있는 언어입니까? Java / C ++에 비해 구문 표현이 풍부하고 (따라서 코드가 적다) 주어진 속도가 빠르다는 점에서 유익한 언어로 간주 될까요?
일반적으로 많은 금융 기관에서는 함수형 프로그래밍 언어를 사용합니다. Andrei는 도메인 별 언어 (DSL) 개발에 종종 사용된다는 점에서 정확합니다.
Credit Suisse는 F # cufp. org/archive/2008/abstracts. html#MansellHoward를 사용합니다 (Paradise urchin. earth. li/라는 DSL을 작성하기 위해 하스켈에서 약간 놀랐습니다.)
Functional Programming 워크숍 진행자 인 cufp. org/conference의 상업 사용자를 대상으로 "전체"목록을 찾을 수 있습니다.
DSL 작성에 대해 영리한 개발자라면 똑똑한 컴파일러 최적화를 수행 할 수 있으므로 실제로 작성하는 프로그램의 성능이 향상 될 수 있습니다 (예 : infoscience. epfl. ch/record/148814/files/paper. pdf).
마지막으로, 스칼라가 JVM을 대상으로하기 때문에 자바와 스칼라 코드를 통합 할 수있다. (또는 자바 네이티브 인터페이스를 통해 C ++ 코드로 네이티브 호출을 할 수도있다.)
돼지가 날 때까지이 언어 전쟁을 할 수 있지만, 대부분의 사람들이 동의하는 몇 가지 아주 기본적인 것들이 있습니다.
이미 말했듯이, C ++은 성능이 정말로 중요한 표준 언어입니다 (Java가 두 번째입니다). C ++은 Wilmott quant finance 인증서와 MFE 프로그램에서 가르칩니다. 또한 채용 정보에서 가장 자주 나타납니다. 성능이 최우선 순위 인 다른 분야의 경우, 다양한 언어가 의심의 여지없이 사용됩니다. 예를 들어 Jane Street은 OCaml 구현에 대해 매우 공개적입니다. 많은 헤지 펀드는 생산 환경에서도 R, matlab 및 Python과 같은 언어를 사용합니다.
Scala를 사용하는 회사입니까? 아마. Quantitative finance에서 사용하기를 원한다면 Scala 전문가가되고 싶습니까? 좋은 내기가 아닙니다.
Empirics는 무언가를 뽑아야합니다. (놀라운) Language Shootout은 C ++이 여전히 실행 시간과 메모리 사용에서 Scala를 매우 잘 보여주고 있음을 보여줍니다. 하지만 Scala는 코드 크기가 더 좋아 보입니다.
스칼라와 같은 Java에 대한 기존 투자가 차세대 Java로 제공되는 상점은 후자가 그만큼 늦게 움직이지 않았다고 가정합니다. 나는 또한 그것에 신종 스타트를 들었습니다. 나는 Java 캠프에 없기 때문에 돈이 C ++에 남아 있습니다 (특히 성능이 중요한 경우).
우리 회사는 현재 알고리즘 트레이딩의 모든 새로운 프로젝트에 스칼라를 사용합니다. 또한 Scala로 작성된 내부 포트폴리오 관리 / 모니터링 애플리케이션 (Circumflex 웹 프레임 워크 포함)이 있습니다.
예, 사용되었습니다. 그러나 지금은 Java의 기존 인프라와의 손쉬운 통합으로 인해 프로토 타이핑을위한 도메인 특정 언어 (Domain Specific Languages)를 만드는 데 그 목적이 주로 제한됩니다. Scala는 Excel과 비교적 쉽게 상호 작용하기 때문에 다른 JVM 기반 언어 인 Groovy 및 F #과 경쟁합니다.
필자가 아는 한, 실행 플랫폼의 스칼라 구현은 없습니다. C / C ++은 미션 크리티컬 한 금융 애플리케이션을위한 언어로 여전히 많이 사용되고 있으며, Java는 많은 레거시 C ++ 코드에 대한 부담이없는 최신 상점입니다. 스칼라가 C ++과 Java처럼 느리지 만 강력하지 않다는 점을 감안할 때, 스칼라가 잡는 것을 상상할 수는 없습니다.
UI의 경우 Java에서 Python, C #, Ruby에 이르기까지 모두 공정한 게임입니다. 그러나 UI의 올바른 언어를 선택하는 것은 결코 모든 투자 회사의 경쟁 우위가 아니 었습니다.
거래 시스템 스칼라
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
Scala / Akka를 사용한 JVM의 고주파 거래.
Java에서 가상의 HFT 시스템을 상상해 봅시다. 짧은 대기 시간의 작은 객체가 무수히 많은 (스칼라?), 초당 수천 개의 연결 및 주변에서 전달되는 외설스러운 메시지 수를 필요로합니다. 이벤트 중심 아키텍처 (akka 및 amqp?)
전문가들에게 JVM 7의 가장 좋은 튜닝은 무엇입니까? 어떤 유형의 코드가 행복할까요? 스칼라와 아카는 이런 종류의 시스템을 준비 할 수 있을까요?
참고 : 이와 비슷한 질문이 있지만 JVM에서 고유 한 크기를 가진 스칼라를 아직 찾지 못했습니다.
내 랩톱에서 Akka 2.3.7 배우 사이의 평균 Ping 메시지 대기 시간은 다음과 같습니다.
JVM에서 GC 일시 중지로 인해 예상되는 대기 시간보다 훨씬 적습니다.
코드 (JVM 옵션 포함) & amp; Intel Core i7-2640M에서 Akka 및 기타 배우를위한 테스트 결과.
추신 Dmitry Vyukov의 사이트와 Martin Thompson의 블로그에서 저 대기 시간 컴퓨팅에 대한 많은 원칙과 팁을 찾을 수 있습니다.
Java에서 매우 좋은 성능을 얻을 수 있습니다. 그러나 신뢰할 수있는 대답을 제공하기 위해서는보다 구체적인 질문이 필요합니다. 대기 시간의 주요 출처는 다음과 같은 비 포괄적 목록을 따릅니다.
얼마나 많은 쓰레기를 만들고 GC가 그것을 수집하고 홍보하는지. 내 경험에 불변의 디자인은 낮은 대기 시간에 잘 맞지 않는다. GC 튜닝은 큰 초점이되어야합니다.
클래스가로드되고 JIT가 작업을 수행 할 수 있도록 JVM을 워밍업하십시오.
알고리즘을 O (1) 또는 적어도 O (log2 n)로 설계하고이를 증명하는 성능 테스트를 실시하십시오.
당신의 디자인은 자물쇠가없고 "Single Writer Principle"을 따라야합니다.
전체 스택을 이해하고 그 사용에 기계적인 동정을 보여주는 상당한 노력이 필요합니다.
캐시 친화적 인 알고리즘 및 데이터 구조를 설계하십시오. 캐시 미스 요즘은 가장 큰 비용입니다. 이것은 프로세스 어피 니티와 밀접한 관련이 있습니다. 프로세스 어피 니티와 올바르게 연관되어 있지 않으면 올바르게 캐시되지 않을 수 있습니다. 이것은 어떤 경우 OS와 심지어 일부 JNI 코드에 대한 동정을 포함 할 것입니다.
실행해야하는 모든 스레드가 대기하지 않고 코어를 사용할 수 있도록 충분한 코어가 있는지 확인하십시오.
나는 최근에 그러한 운동에 대한 사례 연구에 관해 블로그를 올렸다.
메시지 전달을위한 링 버퍼의 사용이 Akka로 할 수있는 것을 능가 할 것입니다. 사람들이 금융 애플리케이션을 위해 JVM에서 사용하는 주요 링 버퍼 구현은 JVM (GC가없고 잠금이 없음)과 최신 CPU에 대해 효율성 (2 크기의 힘)을 위해 조심스럽게 조정되는 Disruptor라고하는 것입니다. 캐시 라인).
PipelineDB - scala - trading system.
예산 € 12-18 EUR / hour.
프리랜서 채용 정보 Scala PipelineDB - scala - trading system.
경험이 풍부한 스칼라 개발자 여야합니다. 기능 프로그래밍이 주된 관심사입니다.
Postgresql / pipelineDB, slick (삭제 된 URL, 보기에 로그인) 경험으로 InteractiveBrokers API가 권장됩니다. 금융 시장 데이터가 어떻게 축적되는지에 대한 기본적인 이해가 또한 유리할 것입니다.
기본 구조는 직접 접촉으로 논의 될 것입니다.
돈 좀 벌려고?
예산 및 일정을 정하십시오.
제안서 개요.
당신의 일에 대한 보수를 받으십시오.
직업에 가입하고 입찰 할 수 있습니다.
6 명의 프리랜서가이 직업에 평균 € 18 / 시간의 입찰을하고 있습니다.
제안서가 아직 제공되지 않았습니다.
저는 스칼라 / 자바, 정보 기술 분야 공학 학위를 가진 자바 프로그래머입니다. IT 제품 및 서비스에 대한 경험으로 전문적인 도움을 드릴 수 있습니다.
나는 주당 35 시간을 바칠 수없고 주당 10 시간만을 할 수 있지만, 내 경험과 전문성을 고려할 때이 프로젝트를 더 빨리 끝낼 수 있도록 도울 수 있습니다. 나는 금융 시장에 대한 중요한 지식을 가지고있다.
제안서가 아직 제공되지 않았습니다.
제안서가 아직 제공되지 않았습니다.
플레이 프레임 워크를 사용하여 스칼라에서 4 개 이상의 프로젝트를 수행했습니다. 2 년 이상의 프로그래밍 경험. Java 및 My SQL에 대한 지식이 있어야합니다.
돈 좀 벌려고?
예산 및 일정을 정하십시오.
제안서 개요.
당신의 일에 대한 보수를 받으십시오.
직업에 가입하고 입찰 할 수 있습니다.
비슷한 일.
직업을 위해 프리랜서를 고용해야합니까?
가입하는 데 자유롭고 필요한 것을 입력하고 & amp; 무료 견적을 초 만에 받으십시오.
영어 - 미국 (국제)
프리랜서.
자귀.
프리랜서 & 등록 번호; Freelancer Technology Pty Limited (ACN 142 189 759)의 등록 상표입니다.
저작권 및 사본; 2017 Freelancer Technology Pty Limited (ACN 142 189 759)
거래 시스템 스칼라
당겨 요청 0.
오늘 GitHub에 가입하십시오.
GitHub은 코드를 호스팅하고 검토하고, 프로젝트를 관리하고, 소프트웨어를 함께 구축하기 위해 함께 일하는 2,000 만 명이 넘는 개발자들의 본거지입니다.
HTTPS로 복제하십시오.
Git을 사용하거나 웹 URL을 사용하여 SVN에서 체크 아웃하십시오.
Scala Backtesting + 라이브 거래 프레임 워크는 Akka / Spray 위에 구축되었습니다.
이 프레임 워크는 Oala의 REST API를 사용하여 자동화 된 거래 전략을 테스트 / 테스트하는 첫 번째 단계 인 Scala 배경에서 오는 사람들에게 유용 할 수 있습니다. 내 생각에 가장 유용한 소매 API 중 하나입니다. 이 작업이 진행 중이므로 스칼라 애호가이며 자동화 된 트레이딩에 관심이 있다면 모양을 자유롭게하고 repo를 포크로 작성하고 기여하십시오!
repo를 복제하고 거래 논리를 StrategyFSM. scala에 저장하십시오. Oanda의 REST API에 대한 자신의 계정 ID와 액세스 토큰을 포함하도록 AuthInfo. scala를 수정하는 것을 잊지 마십시오.
참고 : Scala / Akka를 사용하여 Oanda REST API에 연결하는 방법을 찾고 있다면 Scalanda 프로젝트를 확인하십시오.
&부; 2017 GitHub, Inc. 용어 개인 정보 보안 상태 도움말.
현재이 작업을 수행 할 수 없습니다.
다른 탭이나 창을 사용하여 로그인했습니다. 새로 고침하여 세션을 새로 고침하십시오. 다른 탭이나 창에서 로그 아웃했습니다. 새로 고침하여 세션을 새로 고침하십시오.
No comments:
Post a Comment