알고리즘 거래 전략을 식별하는 방법

저자:선함, 2019-03-27 11:08:57에서 제작, 업데이트:

이 기사에서는 제가 직접 수익성 있는 알고리즘 트레이딩 전략을 식별하는 방법에 대해 소개하고자 합니다. 오늘 우리의 목표는 그러한 시스템을 찾는 방법, 평가하고 선택하는 방법을 자세히 이해하는 것입니다. 저는 전략을 식별하는 것이 전략 성과와 마찬가지로 개인적인 선호도에 대한 방법, 테스트를 위한 역사 데이터의 종류와 양을 결정하는 방법, 거래 전략을 무관심하게 평가하는 방법, 그리고 마지막으로 백테스팅 단계와 전략 구현으로 진행하는 방법을 설명하겠습니다.

거래 에 대한 자신 의 개인적 취향 을 파악 하는 것

성공적 인 거래자 가 되기 위해 - 사법적 으로든 알고리즘적 으로든 - 자신 에게 정직 한 질문 을 던져야 한다. 거래 는 위험 한 속도로 돈을 잃을 수 있는 능력을 제공 해 준다. 따라서 선택 한 전략 을 이해 하기 위해 필요한 것 만큼 자신 을 아는 것 이 필요하다.

나는 거래에서 가장 중요한 고려 사항은 자신의 성격에 대한 인식이라고 말할 것입니다. 특히 거래 및 알고리즘 거래는 상당한 수준의 규율, 인내심 및 정서적 분리를 요구합니다. 알고리즘이 당신을 위해 거래를 수행하도록 허용하기 때문에 실행되는 전략에 간섭하지 않도록 결의해야합니다. 이것은 특히 긴 인하 기간에 매우 어려울 수 있습니다. 그러나 백테스트에서 매우 수익성이있는 것으로 입증 된 많은 전략은 간단한 간섭으로 파괴 될 수 있습니다. 알고리즘 거래 세계로 진출하고 싶다면 정서적으로 테스트 될 것이며 성공하기 위해서는 이러한 어려움을 극복해야합니다!

다음 고려 사항은 시간입니다. 당신은 풀 타임 직장을 가지고 있습니까? 당신은 파트 타임을 일합니까? 당신은 집에서 일합니까 또는 매일 긴 출퇴근을합니까? 이러한 질문은 당신이 추구해야 할 전략의 빈도를 결정하는 데 도움이 될 것입니다. 풀 타임 고용에 있는 사람들에게는 하루 내 선물 전략이 적절하지 않을 수 있습니다 (적어도 완전히 자동화 될 때까지!). 당신의 시간 제약은 또한 전략의 방법론을 지시합니다. 당신의 전략이 자주 거래되고 비싼 뉴스 피드 (블룸버그 터미널과 같은) 에 의존하는 경우 당신은 분명히 사무실에서 이것을 성공적으로 실행 할 수있는 능력에 대해 현실적이어야합니다! 많은 시간이 있거나 전략을 자동화 할 수있는 기술이있는 사람들에게는 더 기술적 인 고 주파수 거래 (HFT) 전략을 살펴보고 싶을 수 있습니다.

내 신념은 지속적으로 수익성있는 포트폴리오를 유지하기 위해 거래 전략에 대한 지속적인 연구를 수행하는 것이 필요하다는 것입니다. 몇 가지 전략은 영원히 레이더 아래에 남아 있습니다. 따라서 거래에 할당되는 시간의 상당 부분은 지속적인 연구를 수행하는 데 사용됩니다. 강력한 수익성 또는 손실로 느린 감소 사이의 차이점이 될 수 있기 때문에 이것을 할 준비가되어 있는지 스스로 물어보십시오.

