저는 고 빈도 거래 포트폴리오 (틱 데이터가 아닌 1 분 또는 3 분간의 데이터 바를 다루는)의 생산, 최적화 및 시뮬레이션을 담당하는 거래 포트폴리오 관리 시스템을 구축 중입니다.계산 중심의 거래 포트폴리오 시뮬레이션을위한 프로그래밍 언어는 무엇입니까?
Amazon 웹 서비스를 사용하여 응용 프로그램의 전체로드를 사용할 계획입니다.
나는 언어로서 고려하고있는 4 가지 선택 사항이있다. 여기에 자바
- 는 프로젝트 범위의 극단의 범위이다. 이것은 어쩌면 그럴 수는 없지만 요구 사항의 범위 내에 있습니다 :
- 주간 10,000,000 개의 거래 시스템 시뮬레이션.
- (각 거래 시스템에는 계산 비용이 많이 드는 기능 선택 알고리즘을 포함하여 자체 데이터 마이닝 방법이 있어야합니다.) 래퍼를 사용하여 500-5000 기능을 상상해보십시오.이 방법은 자주 실행되지는 않지만 여전히 고려 사항입니다.) 10 만/거래 전략 지구 (약 100,000) 100,000와 포트폴리오
- 포트폴리오 최적화 주위에 모든 재고/선물 시장에서 1 분 또는 3 개 데이터에 촬영
- 와트 포트폴리오의
- 실시간 생산 전략. (다소 집중적 인 알고리즘)
속도는 걱정이지만 Java가 부하를 처리 할 수 있다고 생각합니다.
Java CAN이 위의 요구 사항을 편안하게 처리 할 수 있도록하려는 것입니다. C++로 프로젝트를하고 싶지는 않지만 필요하다면 그렇게 할 것입니다.
C#이있는 이유는 Java를 사용하는 것이 좋지 않다고 생각했기 때문입니다. Windows가 전혀 마음에 들지 않아 모든 것이 동일하면 Java를 선호한다고해도 마찬가지입니다.
파이썬 - 저는 python이 파이썬이 거의 C와 비슷한 속도로 실행되도록 컴파일 할 수있는 JIT 컴파일러로 최적화 될 수 있다고 PyPy와 pyscho에서 한 번 읽었습니다 ... 사실 그 외에도이 목록에있는 유일한 이유입니다 Python은 훌륭한 언어이며 아마도이 프로젝트에서 전혀 중요한 요소가 아니라 코드에서 가장 즐거운 언어가 될 것입니다.
요약하면 :
- 실시간 생산 연결
- 많은 수의 에서 데이터를 수집하는 포트폴리오의
- 주간/월간 최적화 많은 수의 시스템
- 매주 시뮬레이션
밀리 초 또는 2 차 기반 거래에 대한 처리가 없습니다.유일한 고려 사항은 필요한 양의 EC2 서버에서 Java가 확산 될 때 이러한 종류의 부하를 처리 할 수 있는지 여부입니다.
여러분의 지혜에 감사드립니다.
C++이 Java보다 빠를 것이라고 추측 할 이유는 없습니다 (항상 가정하는 것처럼 보입니다). 항상 그런 것은 아니기 때문입니다. – Jesper
좋아, 찍은 포인트 Jesper. 나는 C++을 간신히 알고있다. 나는 방향을 선택하고 그것에 충실하려고 노력하고있다. 파이썬을 옹호하는 사람들에게 ... 파이썬 사용의 명백한 이점 외에도 자바와 파이썬의 성능에는 차이가 있습니까? 이것이 결국 실제 거래에 사용될 것이라고 생각합니다. 파이썬이 Java보다 훨씬 느린 지 또는 내 결정을 방해하는 속도가 더 빠르면 ("C와 유사한 속도"근처) 솔직하게 말할 수 없습니다. 나는 내가 자바에 가고있는 줄 알았다. 그러나 아직 돌에 놓여 있지 않다. 감사합니다. – Bijan
자바 (언어)와 함께 JVM에서 자이 썬을 사용할 수 있다는 것을 알아 두십시오. 자이 썬이 얼마나 성숙한 것인지 잘 모르겠다. 파이썬을 잘 모르는 사람이라면 Java를 사용합니다. –