Skip to main content

알고리즘 트레이딩 전략 r


알고리즘 트레이딩의 기초 : 개념과 예제.


알고리즘은 작업 또는 프로세스를 수행하기 위해 명확하게 정의 된 지침 집합입니다.


알고리즘 트레이딩 (자동 트레이딩, 블랙 박스 트레이딩, 또는 단순한 알 고 트레이딩)은 a 컴퓨터가 불가능한 속도와 빈도로 이익을 창출하기 위해 거래를하기 위해 정의 된 명령어 세트를 따르도록 프로그래밍 된 컴퓨터를 사용하는 프로세스입니다. 인간 상인. 정의 된 규칙 집합은 타이밍, 가격, 수량 또는 모든 수학적 모델을 기반으로합니다. 상인에 대한 이익 기회와는 별도로, 알 고향 거래는 시장을보다 유동적으로 만들고 무역 활동에 대한 정서적 인적 영향을 배제함으로써보다 체계적인 거래를 만듭니다. (자세한 내용은 올바른 알고리즘 트레이딩 소프트웨어 선택을 확인하십시오.)


거래자가 다음과 같은 간단한 거래 기준을 따랐다 고 가정 해보십시오.


50 일 이동 평균이 200 일 이동 평균보다 커지면 50주의 주식을 매수하십시오. 50 일 이동 평균이 200 일 이동 평균보다 낮아지면 주가는 주식의 주식을 매도합니다.


이 두 가지 간단한 지침을 사용하면 정의 된 조건이 충족 될 때 주가 및 이동 평균 지표를 자동으로 모니터링하고 구매 및 판매 주문을하는 컴퓨터 프로그램을 작성하기 쉽습니다. 상인은 더 이상 실시간 가격 및 그래프를 감시하거나 수동으로 주문할 필요가 없습니다. 알고리즘 거래 시스템은 거래 기회를 정확하게 식별함으로써 자동으로 거래를 수행합니다. 이동 평균에 대한 자세한 내용은 단순 이동 평균을 참조하십시오.


[입증 된 전략과 궁극적으로 알 고리즘 트레이딩 시스템으로 작업 할 수있는 포인트 전략에 대해 자세히 알아 보려면 Investopedia Academy의 Become a Day Trader 코스를 확인하십시오. ]


알고리즘 트레이딩의 이점.


Algo-trading은 다음과 같은 이점을 제공합니다.


가능한 최상의 가격으로 실행되는 거래 신속하고 정확한 거래 주문 배치 (따라서 원하는 수준의 실행 가능성 높음) 중요한 가격 변동을 피하기 위해 정확하고 즉각적인 거래 시간 단축 트랜잭션 비용 절감 (아래의 구현 부족 예 참조) 여러 항목에 대한 동시 자동 점검 시장 조건 거래 배치시 수동 오류 위험 감소 사용 가능한 과거 및 실시간 데이터를 기반으로 알고리즘 백 테 스트 정서적 및 심리적 요인에 기반한 인적 자원 거래자의 실수 가능성 감소.


현재의 고액 거래의 가장 큰 부분은 고주파 거래 (high frequency trading, HFT)입니다. 이 프로그램은 미리 프로그래밍 된 지침에 따라 여러 시장 및 여러 결정 매개 변수에 걸쳐 매우 빠른 속도로 대량 주문을 활용하려고 시도합니다. (고주파 거래에 대한 자세한 내용은 고주파 거래 (HFT) 회사의 전략과 비밀을 참조하십시오.)


Algo-trading은 다음과 같은 다양한 거래 및 투자 활동에 사용됩니다.


주식을 대량 구매하지만 불특정 다수의 투자로 주식 가격에 영향을 미치고 싶지 않은 중장기 투자자 또는 매수 측 회사 (연기금, 뮤추얼 펀드, 보험 회사). 단기 거래자 및 매도자 측 참가자 (시장 형성 자, 투기자 및 중개인)는 자동 거래 실행의 혜택을받습니다. 또한, algo-trading은 시장에있는 판매자에게 충분한 유동성을 창출하는 데 도움을줍니다. 체계적인 거래자 (추종자, 쌍 거래자, 헤지 펀드 등)는 거래 규칙을 프로그래밍하고 프로그램이 자동으로 거래되도록하는 것이 훨씬 더 효율적이라는 것을 알게됩니다.


알고리즘 거래는 인간 상인의 직감이나 본능에 기반한 방법보다 적극적인 거래에 대한 체계적인 접근 방식을 제공합니다.


알고리즘 트레이딩 전략.


알고리즘 거래를위한 모든 전략에는 향상된 수익 또는 비용 절감 측면에서 수익성이 확인 된 기회가 필요합니다. 다음은 algo-trading에서 사용되는 일반적인 거래 전략입니다.


가장 일반적인 알고리즘 트레이딩 전략은 이동 평균, 채널 이탈, 가격 수준 이동 및 관련 기술 지표의 추세를 따릅니다. 이러한 전략은 예측이나 가격 예측을하지 않기 때문에 알고리즘 거래를 통해 구현하는 가장 쉽고 간단한 전략입니다. 거래는 바람직한 추세의 발생을 기반으로 시작되며, 이는 예측 분석의 복잡성에 빠지지 않고 알고리즘을 통해 구현하기 쉽고 간단합니다. 위에서 언급 한 50 일과 200 일 이동 평균의 예는 인기있는 추세 전략입니다. (추세 거래 전략에 대한 자세한 내용은 추세를 활용하는 간단한 전략을 참조하십시오.)


한 시장에서 더 낮은 가격에 이중 상장 주식을 매수하고 다른 시장에서 더 높은 가격으로 동시에 매각하는 것은 가격 차이를 무위험 수익 또는 차익 거래로 제공합니다. 가격 차이가 수시로 존재하기 때문에 동일한 작업이 주식 대 선물 상품에 대해 복제 될 수 있습니다. 이러한 가격 차이를 식별하고 주문을하는 알고리즘을 구현하면 효율적인 방식으로 수익성있는 기회를 얻을 수 있습니다.


인덱스 펀드는 보유 자산을 각각의 벤치 마크 지수와 동등하게 유지하기 위해 재조정 기간을 정했습니다. 이는 인덱스 펀드 재조정 직전에 인덱스 펀드의 주식 수에 따라 20-80의 베이시스 포인트 이익을 제공하는 예상 거래를 활용하는 알고리즘 트레이더에게 수익성있는 기회를 창출합니다. 이러한 거래는 적시 실행 및 최적의 가격을 위해 알고리즘 거래 시스템을 통해 시작됩니다.


델타 중립적 인 거래 전략과 같이 입증 된 많은 수학 모델은 포트폴리오 델타가 0으로 유지되도록 양수 및 음수 델타를 상쇄하기 위해 거래가 이루어지는 옵션과 기본 보안의 조합에 대한 거래를 허용합니다.


평균 회귀 전략은 자산의 고가와 저가가 주기적으로 평균값으로 되돌아가는 일시적인 현상이라는 생각에 기반합니다. 가격 범위를 식별하고 정의하고이를 기반으로 알고리즘을 구현하면 자산 가격이 정의 된 범위를 벗어날 때 거래가 자동으로 배치됩니다.


볼륨 가중 평균 가격 전략은 대량의 주문을 분해하고 주식 관련 과거 볼륨 프로파일을 사용하여 동적으로 결정된 작은 주문 청량을 출시합니다. 목표는 VWAP (Volume Weighted Average Price)에 가까운 주문을 실행하여 평균 가격으로 이익을 얻는 것입니다.


시간 가중 평균 가격 전략은 대량 주문을 해체하고 시작 시간과 종료 시간 사이의 균등하게 나뉘어 진 시간 슬롯을 사용하여 동적으로 결정된 작은 주문 청량을 출시합니다. 목표는 시작 및 종료 시간 사이의 평균 가격에 가까운 주문을 실행하여 시장 영향을 최소화하는 것입니다.


거래 주문이 완전히 채워질 때까지이 알고리즘은 정의 된 참여율과 시장에서 거래되는 거래량에 따라 부분 주문을 계속 전송합니다. 관련 "단계 전략"은 사용자 정의 시장 볼륨 비율로 주문을 보내고 주가가 사용자 정의 수준에 도달하면이 참여율을 높이거나 낮 춥니 다.


구현 부족 전략은 실시간 시장을 거래함으로써 주문의 실행 비용을 최소화함으로써 주문 비용을 절감하고 지연된 실행의 기회 비용으로부터 이익을 얻는 것을 목표로합니다. 이 전략은 주식 가격이 호의적으로 움직일 때 목표로하는 참여율을 높이고, 주가가 반대로 움직이면 목표 참여율을 낮출 것입니다.


다른 측면에서 "사건"을 식별하려고 시도하는 몇 가지 특별한 클래스의 알고리즘이 있습니다. 예를 들어, 판매 측 시장에서 사용되는 이러한 "스니핑 알고리즘"은 대규모 주문의 구매 측면에서 알고리즘의 존재를 식별 할 수있는 내장 인텔리전스를 갖추고 있습니다. 이러한 알고리즘을 통한 탐지는 시장에서 대량 주문 기회를 파악하고 더 높은 가격으로 주문을 작성함으로써 이익을 얻을 수있게 해줍니다. 이것은 때로는 하이테크 전방 주행으로 확인됩니다. (고주파 거래 및 사기 행위에 대한 자세한 내용은 다음을 참조하십시오 : 주식을 온라인으로 구입할 경우 HFT에 관여 함)


알고리즘 거래에 대한 기술적 요구 사항.


컴퓨터 프로그램을 사용하여 알고리즘을 구현하는 것이 마지막 부분으로, 백 테스트가 있습니다. 문제는 식별 된 전략을 주문 거래 계정에 액세스 할 수있는 통합 된 전산 프로세스로 변환하는 것입니다. 다음이 필요합니다.


필요한 거래 전략, 고용 된 프로그래머 또는 미리 만들어진 거래 소프트웨어를 프로그래밍하기위한 컴퓨터 프로그래밍 지식 주문을하기위한 네트워크 연결 및 거래 플랫폼에 대한 액세스 주문을 할 수있는 기회를 알고리즘이 모니터 할 시장 데이터 피드에 액세스 능력 및 인프라 실제 시장에 출시되기 전에 빌드 된 시스템을 백 테스팅하기 알고리즘에서 구현 된 규칙의 복잡성에 따라 백 테스트를위한 사용 가능한 과거 데이터.


다음은 포괄적 인 예입니다 : Royal Dutch Shell (RDS)은 암스테르담 증권 거래소 (AEX)와 런던 증권 거래소 (LSE)에 상장되어 있습니다. 차익 거래 기회를 식별하는 알고리즘을 구축해 보겠습니다. 흥미로운 관찰은 거의 없습니다.


AEX는 유로화로 거래되며, LSE는 스털링 파운드로 거래됩니다. AEX는 1 시간의 시간차로 인해 LSE보다 1 시간 빠르며, 다음 두 시간 동안 동시에 거래가 이루어지며 AEX가 마감되면서 지난 1 시간 동안 LSE에서만 거래됩니다 .


이 두 시장에 상장 된 Royal Dutch Shell 주식에 대해 서로 다른 통화로 차익 거래를 할 수 있는지 알아볼 수 있습니까?


현재 시장 가격을 읽을 수있는 컴퓨터 프로그램 LSE 및 AEX의 가격 피드 GBP-EUR 환율에 대한 외환 환율 피드 주문을 올바른 교환으로 전달할 수있는 주문 배치 기능 과거 가격 피드에 대한 백 테스트 기능.


컴퓨터 프로그램은 다음을 수행해야합니다.


두 거래소의 RDS 주식의 수신 가격 피드를 읽습니다. 사용 가능한 환율을 사용하여 한 통화의 가격을 다른 통화로 변환합니다. 수익성있는 기회로 이어지는 충분히 큰 가격 불일치 (중개 비용을 할인)가 존재하는 경우, 낮은 가격의 거래소에서 주문하고 높은 가격의 거래소에서 주문을 판매합니다. 원하는대로 주문을 실행하면 차익 거래 이익이 발생합니다.


간단하고 쉬운! 그러나 알고리즘 트레이딩의 실행은 유지 관리 및 실행이 간단하지 않습니다. 알 고가 생성 한 거래를 배치 할 수 있다면 다른 마켓 참여자도 마찬가지입니다. 따라서 가격은 밀리 초 및 심지어 마이크로 초 단위로 변동합니다. 위의 예에서 구매 주문 거래가 실행되면 어떻게되지만 주문이 시장에 출시 될 때까지 판매 가격이 변경되지 않습니다. 당신은 개방적인 자세로 앉아 결국 귀하의 차용액 전략을 쓸모 없게 만들 것입니다.


시스템 장애 위험, 네트워크 연결 오류, 거래 주문과 실행 간의 시간 지연, 그리고 무엇보다 불완전한 알고리즘과 같은 추가 위험과 과제가 있습니다. 알고리즘이 복잡할수록 더 엄격한 백 테스팅이 필요합니다.


결론.


알고리즘의 성능을 정량적으로 분석하는 것은 중요한 역할을하므로 비판적으로 검사해야합니다. 돈을 쉽게 벌기위한 개념을 가진 컴퓨터의 도움을 받아 자동화하는 것은 흥미로운 일입니다. 그러나 시스템을 철저히 테스트하고 필요한 한계를 설정해야합니다. 분석적 거래자는 올바른 전략을 확실하게 구현하는 데 자신감을 갖기 위해 스스로 프로그래밍 및 시스템을 학습하는 것을 고려해야합니다. 신중한 사용과 철저한 거래로 수익성 높은 기회를 창출 할 수 있습니다. (자세한 내용은 자신의 Algo 거래 로봇을 코딩하는 방법을 참조하십시오.)


QuantStart.


빠르게 성장하는 소매점 퀀텀 트레이더 커뮤니티를 지원하는 Quantcademy 개인 회원 포털에 가입하십시오. 당신은 당신의 가장 중요한 퀀트 트레이딩 질문에 대답 할 준비가되어있는 지식이 풍부하고 마음이 맞는 퀀트 트레이더 그룹을 찾을 수 있습니다.


퀀트 트레이딩에 관한 나의 eBook을 확인해보십시오. 여기서 저는 파이썬 툴로 수익성 높은 체계적인 트레이딩 전략을 만드는 법을 가르쳐드립니다.


Python 및 R을 사용하여 시계열 분석, 기계 학습 및 베이지안 통계를 사용하는 고급 거래 전략에 관한 새로운 전자 책을 살펴보십시오.


2013 년 4 월 19 일 Michael Halls-Moore 작성


이 기사에서는 수익성있는 알고리즘 거래 전략을 식별하는 방법을 소개하고자합니다. 오늘 우리의 목표는 그러한 시스템을 찾고 평가하고 선택하는 방법을 자세히 이해하는 것입니다. 어떻게 전략을 식별하는 것이 개인의 선호에 관한 것인가와 전략의 성과, 테스트를위한 과거 데이터의 유형과 양을 결정하는 방법, 거래 전략을 냉정하게 평가하는 방법, 마지막으로 백 테스트 단계로 진행하는 방법에 대해 설명합니다. 전략 구현.


거래를위한 자신 만의 개인 선호도 확인.


성공적인 거래자가되기 위해서는 - 임의적으로 또는 알고리즘 적으로 - 정직한 질문을하는 것이 필요합니다. 트레이딩은 놀라운 속도로 돈을 잃을 수있는 능력을 제공하므로 선택한 전략을 이해하는 데 필요한만큼 "자신을 알아야합니다".


나는 거래에서 가장 중요한 고려 사항이 자신의 성격을 인식하고 있다고 말할 수 있습니다. 특히 거래 및 알고리즘 거래는 상당한 수준의 규율, 인내심 및 정서적 인 분리가 필요합니다. 알고리즘이 당신을 위해 당신의 거래를 수행하게하기 때문에, 그것이 실행될 때 전략에 간섭하지 않도록 해결할 필요가 있습니다. 이것은 특히 드로우 다운이 연장 된 기간에 매우 어려울 수 있습니다. 그러나 백 테스트에서 수익성이 높은 것으로 입증 된 많은 전략은 단순한 간섭으로 인해 망가질 수 있습니다. 당신이 알고리즘 트레이딩의 세계에 들어가기를 원한다면 감정적으로 테스트 될 것이고 성공하기 위해서는 이러한 어려움을 극복해야한다는 것을 이해하십시오!


다음 고려 사항은 시간 중 하나입니다. 풀 타임 직업이 있습니까? 파트 타임으로 일하십니까? 당신은 집에서 일하거나 매일 통근 통근을합니까? 이러한 질문은 귀하가 추구해야 할 전략의 빈도를 결정하는 데 도움이됩니다. 정규직 근무자의 경우, 일일 선물 전략이 적절하지 않을 수 있습니다 (적어도 완전히 자동화 될 때까지!). 시간 제약으로 인해 전략의 방법론이 결정됩니다. 당신의 전략이 빈번히 거래되고 값 비싼 뉴스 피드 (예 : 블룸버그 터미널)에 의존한다면 분명히 사무실에서이 전략을 성공적으로 실행할 수있는 능력에 대해 현실적이어야합니다! 많은 시간을 투자 한 사람들이나 전략을 자동화하는 기술을 배우려면보다 기술적 인 고 빈도 거래 (HFT) 전략을 고려해야합니다.


일관되게 수익성있는 포트폴리오를 유지하려면 거래 전략에 대한 지속적인 연구가 필요하다는 것이 나의 믿음입니다. "전략의 밑에 레이다"영원히 체재하십시오. 따라서 거래에 할당되는 상당 부분은 지속적인 연구 수행에 있습니다. 강력한 수익성 또는 손실에 대한 완만 한 쇠퇴의 차이가 될 수 있기 때문에 이것을 할 준비가되어 있는지 여부를 자문 해보십시오.


또한 거래 자본을 고려해야합니다. 양적 전략에 대해 일반적으로 받아 들여지는 이상적인 최소 금액은 50,000 USD입니다 (영국에서는 약 £ 35,000). 제가 다시 시작한다면, 아마 더 많은 금액, 아마 100,000 USD (약 £ 70,000)로 시작합니다. 그 이유는 중개 및 고주파 전략에서 거래 비용이 극도로 높을 수 있고 인출시 자본을 흡수 할 수있는 충분한 자본을 확보해야하기 때문입니다. 10,000 달러 미만으로 시작하는 것을 고려하고 있다면 거래 비용이 급격히 수익에 반영되므로 하나 또는 두 개의 자산으로 거래하는 저주파수 전략으로 제한해야합니다. 인터랙티브 브로커는 프로그래밍 기술을 가진 사람들에게 가장 친숙한 중개업자 중 하나 인 API로 인해 소매 계좌 최소 10,000 USD를 보유하고 있습니다.


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


알고리즘 거래를 통해 무엇을 성취하고자하는지 스스로 자문 해봐야합니다. 정기 수입에 관심이 있습니까? 이를 통해 귀하의 트레이딩 계좌에서 수입을 얻을 수 있습니다. 또는 장기 자본 이득에 관심이 있습니까? 그리고 자금을 인출 할 필요없이 거래 할 수 있습니까? 소득 의존성은 전략의 빈도를 결정합니다. 보다 정기적으로 수입을 인출하려면 변동성이 적은 (즉, 높은 Sharpe 비율) 고주파 거래 전략이 필요합니다. 장기 트레이더는보다 조용한 거래 빈도를 제공 할 수 있습니다.


마지막으로, 짧은 시간 안에 극도로 부유하게되는 개념에 속지 마십시오! Algo 거래는 부유 한 빠른 계획이 아닙니다. 무엇이든지 가난한 빠른 계획이 될 수있는 경우. 알고리즘 거래에 성공하려면 상당한 훈련, 연구, 부지런함 및 인내가 필요합니다. 일관성있는 수익성을 창출하는 데 몇 년이 걸릴 수도 있습니다.


소싱 알고리즘 거래 아이디어.


반대로 일반적인 인식에도 불구하고, 실제로 공개 도메인에서 수익성있는 거래 전략을 찾는 것은 매우 직접적입니다. 결코 오늘보다 더 쉽게 거래 아이디어를 구할 수 없었습니다. 학술 재무 저널, 인쇄 전 서버, 거래 블로그, 거래 포럼, 주간 거래 잡지 및 전문 텍스트는 아이디어를 바탕으로 수천 가지의 거래 전략을 제공합니다.


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


우리는인지 적 편향이 의사 결정 방법에 영향을 미치지 않도록 극도로주의해야합니다. 이것은 하나의 자산 클래스를 다른 자산 클래스보다 선호하는 것처럼 간단 할 수 있습니다 (금 및 기타 귀금속이 마음에 들었습니다). 우리의 목표는 항상 긍정적 인 기대와 함께 지속적으로 수익성있는 전략을 찾는 것입니다. 자산 클래스의 선택은 거래 자본 제약, 중개 수수료 및 레버리지 기능과 같은 다른 고려 사항을 기반으로해야합니다.


당신이 무역 전략의 개념에 완전히 익숙하지 않다면 처음 보는 것은 설립 된 교과서를 사용하는 것입니다. 클래식 텍스트는 양적 거래에 익숙해 지도록보다 간단하고 직관적 인 다양한 아이디어를 제공합니다. 다음은 목록을 통해 작업 할 때 점차 정교 해지는 양적 거래에 익숙하지 않은 사람들에게 내가 추천하는 선택입니다.


양적 거래 도서 목록을 더 보려면 QuantStart 독서 목록을 방문하십시오.


다음으로는 거래 포럼 및 거래 블로그를 통해보다 정교한 전략을 찾을 수 있습니다. 그러나주의 사항 : 많은 거래 블로그는 기술 분석의 개념에 의존합니다. 기술적 분석에는 자산 가격의 추세 또는 반전 패턴을 결정하기 위해 기본 지표 및 행동 심리를 활용하는 것이 포함됩니다.


전체 거래 공간에서 매우 인기가 있음에도 불구하고 기술적 분석은 양적 금융 분야에서 다소 비효율적이라고 여겨집니다. 일부 사람들은 별자리를 읽거나 예측력면에서 차를 연구하는 것보다 낫지 않다고 제안했습니다. 실제로 기술적 인 분석을 이용하는 성공적인 개인이 있습니다. 그러나보다 정교한 수학 및 통계 툴박스를 갖춘 콴트로서 우리는 그러한 "TA 기반"전략의 효과를 쉽게 평가하고 정서적 고려 또는 선입견에 기초하지 않고 데이터 기반 결정을 내릴 수 있습니다.


다음은 잘 알려진 알고리즘 거래 블로그 및 포럼의 목록입니다.


보다 간단한 전략을 평가 한 경험이 있으면보다 정교한 학업을 검토해야합니다. 구독료가 높거나 일회성 비용이 들지 않으면 일부 학술지에 액세스하기 어려울 수 있습니다. 대학의 회원 또는 동창 인 경우 이러한 재정적 저널 중 일부에 대한 액세스 권한을 얻을 수 있어야합니다. 그렇지 않으면 동료 검토가 진행되는 학술 논문 초안의 인터넷 저장소 인 인쇄 전 서버를 볼 수 있습니다. 우리가 성공적으로 복제하고 수익을 얻으려는 전략에만 관심이 있기 때문에 동료 평가는 우리에게별로 중요하지 않습니다.


학술 전략의 주된 단점은 종종 시대에 뒤떨어 지거나 모호하고 값 비싼 과거 데이터가 필요하거나 비유 동 자산 클래스에서 거래되거나 수수료, 미끄러짐 또는 확산을 고려하지 않을 수 있다는 것입니다. 또한 거래 전략이 시장 주문, 주문 제한 또는 중지 손실 등을 포함하는지 여부도 분명하지 않을 수 있습니다. 따라서 가능한 한 최선을 다해 전략을 반복적으로 재 테스트하고 현실적인 거래를 추가하는 것이 절대적으로 중요합니다 당신이 거래하고자하는 자산 클래스의 많은 양상을 포함하는 비용.


다음은 아이디어를 얻을 수있는 인기있는 사전 인쇄 서버 및 재무 저널 목록입니다.


자신의 양적 전략을 수립하는 것은 어떻습니까? 일반적으로 다음 범주 중 하나 이상의 전문 지식이 필요합니다.


시장 미세 구조 - 특히 고주파 전략의 경우 시장 미세 구조, 즉 수익성을 창출하기 위해 주문서 역학을 이해할 수 있습니다. 각기 다른 시장에는 다양한 기술 제한, 규제, 시장 참여자 및 특정 전략을 통한 착취에 대한 제약이있을 것입니다. 이것은 매우 정교한 분야이며, 소매업 종사자는이 분야에서 경쟁이 어렵다는 것을 알게 될 것입니다. 특히, 경쟁에는 강력한 기술적 능력을 갖춘 대규모의 잘 자본화 된 양적 헤지 펀드가 포함됩니다. 펀드 구조 - 연금 펀드, 민간 투자 파트너십 (헤지 펀드), 상품 거래 자문 및 뮤추얼 펀드와 같은 공동 투자 펀드는 대규모 규제와 대규모 자본 보유로 인해 제약을받습니다. 따라서 좀 더 민첩한 사람에게는 일정한 일관된 행동이 악용 될 수 있습니다. 예를 들어, 대규모 자금은 규모 때문에 용량 제약을받을 수 있습니다. 따라서 대량의 유가 증권을 신속하게 적재 (판매)해야하는 경우 "시장 이동"을 피하기 위해 비틀 거리게됩니다. 정교한 알고리즘은 자금 구조 차익 거래라고 알려진 일반적인 프로세스에서이 특이성 및 기타 특이성을 이용할 수 있습니다. 기계 학습 / 인공 지능 - 최근 몇 년 동안 금융 시장에서 기계 학습 알고리즘이 널리 보급되었습니다. Naive-Bayes 등의 분류 자 ​​(Classifier)와 비선형 함수 계산자 (신경망) 및 최적화 루틴 (유전 알고리즘)은 모두 자산 경로를 예측하거나 거래 전략을 최적화하는 데 사용되었습니다. 이 분야에 대한 배경 지식이 있다면 특정 알고리즘이 특정 시장에 어떻게 적용될 수 있는지에 대한 통찰력을 가질 수 있습니다.


물론 퀀트가 조사 할 수있는 많은 분야가있다. 이후 기사에서 맞춤 전략을 세우는 방법에 대해 자세히 설명합니다.


매주 또는 심지어 매일 이러한 소스를 지속적으로 모니터링함으로써 다양한 소스의 일관된 전략 목록을받을 수 있습니다. 다음 단계는 시간 낭비를 최소화하고 수익성이 없을 것으로 예상되는 전략에 대한 자원을 다시 테스트하는 방법으로 이러한 전략의 큰 부분 집합을 거부하는 방법을 결정하는 것입니다.


거래 전략 평가.


첫 번째, 그리고 틀림없이 가장 분명한 고려 사항은 실제로 전략을 이해하는지 여부입니다. 간결하게 전략을 설명 할 수 있습니까? 아니면 일련의 경고와 끝없는 매개 변수 목록이 필요합니까? 또한, 전략은 실제로 좋은, 견고한 기반을 가지고 있습니까? 예를 들어, 당신이 시도하고있는 패턴을 유발할 수있는 행동 적 근거 또는 자금 구조 제약을 지적 할 수 있습니까? 이 제약은 극적인 규제 환경의 혼란과 같은 정권 교체를 견디겠습니까? 전략은 복잡한 통계 또는 수학적 규칙에 의존합니까? 모든 금융 시계열에 적용됩니까 아니면 수익성이 있다고 주장되는 자산 클래스에만 해당합니까? 새로운 거래 방법을 평가할 때 이러한 요소에 대해 끊임없이 생각해야합니다. 그렇지 않으면 무익한 전략을 백 테스팅하고 최적화하는 데 많은 시간을 낭비 할 수 있습니다.


일단 전략의 기본 원칙을 이해했다면, 앞서 언급 한 성격 프로파일에 맞는지 여부를 결정해야합니다. 이것은 소리가 나지 않는 막연한 고려 사항은 아닙니다! 전략은 성능 특성이 크게 다를 것입니다. 더 중요한 기간의 인출을 처리하거나보다 큰 수익을 위해 더 큰 위험을 감수하고자하는 특정 성격 유형이 있습니다. 우리가 퀀트 (quants)로서 가능한 한 많은인지 적 편향을 시도하고 제거하고, 전략을 조심스럽게 평가할 수 있어야 함에도 불구하고, 편향은 언제나 기습적으로 변할 것입니다. 따라서 우리는 전략의 수행을 평가하기위한 일관성 있고 감정적 인 수단이 필요합니다 . 다음은 내가 잠재적 인 새로운 전략을 판단 할 수있는 기준 목록입니다.


방법론 - 전략 모멘텀은 시장 중심, 방향성, 방향성이 있습니까? 전략은 이해하기 어렵고 통계에서 박사 학위를 요구하는 정교한 (또는 복잡한!) 통계 또는 기계 학습 기술에 의존합니까? 이러한 기술로 인해 상당한 양의 매개 변수가 도입되어 최적화 편향으로 이어질 수 있습니까? 전략이 체제 변화 (즉, 금융 시장의 잠재적 새로운 규제)에 견딜 가능성이 있습니까? Sharpe Ratio - Sharpe 비율은 경험적으로 전략의 보상 / 위험 비율의 특성을 나타냅니다. 그것은 주식 곡선에 의해 견디는 변동성 수준에 대해 얼마나 많은 수익을 낼 수 있는지를 정량화합니다. 당연히, 우리는 이러한 수익률과 변동성 (즉, 표준 편차)이 측정되는 기간과 빈도를 결정해야합니다. 보다 높은 빈도 전략은 표준 편차의 샘플링 속도가 더 빨라지지만 예를 들어 전체 측정 시간이 더 짧아야합니다. 레버리지 - 수익성을 위해 전략에 상당한 영향력이 필요합니까? 전략은 수익을 내기 위해 레버리지 파생 상품 (선물, 옵션, 스왑)의 사용을 필요로합니까? 이러한 레버리지 계약은 막대한 변동성을 특징으로 할 수 있으며 이로 인해 마진 콜이 쉽게 발생할 수 있습니다. 그러한 변동성에 대한 거래 자본과 기질이 있습니까? 빈도 - 전략의 빈도는 기술 스택 (기술적 전문성), 샤프 비율 및 전반적인 거래 비용 수준과 밀접하게 관련되어 있습니다. 고려해야 할 다른 모든 문제, 높은 빈도 전략은 더 많은 자본을 필요로하며, 구현하기가 더 정교하고 어렵습니다. 그러나 백 테스팅 엔진이 정교하고 버그가없는 것으로 가정하면 훨씬 높은 Sharpe 비율을 갖게됩니다. 변동성 - 변동성은 전략의 "위험"과 강하게 관련됩니다. Sharpe 비율은 이것을 특징으로합니다. 기초 자산 군의 변동성이 크지 않다면 주식 곡선의 변동성이 커지며 샤프 비율도 작아진다. 나는 물론 긍정적 인 변동성이 거의 네거티브 변동성과 같다고 가정하고 있습니다. 일부 전략은 더 큰 불리한 변동성을 가질 수 있습니다. 이러한 속성을 알고 있어야합니다. 승패, 평균 손익 - 전략은 승패와 평균 손익 특성이 다릅니다. 잃어버린 거래의 수가 승리 한 거래의 수를 초과하더라도 매우 수익률 높은 전략을 가질 수 있습니다. 기세 전략은 수익성이 있기 위해 소수의 "대히트"에 의존하기 때문에이 패턴을 갖는 경향이 있습니다. 평균 회귀 전략은 거래가 "승리자"인 경우 반대되는 경향이 있지만 손실 거래는 매우 심할 수 있습니다. 최대 인출 - 최대 인출은 전략의 지분 곡선에서 가장 큰 전체적인 최저가 하락률입니다. 기세 전략은 장기간의 축소 (많은 증분 손실 거래로 인한 손실)로 고통받는 것으로 잘 알려져 있습니다. 역사적 테스트에서 이것이 전략과 관련하여 "통상적 인 업무"라고 제안한 경우에도 많은 상인은 연장 된 인출 기간에 포기할 것입니다. 당신은 당신의 전략 거래를 중단하기 전에 어느 정도의 연체율 (그리고 어느 기간 동안)을 받을지 결정할 필요가 있습니다. 이는 매우 개인적인 결정이므로 신중하게 고려해야합니다. 용량 / 유동성 - 소매 수준에서, 당신이 (비상주 주식처럼) 고도로 유동성이없는 수단으로 거래하지 않는 한, 당신은 전략 능력에 크게 신경 쓰지 않아도됩니다. 용량은 전략의 추가 자본에 대한 확장 성을 결정합니다. 대형 헤지 펀드의 대부분은 자본 배분에서 전략이 증가함에 따라 상당한 용량 문제로 어려움을 겪습니다. 매개 변수 - 특정 전략 (특히 기계 학습 커뮤니티에있는 전략)에는 많은 양의 매개 변수가 필요합니다. 전략에 필요한 추가 매개 변수가 있으면 최적화 바이어스 ( "곡선 맞춤"이라고도 함)에 취약 해집니다. 가능한 한 적은 수의 매개 변수로 전략을 타겟팅하고 전략을 테스트 할 수있는 충분한 양의 데이터가 있는지 확인해야합니다. 벤치 마크 - 거의 모든 전략 ( "절대 수익"으로 특징 지우지 않는 한)은 일부 성능 벤치 마크에 비해 측정됩니다. 벤치 마크는 일반적으로 전략이 거래하는 기본 자산 클래스의 큰 샘플을 특성화하는 지수입니다. 전략이 미국 주식을 거래 할 경우 S & P500은 전략을 측정하는 자연스러운 벤치 마크가됩니다. 이 유형의 전략에 적용되는 용어 "알파"및 "베타"가 들립니다. 이 계수에 대해서는 이후 기사에서 자세히 다룰 것입니다.


전략의 실제 수익률에 대해서는 언급하지 않았습니다. 왜 이런거야? 이와는 별도로 수익률은 실제로 전략의 효과에 대한 제한된 정보를 제공합니다. 그들은 레버리지, 변동성, 벤치 마크 또는 자본 요구 사항에 대한 통찰력을주지 못합니다. 따라서 전략은 드물게 자신의 수익만으로 판단됩니다. 수익을보기 전에 항상 전략의 위험 요소를 고려하십시오.


이 단계에서 귀사의 파이프 라인에서 발견되는 많은 전략은 자본 요건, 레버리지 제약, 최대 인출 허용 오차 또는 변동성 선호도를 충족시키지 않기 때문에 거부됩니다. 남아있는 전략은 이제 백 테스트로 고려 될 수 있습니다. 그러나 이것이 가능하기 전에 이러한 전략을 테스트 할 수있는 사용 가능한 과거 데이터의 최종 거부 기준을 고려해야합니다.


내역 데이터 얻기.


요즘에는 과거 데이터 저장을위한 자산 클래스 전반에 걸친 기술적 요구 사항의 폭이 넓습니다. 경쟁 우위를 유지하기 위해 구매자 (펀드)와 매도자 측 (투자 은행) 모두 기술 인프라에 막대한 투자를합니다. 그것의 중요성을 고려하는 것이 필수적입니다. 특히 적시성, 정확성 및 저장 요구 사항에 관심이 있습니다. 이제는 이력 데이터를 얻는 기본 및 저장 방법에 대해 간략하게 설명하겠습니다. 불행히도 이것은 매우 깊고 기술적 인 주제이므로이 기사의 모든 내용을 말할 수는 없습니다. 그러나 필자는 금융 산업에서의 이전 업계 경험이 주로 금융 데이터 수집, 저장 및 액세스에 관심을 가졌으므로 향후이 점에 대해 더 많이 쓰겠습니다.


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


사용 가능한 데이터의 유형과 고려해야 할 핵심 쟁점에 대해 논의하겠습니다.


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


위에서 볼 수 있듯이 일단 전략이 파이프 라인을 통해 확인되면 특정 과거 데이터의 가용성, 비용, 복잡성 및 구현 세부 사항을 평가해야합니다. 과거 데이터 고려 사항만을 토대로 전략을 거부 할 필요가 있음을 알 수 있습니다. 이것은 큰 영역이며 PhD 팀은 가격이 정확하고시기 적절한지 확인하기 위해 대규모 기금에서 일합니다. 백 테스팅을 위해 강력한 데이터 센터를 구축하는 어려움을 과소 평가하지 마십시오!


그러나 많은 백 테스팅 플랫폼이 비용을 들이지 않고 자동으로이 데이터를 제공 할 수 있다고 말하고 싶습니다. 따라서 구현 통증을 당신에게서 멀리 벗어나게되고, 당신은 순전히 전략 구현과 최적화에 집중할 수 있습니다. TradeStation과 같은 도구에는이 기능이 있습니다. 그러나 내 개인적인 관점은 가능한 한 많은 것을 내부적으로 구현하고 스택의 일부를 소프트웨어 공급 업체에 아웃소싱하는 것을 피하는 것입니다. 더 매력적인 Sharpe 비율로 인해 더 높은 빈도 전략을 선호하지만 첨단 최적화가 중요한 기술 스택과 긴밀하게 결합되는 경우가 많습니다.


이제는 과거 데이터를 둘러싼 문제에 대해 논의 해 왔으며 이제는 백 테스트 엔진에서 전략을 구현할 때입니다. 이것은 토론의 동등한 큰 영역이기 때문에 다른 기사의 주제가 될 것입니다!


양적 거래 시작하기?


QuantStart 목록을 구독해야하는 3 가지 이유 :


1. 퀀트 트레이딩 레슨.


계량 거래를 시작하는 데 도움이되는 힌트와 팁으로 가득한 무료 10 일간 코스에 즉시 액세스 할 수 있습니다!


2. 모든 최신 내용.


매주 나는 퀀트 스타트에서 모든 활동의 포장을 보내드릴 것입니다. 그래서 당신은 결코 다시 글을 놓치지 않을 것입니다.


현실감 넘치는 퀀 트레이딩 팁.


R 튜토리얼의 알고리즘 트레이딩.


이번 포스트에서는 R을 사용하여 loyal3에 나열된 주식을 수집하고 Yahoo의 과거 데이터를 얻은 다음 간단한 알고리즘 거래 전략을 수행하는 방법을 보여 드리겠습니다. 길을 따라, 당신은 웹 스크래핑, 금융 API를 타격하는 함수, 대화 형 시계열 차트를 만들기위한 html 위젯을 배울 것입니다.


이 게시물의 경우 거래 알 고는 예측 모델 또는 시계열 예측 대신 구매 또는 판매 이벤트를 트리거하는 규칙 집합으로 정의됩니다. 이것은 거래 알 고의 가장 단순한 유형이지만, R을 사용하여 재무에 대해 더 깊이 파고 드는 데 관심이있는 경우 R의 정량적 거래 전략 모델링에서 DataCamp†™ 과정을 수강 할 것을 권장합니다.


배경.


2015 년에 나는 충성스럽게 조금 투자하기 시작했습니다 .3. 그들의 서비스는 평범하지 않으며 투자 여정을 시작하기에 좋은 곳입니다. Loyal3은 거래를 위해 투자자를 부과하기보다는 회사가 플랫폼에 등록하도록 청구합니다. 전제는 company†™ s 서비스를 좋아하는 사람들이 또한 주식을 사기 때문에 이렇게하는 것은 강한 상표 옹호자가된다이다. 플랫폼을 더욱 매력적으로 만드는 것은 분수 공유를 구입할 수 있다는 것입니다. 그래서, 당신은 그 달 말에 약간의 여분의 현금을 가질 때마다 단 $ 10에 대해 800 달러의 아마존 주식을 얻을 수 있고, 또 다른 $ 10 분수를 살 수 있습니다. 창문에서 거래해야하고 전체 포트폴리오가 제한되어 있으므로 마찰 비용이 있습니다.


70 주식이지만 loyal3은 재미 있고 저렴한 비용으로 주식 트레이닝을 탐구합니다. 10 달러 정도면 게임에 실제 스킨을 넣을 수 있습니다!


분명히하기 위하여, 나는 전형적인 은퇴 및 투자 계정이있다 그러나 나는 app에 loyal3†™ s 청결한 공용 영역을 좋아하고 요금의 부족을 좋아한다. 나는 직접적으로 선택한 주식의 성과를 보는 것이 쉽고 재미 있기 때문에 단순히 나의 뮤추얼 펀드보다 재미있는 로얄 3 포트폴리오를 점검하는 것으로 끝납니다.


loyal3에서 사용할 수있는 주식.


작업 공간 설정.


시작하려면 라이브러리를 환경에로드하십시오. 요즘 웹 스크랩을 위해 거의 항상 rvest를 사용합니다. RSelenium을 포함하여 작동하는 다른 패키지가 있지만, 나는 쉬운 rvest가 실행될 수있는 것을 좋아한다.


두 번째 패키지 인 pbapply는 적용 기능에 진행률 표시 줄을 추가하기 때문에 선택 사항입니다. 수백 개의 웹 페이지를 고칠 수 있으므로 진행률 막대를 사용하면 시간을 예측하는 데 도움이됩니다.


다음으로, TTR은 방금 탐구하기 시작한 패키지입니다. 라이브러리는 기술 거래 규칙을 구성하는 데 사용됩니다. 이 게시물에서 간단한 거래 알 고를 배울지라도, TTR 패키지는 더 정교한 계산을 수행 할 수 있으며 학습 가치가 있습니다.


dygraphs 라이브러리는 빠르고 개방적인 소스 JavaScript 차트 라이브러리의 래퍼입니다. R 차트를보다 동적으로 만들고 정적 이미지 대신 HTML 파일의 일부로 만드는 htmlwidgets 중 하나입니다. 마지막으로, lubridate 패키지는 쉬운 날짜 조작을 위해 사용됩니다.


데이터 수집.


모든 충성스런 주식은 모두 한 페이지에 나열됩니다. 개별 일일 주가를 조사하여 거래 알고리즘을 작성하려면 먼저 사용 가능한 모든 Stocker Ticket을 수집해야합니다. 먼저 할 일은 stock. list를 URL 문자열로 선언하는 것입니다. 그런 다음 R 세션이 인터넷 세션을 만들고 페이지의 모든 HTML 정보를 XML 노드 집합으로 수집 할 수 있도록 read_html ()을 사용합니다. 페이지 CSS에는 “pany-name†called라고하는 ID가 있습니다. 이 노드와 연관된 XML 데이터 만 선택하기 위해 html_nodes ()를 호출 할 때 이것을 매개 변수로 사용하십시오. 마지막으로 html_text ()를 사용하여 회사 이름의 실제 텍스트 값을 수집합니다.


loyal3에서 사용할 수있는 주식을 검사하려면 stocks. names 개체를 콘솔에 인쇄 할 수 있습니다. 그러면 회사 이름이 텍스트 벡터로 반환됩니다.


주가를 조사하기 위해서는 먼저 증권 시세 기호를 알아야합니다. loyal3 사이트에있는 경우 회사 타일을 클릭하여 시세 표시 기호 및 기타 회사 정보가있는 페이지를로드 할 수 있습니다.


주식에 html_nodes ()를 사용하면 “a. †marked로 표시된 모든 노드를 가져옵니다. HTML에서 & lt; a & gt; 태그는 양식을 다른 페이지로 연결하는 데 사용되는 하이퍼 링크를 정의합니다. 하이퍼 링크 태그 내에서 “href†the는 정확한 URL 주소를 나타냅니다. 따라서 html_attr ()은 “href†pass를 전달하면 페이지의 모든 링크에 대한 URL을 추출합니다.