당신은 또한 당신의 거래 자본을 고려해야합니다. 양적 전략에 대한 일반적으로 허용된 이상적 최소 금액은 50,000 USD (우리 영국에서 약 35,000 파운드). 내가 다시 시작한다면, 나는 더 큰 금액으로 시작할 것입니다. 아마도 100,000 USD (약 70,000 파운드) 에 가깝습니다. 이것은 중~고 빈도 전략에 대한 거래 비용이 매우 비싸고 마감시에 흡수 할 충분한 자본이 필요하기 때문입니다. 10,000 USD 미만으로 시작하는 것을 고려한다면 거래 비용이 신속하게 수익을 섭취 할 것이기 때문에 하나 또는 두 가지 자산으로 거래하는 저 빈도 전략에 자신을 제한해야합니다. 최소 API로 인해 프로그래밍 기술을 가진 사람들에게 가장 친절한 중개인 Interactive Brokers에는 10,000 USD의 소매 계좌가 있습니다.

프로그래밍 능력은 자동화된 알고리즘 거래 전략을 만드는 데 중요한 요소입니다. C++, Java, C#, Python 또는 R와 같은 프로그래밍 언어를 잘 아는 것은 끝에서 끝까지 데이터 저장, 백테스트 엔진 및 실행 시스템을 직접 만들 수 있습니다. 이것은 여러 가지 장점을 가지고 있으며, 그 중 가장 중요한 것은 거래 인프라의 모든 측면을 완전히 인식 할 수있는 능력입니다. 또한 기술 스택의 완전한 통제를 할 수 있기 때문에 높은 주파수 전략을 탐색 할 수 있습니다. 이것은 당신이 자신의 소프트웨어를 테스트하고 버그를 제거 할 수 있음을 의미하지만, 그것은 또한 코딩 인프라에 더 많은 시간을 보내고 전략을 구현하는 데 덜 시간을 할애한다는 것을 의미합니다. 적어도 당신의 거래 경력의 초기 부분에서. 당신은 엑셀 또는 MATLAB에서 편안하게 거래하고 다른 구성 요소의 개발을 아웃소싱 할 수 있다는 것을 발견 할 수 있습니다. 그러나 나는 특히 높은 주파수에서 거래하는 사람들을 위해 이것을 권장하지 않을 것입니다.

알고리즘 트레이딩을 통해 무엇을 달성하기를 희망하는지 스스로에게 물어봐야 합니다. 거래 계좌에서 수익을 얻을 수 있는 정기적 인 수입에 관심이 있습니까? 또는 장기적 자본 이득에 관심이 있으며 자금을 끌어내리지 않고 거래를 할 수 있습니까? 소득 의존도는 전략의 빈도를 결정합니다. 더 규칙적인 수입 인출은 변동성이 적은 더 높은 빈도 거래 전략 (즉, 더 높은 샤프 비율) 을 필요로합니다. 장기적인 거래자는 더 평온한 거래 빈도를 감당할 수 있습니다.

마지막으로, 짧은 시간 내에 극도로 부유해질 것이라는 개념에 속지 마십시오! 알고 거래는 빠르게 부자가 되는 스키마가 아닙니다. 그렇지 않으면 가난하게 되는 스키마가 될 수 있습니다. 알고리즘 거래에서 성공하기 위해서는 상당한 징계, 연구, 치열함과 인내심이 필요합니다. 일관된 수익성을 창출하는 데 몇 달이 걸리더라도 몇 년이 걸릴 수 있습니다.

알고리즘 트레이딩 아이디어의 소싱

반대로 일반적인 인식에도 불구하고, 실제로는 공공 영역에서 수익성있는 거래 전략을 찾는 것이 매우 간단합니다. 거래 아이디어는 오늘날보다 쉽게 사용할 수 없었습니다. 학술 금융 저널, 사전 인쇄 서버, 거래 블로그, 거래 포럼, 주간 거래 잡지 및 전문 텍스트는 아이디어를 기반으로 할 수 있는 수천 개의 거래 전략을 제공합니다.

양적 거래 연구자로서 우리의 목표는 지속적인 거래 아이디어의 흐름을 제공하는 전략 파이프 라인을 구축하는 것입니다. 이상적으로는 우리가 만나는 전략을 소싱하고 평가하고 구현하는 방법론적 접근 방식을 만들고 싶습니다. 파이프 라인의 목표는 일관된 양의 새로운 아이디어를 생성하고 최소한의 감정적 고려로 이러한 아이디어의 대부분을 거부 할 수있는 틀을 제공하는 것입니다.

