트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 298

 
안드레이 딕 :

개발에 조금 더 시간을 할애하고 항상 빠르게 계산하는 것이 더 낫습니까? 아니면 빠르게 개발하고 항상 느린 계산을 참고 견디는 것이 더 낫습니까?

R에서 개발 속도는 빠르지만 계산 속도가 느린 경우 어디에서 계산해야 할까요? 천천히 달리는 슈퍼카를 빨리 개발하려면? 씨발 슈퍼카가 필요해.


연구 과제에서 가장 중요한 것은 개발 속도입니다. 초고속 코드를 작성하지만 하루에 하나의 가설을 테스트하는 사람 대신 느린 코드를 작성하고 밤새 계산을 실행하는 사람을 쉽게 고용하지만 다음 날까지 그는 20개의 가설을 테스트합니다.

모델의 생산 -구현을 위해 가장 유망한 모델을 고속 언어로 다시 작성할 작은 급여로 한 명을 더 고용하는 것이 더 쉽습니다. 많은 프로그래머가 있고 경쟁이 치열합니다. 하지만 새로운 것을 생각해낼 수 있는 연구원은 여전히 찾아야 합니다. :P

이것은 일반적인 관행입니다. 양적 연구원 및 양적 개발자의 위치를 찾습니다. 전자는 일반적으로 R/Python에 대한 지식이 필요하고 후자는 C++/Java에 대한 지식이 필요합니다.

 
익명 :


연구 과제에서 가장 중요한 것은 개발 속도입니다. 초고속 코드를 작성하지만 하루에 하나의 가설을 테스트하는 사람 대신 느린 코드를 작성하고 밤새 계산을 실행하는 사람을 쉽게 고용하지만 다음 날까지 그는 20개의 가설을 테스트합니다.

모델의 생산 -구현을 위해 가장 유망한 모델을 고속 언어로 다시 작성할 작은 급여로 한 명을 더 고용하는 것이 더 쉽습니다. 많은 프로그래머가 있고 경쟁이 치열합니다. 하지만 새로운 것을 생각해낼 수 있는 연구원은 여전히 찾아야 합니다. :P

이것은 일반적인 관행입니다. 양적 연구원 및 양적 개발자의 위치를 찾습니다. 전자는 일반적으로 R/Python에 대한 지식이 필요하고 후자는 C++/Java에 대한 지식이 필요합니다.

기성품의 빠른 C++ 라이브러리를 사용하는 것이 더 쉽지 않습니까? "빠른 개발"을 위해 R에서 동일하지만 느린 것을 사용하는 대신? 당신과 여기 있는 다른 많은 사람들은 끊임없이 개념을 대체합니다. 마찬가지로 C와 같은 환경에서 "빠른 개발"을 수행할 수 있습니다. 아니면 R에서 일하기 위해 데이터 마이닝과 통계에 대한 적절한 지식이 필요하지 않습니까? 마찬가지로 C로 개발할 때도 지식이 필요합니다. 그렇다면 왜 이중 작업을 할까요?

그리고 무슨 '평소 연습'을 말씀하시는지 모르겠는데 바로 1번 하는 게 익숙해요.

내 엔지니어링 실습에서 나는 종종 어떤 이유로 개발하기 쉬운 슈퍼 듀퍼 소프트웨어 시스템을 사용하면 분명히 성공할 것이라고 생각하는 사람들을 보았습니다 ... 그러나 그들은 한 가지를 이해할 수 없었습니다. 모든 것이 잘 운동하십시오. 또 다른 것이 필요합니다. 머리에 지방이 있습니다.

 
안드레이 딕 :

기성품의 빠른 C++ 라이브러리를 사용하는 것이 더 쉽지 않습니까? "빠른 개발"을 위해 R에서 동일하지만 느린 것을 사용하는 대신? 당신과 여기 있는 다른 많은 사람들은 끊임없이 개념을 대체합니다. 마찬가지로 C와 같은 환경에서 "빠른 개발"을 수행할 수 있습니다.

언어 선택은 귀하의 권리이자 사적인 문제입니다. 라이브러리의 경우 - 아아, 현대적이거나 특이한 알고리즘의 경우 모든 것을 직접 구현해야 합니다. "바이파워 분산"을 계산하는 라이브러리를 찾지 못했다고 가정해 보겠습니다(무슨 뜻인가요? :D).

아니면 R에서 일하기 위해 데이터 마이닝과 통계에 대한 적절한 지식이 필요하지 않습니까?

나는 이것을 주장하지 않았고 이 의견을 지지하지 않습니다.

그리고 무슨 '평소 연습'을 말씀하시는지 모르겠는데 바로 1번 하는 게 익숙해요.