몇 가지 수동 검사를 한 후 페이지의 54 번째에서 123 번째 링크가 티커 정보를 긁어 내기 위해 필요한 회사 페이지를 나타내는 것으로 나타났습니다. 마지막 줄은 paste0 ()을 사용하여 기본 URL 문자열 †™ loyal3`을 “ / WALMART†like와 같은 특정 회사 페이지에 연결합니다. 예를 들어, loyal3 / WALMART :


각 회사 페이지에는 설명, 최근 마감 가격 및 시세가 있습니다. 모든 회사 페이지는 동일하게 구성되어 있으므로 사용자 정의 함수 get. ticker ()를 사용하여 티커 심볼을 추출 할 수 있습니다.


company†™ s 웹 페이지 안에 “ticker 가격 †called이라고 칭한 테이블이있다. 이 함수는 회사 페이지로 이동하여 해당 테이블을 식별하고 html_text ()로 텍스트를 추출합니다. 마지막으로 정규 표현식 ^ ([[: alpha :]] *). * 및 \\ 1과 함께 sub ()를 사용하면 모든 알파벳 문자가 유지됩니다. 그 결과 $와 같은 특수 문자와 종가와 같은 모든 숫자가 제거됩니다. 함수는 70 페이지 각각을 읽으므로 주식 시세표 만 수집합니다.


알리바바에 대한 loyal3 주식 페이지는 в ™ ™의 증권 시세 표시기 인 BABA가 들어있는 테이블을 볼 수 있으며 굵게 표시된 텍스트 아래에 있습니다.


사용자 정의 함수로 무장 한 pblapply ()를 사용하여 각 company†™ s 페이지를 포함하는 stock. links의 각각에 그것을 적용하십시오. 결과 객체 인 stock. tickers는 개별 주식 시세 표시기의 목록으로 각 요소는 개별 회사에 해당합니다.


요소 목록을 평면 객체로 변경하는 한 가지 방법은 do. call ()을 사용하는 것입니다. 여기서는 rbind를 적용하여 각 목록 요소를 단일 벡터에 바인딩합니다. 마지막으로 기호 및 회사 이름 정보가있는 데이터 프레임을 만듭니다.


분석에서 일관성을 유지하려면 각 주식에 대해 수집 한 기록 정보의 양을 제한하고 싶을 수 있습니다. Sys. Data () 함수는 년, 월, 일로 날짜 개체를 저장합니다. integer와 함께 년을 사용하면 start. date 객체에서 특정 시간을 빼는 방법 중 하나입니다.


야후 재무 데이터를 얻으려면 날짜 개체를 대시가없는 간단한 문자 개체로 변경해야합니다. start. date 및 end. date에서 전역 대체 함수 gsub ()를 사용하면 클래스가 변경되고 동시에 대시가 제거됩니다. gsub () 내에서 검색 할 문자 패턴을 전달한 다음 대체 문자를 전달합니다. 이 경우 대체 패턴은 따옴표 사이의 빈 문자입니다. 마지막 매개 변수는 gsub ()가 적용될 객체입니다.


TTR () 함수 getYahooData ()는 주식 기호와 시작 날짜와 종료 날짜를 허용합니다. 이 함수는 시계열 정보가있는 데이터 프레임을 반환합니다. 각 행은 날짜이며 열은 “pen”, “igh вњќ ќќќќќќќќќќќќќќќќќќќќќ equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity equity.................................... 여러 회사를 찾고 있기 때문에 lapply () 또는 pblapply ()를 사용할 수 있습니다. 회사 심볼의 벡터를 전달한 다음 getYahooData () 함수를 전달한 다음 날짜 정보를 전달합니다. date 객체는 getYahooData ()가 주식 기호에 적용될 때마다 재활용 된 매개 변수입니다.


반환 된 목록을 선택하려면 stocks. ts를 쉽게 탐색 할 수 있으며 목록 요소에 이름을 추가 할 수 있습니다. stocks. ts 객체에 이름을 사용하면 이름이 원래 $ 기호 벡터로 선언됩니다.


큰 목록으로 작업 할 때 결과 객체가 예상 한 결과인지 확인하려고합니다. 요소의 이름이 지정되었으므로 요소를 직접 참조 할 수 있습니다. 이 예제에서는 AMC Entertainment Holdings (AMC)의 처음 6 행을 검토합니다. $ AMC를 참조하면서 목록에서 head ()를 사용하면이 주식에 대한 시계열의 일부가 반환됩니다.


주식 데이터 검사.


금융 뉴스를 듣는 경우 종종 해설자가 차트를 참조합니다. 높은 빈도의 거래와 다른 사람들에 의한 능동적 인 관리에도 불구하고 많은 소규모 투자자들은 여전히 ​​통찰력을 얻기 위해 차트를 참조합니다. 플롯을 사용하여 시계열 객체를 빠르게 표시 할 수 있습니다. $ AMC와 같은 명명 된 요소를 참조한 목록을 전달한 다음 표시하려는 열 (여기서는 $ Close)을 전달합니다.


위의 그림은 정적이며 매우 흥미로운 것은 아닙니다.


Let†™는 당신이 탐구 할 수있는 도표를 만들기 위하여 JavaScript 도서관을 이용한다. 이 코드 스 니펫에서는 “ % & gt; % ” 또는 파이프 연산자를 볼 수 있습니다. 파이프 연산자는 간결한 코드를 작성하는 좋은 방법입니다. 이 게시물에서 이전에했던 것처럼 개체 이름을 다시 쓰지 않아도 개체를 다음 함수로 전달합니다.


이 예에서는 트위터 주식 $ TWTR을 표시하는 대화 상자를 작성한 다음 플롯하려는 열, $ Close를 작성합니다. dygraph에서 main은 따옴표 사이에 지정된 제목을 추가합니다. “ % & gt; % ”을 사용하여이 전체 객체는 다음 함수 dyRangeSelector ()로 전달됩니다. c ()를 시작 및 종료 날짜 문자열과 함께 사용하여 기본 날짜 범위를 지정할 수 있습니다. 결과 HTML 객체는 Twitter†™ 주식의 동적 시계열이며 하단에 날짜 슬라이더가 있습니다.


표시된 자산을 변경하려면 stocks. ts 목록의 시세 표시 기호를 변경 한 다음 그래프 제목을 변경하십시오.


이것은 Twitter†™ s 주식을위한 기본적인 dygraph이다.


간단한 무역 전략 : 추세 다음.


고 빈도 거래자와 헤지 펀드는 정교한 모델과 규칙 기반 접근법을 사용하여 거래를 수행합니다. 더 많은 것을 배우고 싶다면 퀀토 피안 (quantopian)을 고급 접근 방식으로 방문하는 것이 좋습니다. 보다 간단한 접근법은 Investopedia에서이 페이지부터 시작하십시오.


아래 코드에서 간단한 모멘텀 트레이딩 전략을 시각화합니다. 기본적으로 주식 가격에 대한 200 일 이동 평균과 50 일 이동 평균을 계산할 것입니다. 50 일 이동 평균이 200 일 이동 평균을 초과하는 특정 일에 대해서는 포지션을 구입하거나 보유 할 것입니다. 200 일 평균이 50 일 이동 평균보다 많은 날에는 주식을 매각해야합니다. 이 전략을 추세 추적 전략이라고합니다. 두 시간 기반 평균 사이의 양 또는 음의 성질은 stock†™ s의 모멘텀을 나타냅니다.


TTR 패키지는 단순 이동 평균 계산을 위해 SMA ()를 제공합니다. 이 코드 스 니펫에서는 Twitter†™ s 200 및 50 일 이동 평균의 처음 6 개 값을 검사합니다. SMA ()는 주식의 시계열 데이터와 Close와 같은 특정 열을 전달하여 작동합니다. 이것은 TWTR 주식의 종가를 결정하는 단일 벡터입니다. 두 번째 매개 변수는 이동 평균에 대한 관측 수를 나타내는 정수입니다. head ()를 사용하지 않으면 SMA () 함수가 모든 값을 반환합니다.


이제 이동 평균 함수를 자세하게 살펴 보았으므로 70 개의 주식 각각에 적용해야합니다. stocks. ts는 개별 주식 데이터가 포함 된 70 개의 데이터 프레임 목록입니다. 각 데이터 프레임의 네 번째 열에는 이동 평균에 사용할 마감 가격이 포함되어 있습니다.


사용자 정의 함수 mov. avgs ()는 이동 평균을 계산하기 위해 하나의 주식 데이터 프레임을 허용합니다. 첫 번째 행은 [, 4]를 인덱싱하여 stock. close를 작성하므로 종가를 선택합니다. 다음 함수는 ifelse를 사용하여 데이터 프레임의 행 수를 확인합니다. 특히 데이터 프레임의 nrow가 (2 * 260)보다 작 으면이 함수는 вњ with moving로 이동 평균의 데이터 프레임을 만듭니다.


1 년에 약 250 일 거래가 있기 때문에이 번호를 선택했습니다. 따라서 시계열이 약 2 년 이상인지 확인합니다. Loyal3은 때때로 IPO에 액세스 할 수 있으며 주식이 새로 공개되면 200 일 이동 평균에 대한 데이터가 충분하지 않습니다. 그러나 nrow 값이 2 * 260보다 크면이 함수는 원래 데이터와 함께 200 및 50 일 이동 평균과 함께 새 열로 데이터 프레임을 만듭니다. colnames를 사용하여 열 이름을 선언합니다. 함수의 마지막 부분은 complete. cases를 사용하여 200 일 이동 평균 열의 값을 확인합니다. 값이없는 행은 최종 결과에서 제외됩니다.


이 mov. avgs () 함수로 무장 한 pblapply ()를 사용하여 이동 평균 계산을 70 개의 데이터 프레임 각각에 추가 할 수 있습니다.


dygraph를 사용하여 stock†™ s moving average를 시각화하려면 아래 코드를 사용하십시오. 다시 한번, 이 코드는 вњњ % & gt; % ” 연산자를 사용하여 객체를 전달합니다. dygraph () 함수는 stocks. ts $ FOX 데이터 프레임을 허용합니다. 구체적으로, 데이터 프레임은 c ( 'sma_200', 'sma_50')로 열 이름으로 인덱싱됩니다. 이 객체는 다음 2 줄의 dySeries ()에 전달됩니다. dySeries ()가 2 행과 3 행의 вњњsma_50” 및 “sma_200” 값에 대한 선을 그릴 수 있도록 이름으로 열을 참조 할 수 있습니다. 이 객체는 selector†™ s 높이를 조정하기 위해 다시 dyRangeSelector ()로 전달됩니다. 마지막으로 주식을 매입하거나 보유하고 싶었던 기간과 주식을 매각 했어야하거나 주식을 매각해야하는 기간을 정의하기 위해 음영을 추가했습니다.


다음은 대화 형 시계열의 최종 결과입니다.


FOX는 음영 지역을 평균으로 매수 / 매도 대 매도로 이동합니다.


결론.


신진 알고리즘 트레이더로서 70 개의 모든 주식을 그릴 필요가 없습니다. 대신, 매일 코드를 실행하고 규칙 기반 방법에 맞는 주식을 식별하는 프로그래밍 방식을 추가하는 것이 좋습니다. 50 일 이동 평균이 200 일 이동 평균보다 높으면 “buy입니다. 위의 차트를 검토 할 때 녹색 부분은 FOX 에퀴티를 구입할 때입니다. 빨간색 섹션은 주식을 매각하고 재 입력하지 않는 시간을 나타냅니다.


그래프는 대화 형이므로 슬라이더를 사용하여 비주얼의 크기를 조정할 수 있습니다. 이 간단한 거래 거래 접근 방식을 기반으로 지금 FOX를 살 좋은 시간이 될 것입니다! 2016 년 12 월 30 일은 50 일 이동 평균이 200 일 이동 평균보다 0.01 달러 더 오른 거래일이었습니다!


폭스 형평의 확대 된 부분.


물론 모든 투자가 가치를 잃을 수 있음을 기억하십시오. 재정 및 골동품 거래에 대해 더 자세히 알기를 원하시면, 여기 DataCamp†™ 코스를 확인하십시오.


algotrading.


65 & # 32; пользователей находятся здесь.


МОДЕРАТОРЫ.


Reddit에 오신 것을 환영합니다.


인터넷의 첫 페이지.


수천 개의 커뮤니티 중 하나에 가입하십시오.


отправлено & # 32; & # 32; & # 32; ModwithABod [M] & # 32; - & # 32; 발표.


помощь правила сайта центр поддержки вики реддикет 모드 가이드 라인 связаться с нами.


приложенияи инструменты Reddit for iPhone Reddit for Android 모바일 웹 사이트 кнопки.


회신을 보내십시오. & # 32; & # 32; Политика конфиденциальности. &부; 2017 reddit 그래픽입니다. Все права защищены.


REDDIT 및 ALIEN 로고는 reddit inc의 등록 상표입니다.


& pi; PID 100840에서 & # 32; app-244 & # 32; 2017-12-19 05 : 24 : 51.059406 + 00 : 00 9e1524e 국가 코드 : UA.

Comments

Popular posts from this blog

외환 뭄바이 중앙

Daspan 외환 뭄바이 마하 라 슈 트라. 하루 거래 구매 신호, 상관 관계 forex 전략 금전 등록기, 소프트웨어는 낮은 투자지만. 바이너리 옵션 거래 이제 외환 시스템이 외환 거래를 용이하게하기 때문에 거래가 훨씬 쉬워졌습니다. Forex는 바이너리 권위로 Martingales와 변동성 거래 보너스를 공표합니다. Kerja는 라이센스 조직 비디오 picures에서 바이너리 kerja로 이동합니다. 테마 별 비디오 : 다음에 대한 답변 : & ldquo; Daspan forex mumbai maharashtra & rdquo; 새로운 앱은 Android 사용자에게 자동차 쇼핑 프로세스를 돕기위한 몇 가지 새로운 도구를 제공합니다. 무료 데모 계정을 열고 지금 거래를 시작하십시오! 최고의 온라인 주식 거래 서비스를 무료로 비교하십시오. Put 옵션은 기본 주식의 가격보다 중요합니다. 외환 뭄바이 중앙 50 & amp; 68, 1 층, 세계 무역 센터, Babar 도로, Connaught 장소, New Delhi-110001. 0091-11-23412180, 23413044 / 3132 / 4004. 101,111,112 & amp; 117 Rakeshdeep 빌딩, 11 상업 단지, Gulmohar 영토, 뉴 델리 - 110049 G-8, 1 층, Suneja 타워 -1, Janak Puri 지구 센터, 235, 중앙 아케이드, DLF Qutab 영토, 단계 II, Mehrauli Road, Gurgaon-122001, Haryana. 0124-4050492, 2560892 / 893. D-107, 1 층, Sushant Shoping. 아케이드, Sushant Lok Phase-1, J-29, 1 층 (Opp. Pizza hut) 섹터 -18, Noida - 201301 우타르 프라데시. 0120-2515653, 2515658 / 3066367. 8, Firpo 's Market, 18 A, B & amp; 기...

이진 옵션 100

대상에 도착하십시오. 즐기십시오. 무료 신호. 누구나 자산의 가치가 언제 바뀌는 지 알고 싶어합니다. 우리는 무료로 이러한 신호를 제공 할 것입니다! 높은 수준의 확실성. 우리는 확실한 80 % 이상의 신호를 제공합니다. 확실성의 수준을 설정할 수 있습니다. 경보 시스템. 우리는 당신의 모바일에 당신에게 경고를 보내드립니다. 경보 시스템을 설정할 수 있습니다. 커뮤니티 채팅. 우리는 당신에게 다른 사용자들과 의사 소통 할 수있는 기회를 제공합니다. 경험을 공유하고 다른 사람들과 친해질 수 있습니다. 고급 기능. 신호를 설정하십시오. 자산, 확실성 수준 및 일정을 설정하십시오. 무료 지원 & amp; 업데이트. 이 신호를 사용하기 위해 알아야 할 모든 것에 대한 자습서를 제공합니다. 사용자가 말하는 것. 무료 시스템 신호를 사용했을 때의 경험에 관한 사용자의 평가를 읽으십시오. 어디서 시작하나요. 바이너리 옵션으로 성공을 시작하는 데 도움이되는 자습서 비디오가 있습니다. 이 비디오는 신호를 사용하는 방법을 보여줍니다. 더 많은 자습서. 필요한 모든 정보가 담긴 튜토리얼 비디오가 더 있습니다. 또한 질문 사항에 대한 답변을 찾을 수 있습니다. 높은 수준의 확실성. 전에 나는 신호를 위해 많은 돈 / 월을 보냈다. 이제 나는 그것들을 완전히 무료로 얻었고 높은 수준의 확신을 얻었습니다. 내가 할 수있는 최선! 여기에 등록하십시오. 표지판을 사용할 때마다 나는 성공했고 그들은 100 % 무료입니다. 감사! 보증금 2 개 옵션 없음 - 무료로 100 달러 받으십시오. 당신은 물었고 우리는 전달했습니다. 우리는 BinaryOptionsFree에 새로운 웹 사이트를 개설하여 무료 $ 100 거래 계좌를 개설하여 거래를 시작할 수 있습니다. 보증금 필요 없음! 중요 : BinaryOptionsFree 사이트에서 IntelliTraders와 동일한 사용자 이름 / 암호를 사용해야합니다! 새 계정을 만들지 마십시오. $ 100 무료 거래 계정을 얻으려면. 작동 원리는 다...

초보자 forex 거래 전략

초보자를위한 간단한 외환 거래 전략. Forex 시장은 엄청나게 유동적이고 많은 수의 참가자가 있습니다. 그것은 또한 잘 설립 된 시장입니다. 예상대로, 인기와 시간의 결합으로 수많은 전략을 고안 한 상인이 생겨났습니다. 새로 온 사람으로서 이용 가능한 거래 기술의 엄청난 양은 힘들고 혼란 스러울 수 있습니다. 일부 전략은 가파른 학습 곡선으로 매우 복잡합니다. 따라서 초보자는 간단한 Forex 전략으로 시작하는 것이 더 좋습니다. 결국 전략이 간단할수록 기본 개념을 이해하는 것이 더 쉬워집니다. 기본 사항을 마스터 한 후에는 복잡한 작업을 추가 할 수있는 충분한 시간이있을 것입니다. 간단한 전략을 채택하든 복잡한 전략을 채택하든 관계없이 가장 중요한 진언은 항상 효과가있는 것을 사용해야한다는 것을 기억하십시오. 새로운 상인은 일반적으로 개발을 모니터링하는 데 많은 시간을 할애 할 수 없습니다. Forex에이 새로운 이주자를 위해, 간단한 전략은 효과적인 그러나 낮 정비 접근을 제안합니다. 이 기사는 간단한 외환 거래 전략을 소개합니다. 무료 웹 세미나에서 새로운 전략을 습득 할 수도 있습니다. 세 가지 초보자 Forex 거래 전략. 첫 번째 두 가지 전략은 추세를 따르려고하기 때문에 상당히 유사합니다. 세 번째 전략은 시장 방향보다는 이자율 차이로 이익을 얻으 려합니다. 하지만 우선 무엇보다 먼저 - 추세는 무엇입니까? 간단히 말해, 추세는 시장이 주어진 전반적인 방향으로 계속 움직이는 경향입니다. 경향 추종 시스템은 새로운 트렌드의 형성과 일치하는 구매 및 판매 신호를 생성하려고 시도합니다. 트렌드가 언제 시작되고 끝나는 지 식별하기위한 많은 방법이 있습니다. 그리고 작동하는 간단한 외환 거래 전략의 많은 유사한 방법이 있습니다. 경향 추종은 큰 이익을 창출 할 수 있습니다. 실제로 이러한 시스템을 사용하여 뛰어난 기록을 작성한 거래자가 있습니다. 그러나 이러한 전략에는 몇 가지 단점이 있습니다. 그들은 큰 트렌드에 충실하기가 어렵 기 때문에 경향의 잠재적...