우리는 인지적 편견이 의사 결정 방법론에 영향을 미치지 않도록 매우 조심해야합니다. 이것은 다른 자산 클래스에 대한 선호도 (황금 및 기타 귀금속이 마음에 들어) 를 갖는 것만큼 간단 할 수 있습니다. 왜냐하면 그들은 더 이국적인 것으로 인식되기 때문입니다. 우리의 목표는 항상 긍정적 인 기대와 함께 지속적으로 수익성있는 전략을 찾는 것입니다. 자산 클래스의 선택은 거래 자본 제약, 중개 수수료 및 레버리지 능력과 같은 다른 고려 사항에 기초해야합니다.

거래 전략의 개념에 대해 완전히 익숙하지 않은 경우, 먼저 살펴봐야 할 곳은 기존의 교과서입니다. 클래식 텍스트는 양적 거래에 익숙해질 수 있는 더 간단하고 더 직접적인 다양한 아이디어를 제공합니다. 다음은 양적 거래에 처음 접하는 사람들을 위해 추천하는 선택지입니다. 목록에서 작업함에 따라 점차 더 정교해집니다.

  • 양적 거래: 자신의 알고리즘 거래 비즈니스를 구축하는 방법 (와일리 거래) - 어니스트
  • 알고리즘 거래와 DMA: 직접 접근 거래 전략에 대한 소개 - 배리 존슨
  • 옵션 변동성 및 가격: 고급 거래 전략 및 기술 - 셸던 나텐버그
  • 변동성 거래 - Euan Sinclair
  • 거래 및 교환: 실무자를위한 시장 미시 구조 - 래리 해리스

양적 거래 책들의 더 긴 목록은 QuantStart 읽기 목록을 참조하십시오.

더 정교한 전략을 찾는 다음 장소는 거래 포럼과 거래 블로그입니다. 그러나 주의: 많은 거래 블로그는 기술적 분석의 개념에 의존합니다. 기술적 분석은 자산 가격의 추세 또는 역전 패턴을 결정하기 위해 기본 지표와 행동 심리학을 활용하는 것을 포함합니다.

전체 거래 공간에서 매우 인기가 있음에도 불구하고, 기술적 분석은 양적 금융 커뮤니티에서 다소 비효율적이라고 간주됩니다. 어떤 사람들은 예측력 측면에서 별자리 읽거나 차 잎을 연구하는 것보다 낫지 않다고 제안했습니다! 실제로 기술적 분석을 사용하는 성공적인 개인이 있습니다. 그러나, 우리가 사용할 수있는 더 정교한 수학적 및 통계적 도구 상자와 함께, 우리는 쉽게 그러한 TA 기반의 전략의 효과를 평가하고 감정적 고려 또는 선입견에 기초하지 않고 데이터 기반의 결정을 내릴 수 있습니다.

다음은 잘 존경받는 알고리즘 거래 블로그와 포럼 목록입니다.

  • 길거리 전체
  • 양성성
  • 양적 거래 (에르네스트 )
  • 퀀토피안
  • 퀀트피디아
  • ETF 본부
  • Quant.ly
  • 엘리트 트레이더 포럼
  • 부 연구소
  • 원자력 금융
  • 윌모트 포럼

간단한 전략을 평가하는 데 약간의 경험을 쌓았을 때, 더 정교한 학술 제공을 살펴볼 때입니다. 일부 학술 저널은 높은 구독 또는 일회성 비용없이 액세스하기가 어려울 것입니다. 만약 당신이 대학의 회원 또는 졸업생이라면, 이러한 금융 저널의 일부에 액세스 할 수 있어야합니다. 그렇지 않으면, 학술 논문의 최신 초안의 인터넷 저장소인 프리 프린트 서버를 살펴볼 수 있습니다. 우리는 성공적으로 복제, 백테스트 및 수익성을 얻을 수있는 전략에만 관심이 있기 때문에, 동료 검토는 우리에게 덜 중요합니다.

학술 전략의 주요 단점은 종종 시대에 뒤떨어질 수 있고 모호하고 비싼 역사적 데이터를 요구하고, 유동성 없는 자산 클래스에 거래하거나 수수료, 미끄러짐 또는 스프레드를 고려하지 않는다는 것입니다. 또한 거래 전략이 시장 명령, 제한 명령 또는 스톱 손실 등을 포함하는지 여부는 명확하지 않을 수 있습니다. 따라서 전략을 최대한 잘 복제하고 백테스트하고 거래하고자하는 자산 클래스의 많은 측면을 포함하는 현실적인 거래 비용을 추가하는 것이 절대적으로 중요합니다.

다음은 당신이 아이디어를 얻을 수있는 더 인기있는 사전 인쇄 서버와 금융 저널 목록입니다:

  • arXiv
  • SSRN
  • 투자 전략 저널
  • 컴퓨팅 금융 학술지
  • 수학 금융

자신의 양적 전략을 세우는 것은 어떨까요? 일반적으로 다음 과목 중 하나 이상의 전문 지식을 필요로 합니다.

  • 시장 미세구조 - 특히 높은 빈도 전략의 경우 수익성을 창출하기 위해 시장 미세구조, 즉 주문부 역학에 대한 이해를 활용할 수 있습니다. 다른 시장에는 다양한 기술 제한, 규제, 시장 참여자 및 제약이 있으며, 모두 특정 전략을 통해 활용 할 수 있습니다. 이것은 매우 정교한 영역이며 소매업자들은 특히 경쟁이 강력한 기술 역량으로 큰 양적 헤지 펀드를 포함하기 때문에이 공간에서 경쟁력을 확보하기가 어려울 것입니다.
  • 펀드 구조 - 연금 기금, 민간 투자 파트너십 (헤지 펀드), 상품 거래 자문자 및 뮤추얼 펀드와 같은 펀드 구조는 무거운 규제와 대규모 자본 보유에 의해 제한됩니다. 따라서 더 유연한 것과 특정 일관성있는 행동을 활용 할 수 있습니다. 예를 들어, 큰 펀드는 크기 때문에 용량 제약에 시달립니다. 따라서 증권의 양을 빠르게 출하 (판매) 해야 할 경우, 시장의 움직임을 피하기 위해 점진해야합니다. 정교한 알고리즘은 이것을 활용하고 다른 특이한 특성을 펀드 구조 중재로 알려진 일반적인 과정에서 사용할 수 있습니다.
  • 기계 학습/인공지능 - 머신 학습 알고리즘은 최근 몇 년 동안 금융 시장에서 더욱 보편화되었습니다. 분류기 (나이브-베이즈, et al.) 비선형 함수 매칭 (신경 네트워크) 및 최적화 루틴 (유전적 알고리즘) 모두 자산 경로를 예측하거나 거래 전략을 최적화하기 위해 사용되었습니다.이 분야에서 배경이있는 경우 특정 알고리즘이 특정 시장에 어떻게 적용될 수 있는지에 대한 통찰력을 가질 수 있습니다.

물론 퀀트가 조사해야 할 다른 많은 영역이 있습니다. 우리는 나중에 어떻게 사용자 지정 전략을 세밀하게 논의 할 것입니다.

이러한 소스를 매주 또는 매일 지속적으로 모니터링함으로써 다양한 소스에서 일관된 전략 목록을 수신 할 수 있습니다. 다음 단계는 수익성이 없을 가능성이있는 전략에 대한 시간과 백테스팅 자원을 최소화하기 위해 이러한 전략의 큰 부분 집합을 거부하는 방법을 결정하는 것입니다.

거래 전략 평가

첫 번째, 그리고 가장 명백한 고려 사항은 실제로 전략을 이해하는지 여부입니다. 전략을 간결하게 설명 할 수 있습니까? 아니면 경고와 끝없는 매개 변수 목록을 필요로합니까? 또한, 전략은 현실에서 좋은, 견고한 근거를 가지고 있습니까? 예를 들어, 당신이 착취하려고하는 패턴을 유발할 수있는 행동의 합리성 또는 펀드 구조 제약에 대해 지적 할 수 있습니까? 이러한 제약은 급격한 규제 환경 장애와 같은 체제 변화에 견딜 수 있습니까? 전략은 복잡한 통계 또는 수학적 규칙에 의존합니까? 그것은 어떤 금융 시간 시리즈에 적용됩니까? 또는 수익성이 있다고 주장되는 자산 클래스에 특정합니까? 새로운 거래 방법을 평가 할 때 이러한 요소에 대해 끊임없이 생각해야합니다. 그렇지 않으면 수익성이없는 전략을 테스트하고 최적화하는 데 상당한 시간을 낭비 할 수 있습니다.

일단 전략의 기본 원칙을 이해한다고 결정하면 앞서 언급한 성격 프로필에 맞는지 여부를 결정해야 합니다. 이것은 들릴만큼 모호한 고려 사항이 아닙니다! 전략은 성능 특성에서 크게 다를 것입니다. 더 큰 마감 기간을 처리 할 수 있거나 더 큰 수익을 위해 더 큰 위험을 기꺼이 받아들이는 특정 성격 유형이 있습니다. 우리가 양자로서 가능한 한 많은 인지 편견을 제거하고 평가 할 수 있어야한다는 사실에도 불구하고 편견은 항상 침투 할 것입니다. 따라서 전략의 성능을 평가 할 수있는 일관성 있고 감정적이지 않은 수단이 필요합니다. 다음은 잠재적인 새로운 전략을 판단하는 기준 목록입니다.

  • 방법론 - 전략은 동력에 기반하고, 평균을 역전하고, 시장 중립적이고, 방향성을 가지고 있습니까? 전략은 이해하기 어렵고 통계학 박사 학위를 필요로하는 정교한 (또는 복잡한!) 통계학 또는 기계 학습 기술에 의존합니까? 이러한 기술은 최적화 편향으로 이어질 수있는 상당한 양의 매개 변수를 도입합니까? 전략은 체제 변경 (즉 금융 시장의 잠재적 인 새로운 규제) 에 견딜 가능성이 있습니까?
  • 샤르프 비율 - 샤르프 비율은 전략의 보상/위험 비율을 유리스틱하게 특징으로 한다. 그것은 주식 곡선에서 겪는 변동성 수준에 대해 얼마나 많은 수익을 얻을 수 있는지 정량화한다. 당연히, 우리는 이러한 수익과 변동성 (즉 표준편차) 이 측정되는 기간과 주파수를 결정해야 한다. 더 높은 주파수 전략은 표준편차의 더 큰 샘플링 비율이 필요하지만, 예를 들어 측정의 전반적인 기간이 짧을 것이다.
  • 레버리지 - 전략은 수익성이 높기 위해 상당한 레버리지를 필요로합니까? 전략은 수익을 창출하기 위해 레버리지 파생 상품 계약 (미래, 옵션, 스와프) 을 사용해야합니까? 이러한 레버리지 계약은 높은 변동성을 특징으로하고 따라서 쉽게 마진 호출으로 이어질 수 있습니다. 그러한 변동성에 대한 거래 자본과 기질이 있습니까?
  • 주파수 - 전략의 주파수는 기술 스택 (그리고 따라서 기술 전문성), 샤르프 비율 및 전체 거래 비용 수준과 밀접하게 연결되어 있습니다. 다른 모든 문제를 고려하면 더 높은 주파수 전략은 더 많은 자본이 필요하며, 더 정교하고 구현하기가 어렵습니다. 그러나 백테스팅 엔진이 정교하고 버그가 없는 것으로 가정하면 훨씬 높은 샤르프 비율을 가질 수 있습니다.
  • 변동성 - 변동성은 전략의 위험과 밀접하게 관련이 있습니다. 샤프 비율은 이것을 특징으로합니다. 기반 자산 클래스의 높은 변동성은 헤지되지 않으면 종종 주식 곡선에서 더 높은 변동성과 더 작은 샤프 비율로 이어집니다. 나는 물론 긍정적 인 변동성이 부정적인 변동성과 대략 같다고 가정합니다. 일부 전략은 더 큰 하향 변동성을 가질 수 있습니다. 이러한 특성을 알아야합니다.
  • 이긴/손실, 평균 이익/손실 - 전략은 이긴/손실 및 평균 이익/손실 특성에 따라 다를 수 있다. 손실 트레이드의 수가 이긴 트레이드의 수를 초과하더라도 매우 수익성 있는 전략을 가질 수 있다. 모멘텀 전략은 이윤을 창출하기 위해 소수의 큰 히트에 의존하기 때문에 이러한 패턴을 갖는 경향이 있다. 평균 역전 전략은 트레이드의 대부분이 이긴 트레이드들이지만 손실 트레이드가 상당히 심각할 수 있는 상반된 프로파일을 갖는 경향이 있다.
  • 최대 마감 (Maximum Drawdown) - 최대 마감은 전략의 주식 곡선에서 최대 전체 최고에서 최저 비율 감소입니다. 모멘텀 전략은 연장 마감 기간 (많은 증대 손실 거래의 연속으로 인해) 에 시달리는 것으로 잘 알려져 있습니다. 많은 거래자는 전략에 대한 "상상과 같은 비즈니스"라고 제안 한 경우에도 연장 마감 기간에 포기합니다. 전략 거래를 중단하기 전에 수요의 비율 (그리고 어느 기간 동안) 을 결정할 필요가 있습니다. 이것은 매우 개인적인 결정이며 따라서 신중하게 고려해야합니다.
  • 용량/유동성 - 소매 수준에서, 당신이 매우 유동성 없는 도구 (작은 자본 주식 같은) 에 거래하지 않는 한, 당신은 전략 용량에 대해 크게 걱정할 필요가 없습니다. 용량은 더 많은 자본을 위한 전략의 확장성을 결정합니다. 많은 대형 헤지 펀드는 자본 할당을 증가시키는 전략으로 인해 상당한 용량 문제로 고통 받고 있습니다.
  • 매개 변수 - 특정 전략 (특히 머신러닝 커뮤니티에서 발견되는 전략) 은 많은 양의 매개 변수를 필요로 한다. 전략이 필요로 하는 모든 추가 매개 변수는 최적화 편향에 더 취약하게 만든다. 가능한 한 몇 개 매개 변수를 가진 전략을 타겟팅하거나 전략을 테스트할 수 있는 충분한 양의 데이터를 가지고 있는지 확인해야 한다.
  • 벤치마크 (Benchmark) - 거의 모든 전략 (absolute return로 특징지어지지 않는 경우) 은 어떤 성능 벤치마크에 비해 측정된다. 벤치마크는 일반적으로 전략이 거래하는 기본 자산 클래스의 큰 표본을 특징짓는 지수이다. 전략이 대규모 자본 미국 주식으로 거래되는 경우, S&P500은 전략을 측정하는 자연스러운 벤치마크가 될 것이다. 당신은 이 유형의 전략에 적용된 용어인 알파베타을 듣게 될 것이다. 우리는 나중에 기사에서 이러한 계수를 심도있게 논의할 것이다.