내 엔지니어링 실습에서 나는 종종 어떤 이유로 개발하기 쉬운 슈퍼 듀퍼 소프트웨어 시스템을 사용하면 분명히 성공할 것이라고 생각하는 사람들을 보았습니다 ... 그러나 그들은 한 가지를 이해할 수 없었습니다. 모든 것이 잘 운동하십시오. 또 다른 것이 필요합니다. 머리에 지방이 있습니다.

코드의 95%가 R로 작성되는 몇 년 동안의 복잡성이 ##인 일부 프로젝트 에서 경험한 바에 따르면 다양한 도구가 다양한 작업에 적합하며 때로는 프로덕션이 아닌 프로토타입에 사용되는 경우 속도가 느립니다. 양적 금융 산업에서는 다양한 개발 단계에서 다양한 도구를 사용하는 것이 일반적인 관행이며, 이는 다양한 공석에 대한 전문가 요구 사항으로 확인됩니다. 내가 언급한 프로젝트는 모든 것을 알고 수행할 수 있고 문제에 대한 솔루션을 즉시 작성할 수 있는 보병에 의해 연구 단계 없이도 C와 같은 언어로 즉시 구현된다면 훨씬 더 복잡해질 것입니다.

나는 심을 위해 절합니다.

 
안드레이 딕 :

기성품의 빠른 C++ 라이브러리를 사용하는 것이 더 쉽지 않습니까? "빠른 개발"을 위해 R에서 동일하지만 느린 것을 사용하는 대신?

R에 대해 논의할 때 저는 항상 이 "그래픽 및 통계 시스템"에 대한 포괄적이고 체계적인 평가를 지지했습니다. 알고리즘 언어 자체는 제목에 전혀 언급되지 않습니다.

TS가 상관 함수로 구성되지 않기 때문에 위와 같이 특정 로컬 예제에서 μl 또는 다른 프로그래밍 언어의 코드 속도를 정면으로 비교하는 것은 완전히 정확하지 않습니다. 위에서 논의했지만 항상 코드와 함수 호출로 구성된 큰 집합입니다. R에는 방대한 기능 세트가 있기 때문에 코드는 일반적으로 적은 수의 라인(1000라인은 많음)을 갖지만 내용은 매우 방대합니다.

의미 있는 문제를 해결하는 프로그램 자체는 대략 두 부분으로 나눌 수 있습니다.

  1. R로 작성된 코드로서의 알고리즘
  2. R이 래퍼인 함수를 호출합니다.

제1항에 따르면, 상당한 양의 코드를 작성해야 한다면 속도 문제가 매우 심각할 수 있습니다. 극복하는 세 가지 방법이 있습니다.

  • 바이트코드로 변환
  • 모든 코어 및/또는 인접 컴퓨터에 대한 병렬화. 이것은 표준 도구이며 알고리즘이 허용하는 경우 매우 간단하게 수행됩니다.
  • 다른 언어로 다시 쓰기, 컴파일 유형. Cish 언어는 R의 기본 언어이며 이러한 삽입 프로세스가 잘 문서화되어 있습니다.

제2항에 따르면, 속도면에서 상황은 완전히 다르며, 마이크로 프로그램의 일반적인 개발에서 특별한 노력 없이는 속도면에서 R을 능가 할 수 있을지 의심됩니다.

예를 들어.

표면적으로는 R에서 벡터와 행렬에 대한 연산이 기본이라는 사실이 있습니다. <- b*c 와 같은 표현식은 인텔 라이브러리에서 실행됩니다. 주기가 없습니다. 모든 사람이 사용할 수 있으며 추가 지식이나 노력이 필요하지 않습니다. µl 프로그램을 개발할 때 사이클이 가장 많이 사용되지만 동일한 라이브러리를 참조하는 것도 가능하지만(프로그램이 시장용이 아닌 경우) 동일한 라이브러리를 달성하려면 충분히 높은 수준의 지식과 노력이 필요합니다. 결과.


하지만 그게 다가 아닙니다.

계산량이 많은 알고리즘으로 전환하고 이것이 R 함수에 대한 호출이라면 속도 문제에 직면한 개발자 자신이 이 문제를 처리하고 일반적으로 개발 단계에서 문제를 해결했습니다. 일반적으로 이것은 C 코드를 작성하거나 C 또는 Fortran의 라이브러리를 참조하여 해결됩니다. 또한 이러한 알고리즘에서는 호출 매개변수 중 많은 코어의 사용을 지정할 수 있습니다. R 개발자는 아무런 노력 없이 이 모든 것을 자동으로 받습니다. 구현 기술이 아닌 TS의 본질에 완전히 집중할 수 있습니다. µl 프로그램의 개발자가 R의 기능 개발자를 능가할 수 있을지는 의문입니다. TS의 본질이 아니라 속도에 대해 구체적으로 작업해야 합니다.