전략의 실제 수익률을 논의하지 않았다는 점에 유의하십시오. 왜 그런가? 고립적으로 수익률은 실제로 전략의 효과에 대한 제한된 정보를 제공합니다. 그들은 레버리지, 변동성, 벤치마크 또는 자본 요구 사항에 대한 통찰력을 제공하지 않습니다. 따라서 전략은 거의 수익률만으로 판단되지 않습니다. 수익률을 보기 전에 항상 전략의 위험 특성을 고려하십시오.

이 단계에서 파이프 라인에서 발견 된 많은 전략은 자본 요구 사항, 레버리지 제약, 최대 마감 용도 또는 변동성 선호도를 충족시키지 못하기 때문에 즉시 거부 될 것입니다. 남아있는 전략은 이제 역 테스트를 고려 할 수 있습니다. 그러나 이것이 가능하기 전에 이러한 전략을 테스트 할 수있는 사용 가능한 역사적 데이터의 최종 거부 기준을 고려해야합니다.

역사적 자료 를 수집 하는 것

오늘날, 역사적 데이터 저장에 대한 자산 클래스 전반에 대한 기술적 요구 사항의 폭은 상당합니다. 경쟁력을 유지하기 위해, 구매 측 (펀드) 및 판매 측 (투자 은행) 모두 기술 인프라에 크게 투자합니다. 그 중요성을 고려하는 것이 필수적입니다. 특히, 우리는 시기적절성, 정확성 및 저장 요구 사항에 관심이 있습니다. 나는 이제 역사적 데이터를 얻는 기본 사항과 그것을 저장하는 방법을 설명 할 것입니다. 불행히도 이것은 매우 깊고 기술적 인 주제입니다. 따라서 나는이 기사에서 모든 것을 말할 수 없습니다. 그러나 금융 업계에서 나의 이전 산업 경험이 주로 금융 데이터 획득, 저장 및 액세스와 관련이 있었기 때문에 미래에 이것에 대해 더 많이 쓸 것입니다.

이전 섹션에서 우리는 우리 자신의 개인적인 거부 기준에 따라 특정 전략을 거부 할 수있는 전략 파이프 라인을 설정했습니다. 이 섹션에서는 역사적 데이터를 얻기위한 우리의 선호도에 따라 더 많은 전략을 필터링합니다. 주요 고려 사항 (특히 소매업자 수준에서) 은 데이터의 비용, 저장 요구 사항 및 기술 전문의 수준입니다. 또한 사용 가능한 다양한 유형의 데이터와 각 유형의 데이터가 우리에게 부과하는 다른 고려 사항에 대해 논의해야합니다.

사용 가능한 데이터의 종류와 우리가 생각해야 할 주요 문제들에 대해 논의함으로써 시작합시다.

  • 기본 데이터 (Fundamental Data) - 이 데이터에는 이자율, 인플레이션 수치, 기업 행동 (배당, 주식 분할), SEC 제출, 기업 계좌, 수익 수치, 작물 보고서, 기상 데이터 등과 같은 거시 경제 추세에 대한 데이터가 포함됩니다. 이 데이터는 종종 회사 또는 다른 자산을 기본적 인 기준으로 평가하는 데 사용됩니다. 즉 예상되는 미래 현금 흐름의 일부 방법을 통해. 주식 가격 시리즈를 포함하지 않습니다. 일부 기본 데이터는 정부 웹 사이트에서 자유롭게 사용할 수 있습니다. 다른 장기적 역사적 기본 데이터는 매우 비싸질 수 있습니다. 저장 요구 사항은 한 번에 수천 개의 회사가 연구되지 않는 한 특히 크지 않습니다.
  • 뉴스 데이터 (News Data) - 뉴스 데이터는 종종 질적 성격을 띠고 있다. 기사, 블로그 게시물, 마이크로 블로그 게시물 (트위트) 및 편집으로 구성된다. 분류기와 같은 기계 학습 기법은 종종 정서를 해석하는 데 사용됩니다. 이 데이터는 또한 종종 언론 매체에 대한 구독을 통해 무료로 사용할 수 있거나 저렴합니다. 더 새로운 NoSQL 문서 저장 데이터베이스는 이러한 유형의 구조화되지 않은 질적 데이터를 저장하도록 설계되었습니다.
  • 자산 가격 데이터 - 이것은 양의 전통적인 데이터 도메인입니다. 자산 가격의 시간 계열으로 구성됩니다. 주식 (주식), 고정 소득 제품 (채권), 상품 및 외환 가격 모두이 클래스에 속합니다. 주식과 같은 간단한 자산 클래스에서 매일 역사적 데이터는 종종 쉽게 얻을 수 있습니다. 그러나 정확성과 청결성이 포함되고 통계 편차가 제거되면 데이터가 비싸게 될 수 있습니다. 또한 시간 계열 데이터는 특히 내일 데이터를 고려할 때 종종 상당한 저장 요구 사항을 가지고 있습니다.
  • 금융 도구 - 주식, 채권, 선물 및 더 이국적인 파생 옵션은 매우 다른 특성 및 매개 변수를 가지고 있습니다. 따라서 그들을 수용 할 수있는 "한 크기에 맞는 모든" 데이터베이스 구조가 없습니다. 다양한 금융 도구에 대한 데이터베이스 구조의 설계 및 구현에 상당한 주의가 필요합니다. 향후 기사에서 증권 마스터 데이터베이스를 구축 할 때 상황을 자세히 논의 할 것입니다.
  • 주파수 - 데이터의 주파수가 높을수록 비용과 저장 요구 사항이 커집니다. 낮은 주파수 전략에서는 매일 데이터가 종종 충분합니다. 높은 주파수 전략에서는 특정 거래 거래소 주문록 데이터의 틱 레벨 데이터 및 심지어 역사적 복사본을 얻는 것이 필요할 수 있습니다. 이러한 유형의 데이터에 대한 저장 엔진을 구현하는 것은 매우 기술적으로 집중적이며 강력한 프로그래밍 / 기술 배경을 가진 사람들에게만 적합합니다.
  • 벤치마크 - 위에서 설명한 전략은 종종 벤치마크와 비교됩니다. 이것은 일반적으로 추가적인 금융 시간 계열으로 나타납니다. 주식에서는 종종 S&P500 지수 (US) 또는 FTSE100 (UK) 와 같은 국가 주식 벤치마크입니다. 고정 수익 펀드에서는 채권 또는 고정 수익 상품의 바구니와 비교하는 것이 유용합니다.
  • 기술 - 금융 데이터 스토리지 센터의 기술 스택은 복잡하다. 이 기사는 하나의 구축에 관련된 것에 대해 표면을 긁을 수 있을 뿐이다. 그러나, 그것은 MySQL, SQL Server, Oracle 또는 문서 저장 엔진 (즉, NoSQL) 과 같은 관계 데이터베이스 관리 시스템 (RDBMS) 과 같은 데이터베이스 엔진을 중심으로 한다. 이 데이터베이스에 대한 비즈니스 로직 응용 코드 (Business logic application code) 를 통해 액세스 할 수 있으며, 데이터베이스에 대한 쿼리 및 MATLAB, R 또는 Excel과 같은 외부 도구에 대한 액세스를 제공한다. 종종 이 비즈니스 로직은 C++, C#, Java 또는 파이썬으로 작성된다. 당신은 또한 자신의 개인 컴퓨터 또는 인터넷 서버를 통해 원격으로 어딘가에이 데이터를 호스팅해야 한다. 아마존 웹 서비스와 같은 제품들은 최근 몇 년 동안 이것을 더 간단하고 저렴하게 만들었지만, 여전히 강력한 방식으로 달성하기 위해 상당한 기술적 전문 지식이 필요할 것이다.

볼 수 있듯이, 파이프 라인을 통해 전략이 확인되면 특정 역사 데이터 집합의 가용성, 비용, 복잡성 및 구현 세부 사항을 평가 할 필요가 있습니다. 역사 데이터 고려에만 기반 한 전략을 거부 할 필요가 있음을 알 수 있습니다. 이것은 큰 영역이며 박사팀은 가격 설정이 정확하고 적시에 있는지 확인하는 큰 자금으로 작업합니다. 백테스팅 목적으로 강력한 데이터 센터를 만드는 어려움을 과소평가하지 마십시오!

그러나 많은 백테스팅 플랫폼이 이러한 데이터를 자동으로 - 비용으로 제공 할 수 있다고 말하고 싶습니다. 따라서 구현 통증의 많은 부분을 제거하고 전략 구현 및 최적화에 전적으로 집중 할 수 있습니다. 트레이드 스테이션과 같은 도구는이 기능을 보유하고 있습니다. 그러나, 내 개인적인 견해는 가능한 한 내부적으로 구현하고 소프트웨어 공급업체에 스택의 일부를 아웃소싱하는 것을 피하는 것입니다. 더 매력적인 샤프 비율로 인해 높은 주파수 전략을 선호하지만 고급 최적화가 중요한 기술 스택과 밀접하게 결합되어 있습니다.

이제 우리는 역사적 데이터에 관한 문제를 논의 한 후에 백테스팅 엔진에서 전략을 구현하기 시작할 때입니다. 이것은 다른 기사의 주제일 것입니다.


더 많은