작성된 모든 것에서 성능의 올바른 비교는 µl당 실제 TS 코드와 µl+R당 동일한 코드를 작성하고(R에는 거래 주문 이 없음) 비교하는 것입니다. 그러나 모든 영광에서 - 우리가 그것을 필요로합니까?

 
mytarmailS :
반복 플롯으로 작업을 시도한 사람이 있습니까? https://habrahabr.ru/post/145805/ 여기에서 읽을 수 있습니다. 특히 원시 VR 대신 MO를 슬립합니까? 옵션이 떨어질 수 있으므로


그리고‌ 더 읽기 http://geo.phys.spbu.ru/Problems_of_geophysics/2005/20_Zolotova_38_2005.pdf


구현할 수 있는 사람들을 위한 아이디어입니다. 머신 비전을 사용하여 일치하는 패턴을 찾기 위해 이러한 반복 플롯을 비교합니다. 비자발적 상관관계를 대체하기 위해
 
막심 드미트리예프스키 :

구현할 수 있는 사람들을 위한 아이디어입니다. 머신 비전을 사용하여 일치하는 패턴을 찾기 위해 이러한 반복 플롯을 비교합니다. 비자발적 상관관계를 대체하기 위해
과시하지 않고 가장 빈번한 패턴을 찾을 수 있습니다. 하지만 그게 무슨 소용이 있겠습니까?
 
fxsaber :

이전에는 TS가 일부 아이디어를 테스트할 수 없었습니다. 일부 알고리즘의 낮은 성능에 반했습니다. 이 경우, 이것이 정확히 일어났습니다. 대안 알고리즘을 통해 최적화 프로그램은 이전에는 합리적인 시간에 계산할 수 없었던 오래된 아이디어를 탐색할 수 있었습니다.


수천억 개의 패턴을 가진 수천억 개의 Pearson CC를 셀 필요가 있을 때 겉보기에 단순한 작업의 저속은 극복할 수 없는 병목 현상이 됩니다. 문제가 계산적 관점에서 너무 무거워 보인다면 이해도가 낮아 제대로 공식화되지 않은 문제라고 말할 수 있습니다. 당신이 옳은 것 같다. 하지만 할 일은 끝났습니다. 그리고 다른 사람들이 어떻게 하는지 보는 것은 항상 흥미롭습니다.


그리고 GPU에서도 구현하면 비용이 들지 않습니다.))
 
fxsaber :
과시하지 않고 가장 빈번한 패턴을 찾을 수 있습니다. 하지만 그게 무슨 소용이 있겠습니까?

물론 패턴에 대한 전략의 경우)가 반드시 가장 빈번한 것은 아니며 많은 옵션이 있을 수 있습니다.
 
막심 드미트리예프스키 :

물론 패턴에 대한 전략의 경우)가 반드시 가장 빈번한 것은 아니며 많은 옵션이 있을 수 있습니다.

이것은 내가 이해하지 못하는 것입니다. 패턴 데이터를 사용하면 정보 손실이 거의 없는(다양한 미디어) 데이터를 압축할 때 유용합니다. 그러나 HARDWARE에게 어떤 면이 있습니까?

이 주제에 대해 이야기하는 가장 쉬운 방법은 가장 일반적인 패턴을 예로 사용하는 것입니다. 그를 찾는 것은 어려운 일이 아닙니다.

다음은 일종의 자가굴린(패턴)이 가장 일반적입니다. 그의 선택의 기준은 이제 그다지 중요하지 않습니다. 자가굴린이 있게 하십시오. 거래에 어떻게 사용합니까?

마지막 기록이 zagagulin의 처음 80%와 일치하면 다음 가격은 zagagulin의 나머지 20%와 같은 방식으로 진행됩니다.

 
fxsaber :

이것은 내가 이해하지 못하는 것입니다. 패턴 데이터를 사용하면 정보 손실이 거의 없는(다양한 미디어) 데이터를 압축할 때 유용합니다. 그러나 HARDWARE에게 어떤 면이 있습니까?

이 주제에 대해 이야기하는 가장 쉬운 방법은 가장 일반적인 패턴을 예로 사용하는 것입니다. 그를 찾는 것은 어려운 일이 아닙니다.

다음은 일종의 자가굴린(패턴)이 가장 일반적입니다. 그의 선택의 기준은 이제 그다지 중요하지 않습니다. 자가굴린이 있게 하십시오. 거래에 어떻게 사용합니까?

마지막 기록이 zagagulin의 처음 80%와 일치하면 다음 가격은 zagagulin의 나머지 20%와 같은 방식으로 진행됩니다.


이게 왜 넌센스라고 생각하시나요? 동일한 이력에서 예측이 확인된 경우
사유: