[TOC]

왜 이 과정을 공부해야 하나요? 이 과정을 공부하면서 무엇을 얻었나요? 우선, 이 과정은 JavaScript와 Python 프로그래밍 언어를 기반으로 합니다. 언어는 단지 기술일 뿐이며, 결국 우리는 이 기술을 산업에 적용해야 합니다. 양적 거래는 현재 급속한 발전 단계에 있는 신흥 산업으로, 인재에 대한 수요가 엄청납니다.
이 과목의 체계적인 학습을 통해 양적 거래 분야에 대한 더 깊은 이해를 얻을 수 있습니다. 양적 거래 분야에 진출을 준비하는 학생이라면 도움이 될 것입니다. 주식 또는 선물 투자 애호가라면, 양적 거래는 주관적인 거래를 충분히 도울 수 있습니다. 거래 전략을 개발함으로써 금융 시장에서 수익을 창출하고 투자 및 재무 관리 채널과 플랫폼을 확장할 수 있습니다.
그 전에, 제 개인적인 트레이딩 경험에 대해 이야기해 보겠습니다. 저는 금융 전공이 아니라 통계 전공입니다. 그는 학생 시절부터 주관적 주식거래를 시작했다. 이후 우연히 국내 사모펀드의 양적거래 실무자가 되었고, 주로 전략 연구개발에 종사했다.
저는 10년 넘게 거래계에 종사해 왔고 다양한 유형의 전략을 개발해 왔습니다. 저의 투자 철학은 무엇보다도 위험을 통제하고 절대 수익에 집중하는 것입니다. 우리 과목의 제목은 ‘양적 거래에서 자산 관리까지 - 절대 수익을 위한 CTA 전략 개발’입니다.
어떤 사람들은 CTA가 무엇인지 물을 수 있습니다. CTA가 정확히 무엇인가요? CTA는 해외에서는 상품거래자문사라고 불리고, 국내에서는 보통 투자관리자라고 불립니다. 전통적인 CTA는 다수의 투자자로부터 자금을 모아 전문 투자기관에 위탁하고, 최종적으로 거래자문사(즉, CTA)를 통해 주가지수선물, 상품선물, 국고채선물에 투자합니다.
하지만 실제로 글로벌 선물 시장이 계속해서 성장하고 발전함에 따라 CTA 개념도 끊임없이 확장되고 있으며 그 범위는 전통적인 선물 시장을 훨씬 능가합니다. 선물시장뿐만 아니라 금리시장, 주식시장, 외환시장, 옵션시장 등에도 투자가 가능하며, 이 상품이 일정 수준의 과거 데이터를 보유하고 있다면 해당 CTA 전략이 가능하다. 이러한 역사적 자료를 바탕으로 개발되었습니다.
1980년대 이전에는 전자 거래 기술이 그다지 성숙하지 않았습니다. 그 당시 대부분의 거래자는 Williams 지표, KDJ, RSI, MACD, CCI 등과 같은 기술 지표를 수동으로 그려 상품 선물의 미래 추세를 판단했습니다. 이후 일부 트레이더는 고객이 자산을 관리하는 데 도움을 주기 위해 특별 CTA 펀드를 설정했습니다. CTA 펀드가 진정한 의미로 등장하기 시작한 것은 1980년대에 전자 거래가 대중화된 이후였다.
CTA 기금 관리 규모 변경
단위: 10억 미국 달러
위의 차트를 살펴보면, 특히 양적 거래의 증가로 인해 글로벌 CTA 펀드의 규모는 2005년 1,306억 달러에서 2015년 3,000억 달러 이상으로 증가했습니다. 또한 CTA 전략은 글로벌 헤지펀드의 가장 대중적인 투자 전략 중 하나가 되었습니다.
CTA 펀드의 성과도 규모와 함께 증가했습니다. 아래 그림에서 Barlake CTA 지수를 살펴보겠습니다. Barlake CTA 지수는 글로벌 상품 거래 자문사를 위한 대표적인 산업 벤치마크입니다. 1979년 말부터 2016년 말까지 Barlake CTA 펀드 지수의 누적 수익률은 무려 28.95배였으며, 연간 수익률은 9.59%, 샤프 비율은 0.37, 최대 하락률은 15.66%였습니다.
자산 배분 포트폴리오에서 CTA 전략은 일반적으로 다른 전략과 매우 낮은 상관관계를 유지하기 때문입니다. 아래 그림의 빨간색 원에서 보듯이 2000년에서 2002년까지의 글로벌 주식 하락장과 2008년 글로벌 서브프라임 모기지 위기 동안 Barlake CTA 펀드 지수는 하락하지 않았을 뿐만 아니라 긍정적인 수익률을 달성했습니다. 위기가 발생하면 CTA는 주식과 채권 시장에서 강력한 수익을 제공할 수 있습니다. 또한, 1980년 이래로 Barclays Commodity CTA 지수의 수익 수준은 항상 S&P 500보다 높았으며 하락률도 S&P 500보다 훨씬 낮았음을 알 수 있습니다.

우리나라에서 CTA가 발전한 것은 불과 10년 전이지만 그 추진력은 매우 강력합니다. 이는 주로 국내 상품선물의 비교적 개방적인 거래 환경, 낮은 거래자본 한도, 롱숏 2거래를 허용하는 증거금 시스템 때문입니다. -방식 거래, 낮은 거래 수수료, 거래소의 기술적 구조가 주식보다 진보되어 있고 시스템 내에서 거래가 쉬운 등의 장점이 있습니다.
2010년 이래로 CTA 펀드는 주로 사모펀드 형태로 존재해 왔습니다. 국내 정책이 점차 펀드 특별계좌의 투자 범위를 개방함에 따라 CTA 펀드는 펀드 특별계좌의 형태로 존재하기 시작했습니다. 그들의 보다 투명하고 개방적인 운영 방식은 또한 더 많은 투자자에게 자산 배분을 위한 필수적인 도구가 되었습니다.

위 그림에서 보듯이, 시작하기의 난이도, 자본금 한도, 거래 전략 실행 방법, API 도킹 등의 측면에서도 CTA 전략은 다른 거래 전략보다 개인 거래자에게 더 적합합니다. 국내 선물 계약은 매우 규모가 작습니다. 예를 들어, 옥수수나 대두박 한 묶음은 자본 한도가 거의 없이 수천 위안에 거래될 수 있습니다. 또한 일부 CTA 전략은 전통적인 기술 분석에서 나오기 때문에 비교적 쉽습니다. 다른 전략으로..

CTA 전략의 설계 과정도 비교적 간단합니다. 먼저 과거 데이터를 사전 처리한 다음 정량적 모델에 입력합니다. 정량적 모델에는 수학적 모델링, 프로그래밍 설계 및 기타 도구로 형성된 거래 전략이 포함되며 계산하여 거래 신호를 생성합니다. 그리고 이 데이터를 분석합니다. 물론 실제 개발에서는 위의 그림에서 보이는 것처럼 간단하지 않습니다. 이는 모든 사람에게 전반적인 개념을 제공하기 위한 것입니다.
거래 전략의 관점에서 CTA 전략은 또한 다양합니다. 추세 전략 또는 차익 거래 전략이 될 수 있습니다. 대규모 사이클의 중기 및 장기 전략이거나 하루 내의 단기 전략이 될 수 있습니다. 전략 논리는 다음을 기반으로 할 수 있습니다. 기술적 분석 또는 기본 분석. 표면 분석; 주관적 거래 또는 체계적 거래가 될 수 있습니다.
CTA 전략에는 다양한 분류 방법이 있습니다. 거래 방법에 따라 주관적 거래와 체계적 거래로 나눌 수 있습니다. 해외에서 CTA 전략의 개발은 비교적 진보되어 있으며 체계적 거래의 CTA 전략은 거의 100%에 도달했습니다. 분석 방법에 따르면 기본적 분석과 기술적 분석으로 나눌 수 있습니다. 수입원에 따라 트렌드 트레이딩과 스윙 트레이딩으로 나눌 수 있습니다.
일반적으로 전체 거래 시장에서 트렌드 전략은 CTA 전략의 약 70%를 차지하고, 평균 회귀 전략은 약 25%를 차지하며, 역추세 또는 트렌드 반전 전략은 약 5%를 차지합니다. 그 중 가장 큰 비중을 차지하는 트렌드 전략은 보유 기간에 따라 고빈도 트레이딩, 일중 트레이딩, 중단기 트레이딩, 중장기 트레이딩으로 구분할 수 있습니다.
고빈도 시장 조작 전략 현재 시장에는 두 가지 주요 고빈도 거래 전략이 있는데, 하나는 고빈도 시장 조성 전략이고, 다른 하나는 고빈도 차익거래 전략입니다. 시장 조성 전략은 거래 시장에서 유동성을 제공하는 것입니다. 즉, 시장 조성자가 있는 거래 시장에서 누군가가 매수 또는 매도를 원하면 시장 조성자는 자신의 주문이 실행될 수 있도록 해야 합니다. 시장에 유동성이 부족하고 주문을 실행할 수 없는 경우, 시장 조성자는 다른 사람의 거래상대방을 매수하거나 매도해야 합니다.
고빈도 차익거래 전략 고빈도 차익거래는 상관관계가 높은 두 주식 또는 ETF 또는 ETF를 조합하여 거래하는 것입니다. ETF의 계산 방법에 기초하여, 동일한 방법을 사용하여 ETF의 예상 가격을 계산할 수 있습니다. ETF 지수 가격은 ETF 예상 가격에서 빼서 가격 차이를 얻을 수 있습니다. 일반적으로 이 가격 차이는 가격 채널 내에서 작동합니다. 가격 차이가 상하 채널을 돌파하면 이 가격 차이를 거래하고 기다릴 수 있습니다. 그 가격 차이를 되돌려 이익을 얻는 것이다.
일중 전략 문자적 의미에 따라, 포지션을 밤새도록 유지하지 않는 한, 이를 일일 트레이딩 전략이라고 부를 수 있습니다. 당일 거래의 보유 기간은 비교적 짧고, 일반적으로 시장에 진입한 후 바로 수익을 낼 수 없고 시장에서 빨리 빠져나가게 됩니다. 그러므로 이 거래 방법은 시장 위험이 더 낮습니다. 그러나 시장은 짧은 시간 안에 빠르게 변화하기 때문에, 당일 거래 전략은 일반적으로 트레이더에게 더 높은 요구 사항을 요구합니다.
중장기 전략 이론상 보유 기간이 길수록 전략 용량은 커지고 위험-수익 비율은 낮아집니다. 특히 기관 거래의 경우 단기 전략의 수용 능력이 제한되어 있고 대규모 자금이 단시간 내에 시장에 진입하고 빠져나갈 수 없기 때문에 중기 및 장기 전략이 더 많이 할당될 것입니다. 일반적으로 보관 기간은 며칠, 몇 달, 심지어 그 이상입니다.
CTA 전략 데이터 일반적으로 CTA 전략은 분, 시간 및 일별 데이터를 연구 대상으로 사용하는데, 여기에는 시가, 최고가, 최저가, 종가, 거래량 등이 포함됩니다. 소수의 CTA 전략만이 틱 데이터를 사용합니다. 예를 들어, in- L2 데이터에는 매수 가격, 매도 가격, 매수량, 매도량 등의 심층 데이터가 포함됩니다.

CTA 전략의 기본 아이디어에 대해 말할 때 가장 먼저 떠오르는 것은 전통적인 기술 지표입니다. 이와 관련된 공개 참고 자료가 더 많고 논리가 더 간단하며 대부분이 통계 원칙에 기반하기 때문입니다. 예를 들어, 모든 사람이 잘 알고 있는 다양한 기술 지표로는 MA, SMA, EMA, MACD, KDJ, RSI, BOLL, W&R, DMI, ATR, SAR, BIAS, OBV 등이 있습니다.
시중에는 참고 및 개선용으로 사용할 수 있는 고전적인 거래 모델도 몇 가지 있습니다. 여기에는 다중 이동 평균 조합, DualThrust, R-Breaker, Turtle Trading Method, Grid Trading Method 등이 있습니다.
위에 나열된 모든 것은 전통적인 기술 분석에 기반한 거래 전략입니다. 이 과정은 과거 데이터와 올바른 거래 개념을 기반으로 확률적 이점이 있는 요인 또는 매수 및 매도 조건을 추출하고, 시장이 미래에도 이 패턴을 가질 것이라고 가정하는 것입니다. 마지막으로, 코드를 사용하여 거래 전략을 구현하고 거래를 완전 자동화하세요. 포지션 개설, 이익 실현, 손실 중단, 포지션 추가, 포지션 감소 등은 일반적으로 인간의 개입이 필요하지 않습니다. 실제로 이는 가격 시계열의 양의 자기상관 계수를 이용하여 높은 가격에 사고 낮은 가격에 파는 전략입니다.
CTA 전략의 가장 큰 장점은 현재 시장이 상승하든 하락하든 관계없이 절대 수익을 얻을 수 있다는 점인데, 특히 시장이 강세와 약세 시장 사이에서 빠르게 변할 때나 시장 추세가 분명히 순조로울 때 더욱 그렇습니다. 이 전략은 매우 큽니다. 간단히 말해서 추세가 있습니다. 이익에는 추세가 있습니다. 하지만 시장이 변동성이 크거나 추세가 명확하지 않은 경우, 이 전략을 사용하면 최고가에서 매수하고 최저가에서 매도하는 결과가 초래될 수 있으며, 손실을 막기 위해 끊임없이 앞뒤로 움직이게 됩니다.
선물 CTA 전략이 수익을 낼 수 있는 이유는 주로 다음과 같습니다.
추세 추종 거래의 또 다른 특징은 시장이 없을 때는 적은 돈을 잃고, 시장이 오면 많은 돈을 번다는 것입니다. 그러나 거래를 해본 사람이라면 누구나 시장이 대부분 변동성이 있는 상태라는 것을 알고 있습니다. 시간의, 그리고 단지 짧은 시간 동안만 트렌드가 됩니다. 인용문. 따라서 추세 추종 전략은 거래 시 승률은 낮지만, 전체적으로 각 거래의 손익은 비교적 큽니다.
추세 추종 전략은 수익률이 불안정하기 때문에 많은 투자 기관에서는 다양한 종류와 전략을 활용하여 투자 포트폴리오를 구성하는데, 여기에는 일정 수준의 역전 전략도 포함됩니다. 역전 전략은 가격 시계열이 음의 자기상관 계수를 가지고 있다는 것입니다. 즉, 높은 가격에 매도하고 낮은 가격에 매수하는 것을 의미합니다.
CTA와 기존 자산 간의 상관 관계

위의 차트를 살펴보면, 이론적으로 동시에 다양한 시장 가격 변화에 직면했을 때, 서로 다른 스타일이나 낮은 상관관계를 지닌 여러 전략이 때로는 같고 때로는 다른 거래 신호를 생성합니다. 여러 수익률 곡선이 겹치면 전체 수익률이 서로 보완되고 수익률 곡선이 평평해져 수익률 변동성이 줄어듭니다.
위의 관점에서 볼 때, 마스터 레벨 전략을 개발하는 대신 여러 개의 평범한 하위 전략을 개발하는 것이 더 낫다는 결론을 내릴 수 있습니다. 그렇다면 이러한 전략을 어떻게 제어할까요? 여기서 우리는 머신 러닝에서 랜덤 포레스트 알고리즘을 언급할 수 있습니다. 랜덤 포레스트는 독립적인 알고리즘이 아니라 여러 개의 의사결정 트리를 포함하는 의사결정 프레임워크입니다. 이는 의사결정 트리의 하위 전략 위에 있는 부모 전략과 동일합니다. 부모 정책을 통해 자식 정책 클러스터를 구성하고 제어합니다.
다음으로, 우리는 마스터 전략을 설계해야 합니다. 우리는 전체 상품 선물 시장에서 다양한 상품의 유동성, 수익성 및 안정성을 평가하고, 변동성이 낮은 상품 선물 포트폴리오를 선별한 다음, 산업 중립성을 수행할 수 있습니다. 다양한 선택을 통해 산업, 전반적인 변동성은 더욱 감소될 수 있습니다. 마지막으로, 실제 상품 선물 다품종 포트폴리오는 거래를 위한 시장 가치 매칭을 통해 구성됩니다.
각 제품은 또한 여러 매개변수 전략으로 구성할 수 있습니다. 백테스트 성과가 좋은 매개변수 조합을 선택할 수 있습니다. 시장 추세가 명확할 때, 여러 매개변수 전략은 일반적으로 일관되게 수행되며, 이는 포지션을 추가하는 것과 같습니다. 시장이 변동성이 큰 시장에서 다중 매개변수 전략을 사용하여 성과를 높일 수 있습니다. 전략은 종종 일관성 없이 작동하므로 각각은 롱 또는 숏을 통해 위험을 헤지하는데, 이는 포지션을 줄이는 것과 같습니다. 이를 통해 전체 수익률은 그대로 유지하면서 포트폴리오의 최대 수익률을 더욱 낮출 수 있습니다.
뉴턴은 이렇게 말했습니다. “내가 다른 사람보다 더 멀리 볼 수 있다면, 그건 거인들의 어깨 위에 서 있기 때문이다.”
시장에 공개된 CTA 전략으로는 이동평균 전략, 볼린저 밴드 전략, 터틀 트레이딩 방법, 모멘텀 전략, 차익거래 전략 등이 있습니다. 양적 거래 전략은 모두 하나의 특징을 가지고 있는데, 그것은 빛 속에서 죽는다는 것입니다. 전략이 공개되면 점차 효과가 없어질 것입니다. 하지만 이는 우리가 이러한 전략을 배우고 그 본질을 활용하는 데 영향을 미치지는 않습니다. 따라서 우리는 거인의 어깨 위에 서서 문제를 바라볼 수 있습니다.
기본 분석은 단기 가격 추세에 대해 걱정할 필요가 없습니다. 가치는 결국 가격에 반영될 것이라고 믿습니다. 가격 뒤에 있는 요인을 분석하고 이 다양성의 가치를 판단하는 것이 더 중요합니다. 일반적으로 거시적 요인, 다양성 요인 및 기타 요인을 기반으로 한 상향식 분석 방법이 채택됩니다.

위의 그림을 보면 상품 가격에 영향을 미치는 요인이 많으며, 총 수십 개의 품목이 있습니다. 이를 더 세분화하면 수십 개가 더 있으며, 이러한 데이터는 끊임없이 변화합니다. 개별 개인 투자자들이 이렇게 엄청난 양의 데이터를 얻는 것은커녕 객관적인 분석을 실시하는 것도 불가능한 일이다.
사실, 상품 선물의 기본 분석은 모든 요소를 분석하는 것을 의미하지 않습니다. 우리는 기본 분석의 핵심 요소만 파악하면 복잡한 정보에서 패턴을 찾을 수 있습니다.
거시적 요인 거시경제 데이터는 복잡하고 변화하기 쉽습니다. 매일 매 순간, 다양한 국가의 정치인, 중앙은행, 투자은행에서 공식적이든 비공식적이든 많은 경제 데이터가 발표됩니다. 정치적, 경제적 위기를 제외하면 거시적 분석은 대화에 유용한 소재이기는 하지만 그다지 실용적이지는 않습니다. 미국의 유명한 펀드 운용 전문가인 피터 린치는 한때 자신의 의견을 이렇게 표현했습니다. “나는 매년 경제 동향을 분석하는 데 15분도 쓰지 않습니다.”
다양성 요인 기본 분석에서 상품 분석은 주로 프리미엄과 할인, 공급과 수요 관계, 상품 재고, 산업 이익 등을 분석합니다. 상품 선물 상품 요인 분석을 숙지하면 기본적으로 대부분의 시장 동향을 파악할 수 있다고 할 수 있습니다.
선물거래를 해 본 친구라면 국내 상품선물이 간단히 공산품과 농산물로 나뉜다는 걸 알 것입니다. 공산품과 농산물의 분석 방법은 다릅니다. 공급과 수요의 두 가지 측면에서 설명하겠습니다. 공산품의 경우 공급이 비교적 안정적입니다. 주요 기술 혁신이 없다면 생산 능력이 증가할 가능성은 낮습니다. 단기적으로 증가한다. 시간이 지남에 따라 큰 변화가 있으므로 산업 제품 가격에 영향을 미치는 요인은 주로 수요입니다. 농산물 수요는 비교적 안정적이다. 장기적으로는 농산물 수요에 변화가 있지만 단기적으로는 농산물 수요가 안정되는 경향이 있다. 따라서 농산물 가격에 영향을 미치는 요인 주로 공급입니다.
따라서 경제학의 법칙에 따르면 궁극적으로 상품의 가격을 결정하는 것은 수요와 공급의 관계입니다. 이론적으로, 우리가 수요와 공급 데이터를 얻을 수만 있다면, 우리는 상품의 미래 가격을 판단할 수 있습니다. 산업 제품의 경우 공급 데이터는 비교적 쉽게 얻을 수 있지만 수요 데이터는 얻기 어렵습니다. 농산물의 경우 수요 데이터는 비교적 쉽게 얻을 수 있지만 공급 데이터는 얻기 어렵습니다.
사실, 우리는 더 나아가 뺄셈을 할 수 있습니다. 경제 시장에서 공급과 수요의 상호 결과는 재고입니다. 우리는 재고 데이터를 사용하여 시장 공급과 수요 간의 관계의 강도를 판단할 수 있습니다. 특정 상품의 재고가 매우 높은 경우, 시장 공급의 힘이 수요보다 크다는 것을 의미하며, 외부 조건이 변하지 않는 한 해당 상품의 가격은 하락할 것입니다. 특정 상품의 재고가 매우 부족하다면 시장 수요의 힘이 공급보다 크다는 것을 의미하며, 외부 조건이 변하지 않는다면 해당 상품의 가격은 곧 상승할 것입니다.
상품 재고를 분석하는 것 외에도 현물시장과 선물시장의 가격 차이, 즉 소위 베이시스를 분석하는 것도 필요합니다. 선물 가격이 현물 가격보다 높으면 이를 프리미엄이라고 하고, 선물 가격이 현물 가격보다 낮으면 이를 할인이라고 합니다. 선물거래 인도 제도에 따르면, 선물거래 인도일에는 선물가격이 현물가격과 같아야 합니다.

프리미엄이건 할인이건, 선물거래 시스템의 제약으로 인해 이론적으로는 거래일의 선물가격은 현물가격과 같아야 합니다. 인도일이 다가올수록 현물 가격과 선물 가격은 일정하게 유지되는 경향이 있는데, 하나는 선물 가격이 현물로 돌아오는 것이고, 다른 하나는 현물 가격이 선물 가격으로 돌아오는 것입니다.
위의 원칙에 기초하여, 재고와 베이시스를 활용하여 미래의 선물 가격을 동시에 결정할 수 있습니다. 상품의 재고가 적고, 선물 가격이 현물 가격보다 훨씬 낮다면, 현물 시장의 수요가 공급보다 크다는 결론을 내릴 수 있으며, 앞으로 현물 가격이 상승할 확률이 높습니다. 인도일이 다가올수록 선물 가격은 현물 가격과 일치하도록 상승하며, 앞으로도 선물 가격이 상승할 확률이 커집니다.
마지막으로, 우리는 재고와 베이시스를 통해 미래 가격의 가장 가능성 있는 방향을 결정했지만, 더 이상 정확한 매수 및 매도 시점은 없으므로 명확한 진입 및 청산 신호를 알려주는 기술적 분석이 필요합니다. 기본 분석의 전체 틀은 다음과 같습니다. 낮은 재고 + 큰 할인 + 기술적 분석 강세 신호 = 롱; 높은 재고 + 큰 프리미엄 + 기술적 분석 약세 신호 = 숏.
거래 전략에 관해서라면, 대표적인 거북이 거래 규칙에 대해 이야기하지 않을 수 없습니다. 거북이 거래 규칙은 상품 투기꾼 리차드 데니스가 훌륭한 거래자가 타고나는 것인지, 아니면 만들어지는 것인지 알아내고자 했던 거래 역사상 가장 유명한 실험에서 유래되었습니다. 이를 위해 그는 1983년에 13명을 모집하여 선물 거래의 기본 개념과 자신의 거래 방식과 원칙을 그들에게 가르쳤습니다. 이 학생들은 “바다 거북이”라고 불립니다.
그 후 4년 동안 거북이들은 연평균 80%의 복리 수익률을 달성했습니다. 데니스는 또한 간단한 시스템과 규칙을 사용하면 거래 경험이 거의 없거나 전혀 없는 사람도 훌륭한 거래자가 될 수 있음을 보여주었습니다. 하지만 일부 거북이들은 이익을 위해 웹사이트에서 거북이 거래 규칙을 판매합니다. 이런 행동을 막기 위해, 원래 거북이 두 명인 커티스 페이스와 아서 매독은 거북이 거래 규칙을 웹사이트를 통해 대중에게 무료로 공개하기로 결정했습니다.
진실이 밝혀진 후 사람들은 거북이 거래 규칙이 최적화된 돈키안 채널을 채택하고 포지션 관리에 ATR 지표를 사용한다는 것을 알게 되었습니다. 수십 년간의 역사적 검증을 거쳐 이제는 일반 개인 투자자가 쉽게 돈을 벌 수 있는 거래 방법이 되었으며, 특정 상품에는 여전히 효과적입니다.
거북이 핵심 원칙
그럼 다음으로, 거북이 거래 규칙이 실제로 무엇을 말하는지 살펴보겠습니다. 1. 시장 - 무엇을 사고 팔 것인가, 본질적으로 어떤 시장에서 거래할 것인가. 거북이들은 선물 거래자였고, 거래량이 많고 유동성이 높은 시장만 선택했습니다. 거래량이 적은 시장을 선택하면 손실 위험이 커지기 때문입니다. 돈. 시장에서 빠져나올 때의 추가적인 미끄러짐은 또한 많은 트렌드 기회를 놓치게 할 것입니다. 2. 포지션 크기 - 얼마를 사고 팔 것인가는 전체 전략에서 매우 중요한 부분이지만, 대부분의 사람들은 이를 무시하거나 잘못 취급합니다. 거북이 거래 규칙은 ATR(평균 참 범위) 지표를 사용하여 포지션 개시, 신호 추가, 손절매 신호를 계산합니다. 이것은 매우 영리한 설계로, 시장의 절대 변동성에 따라 포지션 크기를 조정하도록 의도되었습니다. 시장 변동성이 강하면 포지션 크기가 줄어들고, 시장 변동성이 약하면 포지션 크기가 늘어납니다. . 먼저 단위를 정의합니다. 이 단위의 공식은 다음과 같습니다. (총 자산)*1%)/ATR. 초기 포지션은 1유닛입니다. 해당일의 상품 하락이 ATR 수준에 도달하더라도 해당일의 손실은 전체 자산의 1% 이내에서 통제 가능합니다. 가격이 0.5단위 상승하면 롱 포지션은 1단위씩, 최대 4단위까지 증가합니다. 3. 시장 진입 - 거북이가 시장에 진입하는 것은 돈키안 채널을 따릅니다. 가격이 이전 20 또는 55 K-라인의 최고 가격 위로 오르면 시장에 진입하여 롱을 합니다. 가격이 아래로 떨어지면 이전 20 또는 55 K-라인의 가장 낮은 가격에 진입하면 롱 포지션을 취하기 위해 시장에 진입합니다. 그냥 시장에 진입해서 숏 포지션을 취합니다. 마감가나 다음 K-라인을 기다리지 말고 신호가 나타나면 거래를 시작하세요. 4. 손절매 - 장기적으로 손절매 없는 거래는 성공할 수 없지만, 대부분의 거래자는 시장이 반전될 것이라는 희망으로 손실 포지션을 유지합니다. 거북이들은 손실 포지션을 종료할 때 엄격한 규칙을 가지고 있었습니다. 롱 포지션을 유지하고 가격이 2단위 하락하면 롱 포지션은 손절매로 마감되었습니다. 숏 포지션을 유지하고 가격이 2단위 상승하면 숏 포지션은 손절매로 종료됩니다. 5. 이익 실현 - 거북이의 이익 실현은 많은 유동적 이익을 잃는 것을 의미하는데, 이는 많은 트레이더가 받아들이기 어려워하는 부분이기도 합니다. 현재 롱 포지션을 보유하고 있고 가격이 10일 Donchian Channel의 하단 트랙 아래로 떨어지는 경우 모든 롱 포지션을 닫으십시오. 현재 숏 포지션을 보유하고 있고 가격이 10일 Donchian Channel의 상단 트랙 위로 오르는 경우 돈키안 채널, 모든 단기 포지션을 종료합니다.
여기서 우리는 거북이 거래 규칙이 간단해 보이지만 실제로는 실제 거래 시스템의 원형을 형성했다는 것을 알 수 있습니다. 그것은 완전한 거래 시스템의 모든 측면을 포괄하며 거래자에게는 여지를 남기지 않습니다. 주관적인 상상력을 위한 여지가 있습니다. 그리고 의사 결정을 통해 시스템의 프로그래밍된 작동의 장점을 최대한 활용할 수 있습니다. 포함 사항: 진입 및 퇴장 규칙, 자금 관리 및 위험 관리 등
거북이 거래 방법의 가장 큰 장점은 효과적인 거래 방법을 확립하는 데 도움이 된다는 것입니다. 일괄 오픈, 동적 손절매 및 손절매, 시장 추세 추종, 특히 ATR 값과 포지션 사용을 결합한 전략입니다. 관리. 개념은 배울 가치가 있습니다. 물론, 추세 추종 전략에는 실현되지 않은 이익을 취한다는 일반적인 문제가 있습니다. 상승세를 쫓으며 얻은 수익은 이후의 급격한 하락으로 인해 모두 사라질 가능성이 큽니다. 큰 추세에서는 매우 강하지만, 변동성이 큰 시장에서는 성과가 좋지 않습니다.
지난 세기 말, 마법 같은 거래 방법이 미국 금융 투자 분야에서 인기를 얻기 시작했습니다. 수천 명의 사람들이 이를 연습한 후, 사람들은 이 방법이 효과적이고 큰 실용적 가치가 있음을 알게 되었습니다. 동시에 , 많은 투자 전문가들이 인정했습니다. 전문 트레이더들이 인정하고 있으며 외환, 금, 주식, 선물, 원유 또는 지수와 채권 등 거의 모든 금융 투자 분야에 완벽하게 적용될 수 있습니다. 이것은 혼돈의 운영 방식.
혼돈이라는 단어는 원래 우주의 혼돈스러운 상태에 대한 설명을 가리킨다. 그 아이디어는 결과가 불가피하지만 기존 지식으로 인해 계산할 수 없다는 것이다. 왜냐하면 계산 자체도 결과를 바꾸고 최대 또는 최소 결과는 결국 나타날 수 있지만 필연성은 없습니다. 결과. 이는 시장 참여자가 시장을 분석하고 매수 및 매도 거래를 하면서 시장을 바꾸는 시장 거래와 매우 유사합니다. 시장은 영원히 가변적입니다. 참여자가 새로운 시장 형태에 대해 알게 되면, 시장도 참여자가 그것을 인식한다는 것을 알게 되고, 그러면 돌연변이가 발생합니다. 그리고 그것은 확실히 참가자들에게 알려지지 않은 방향으로 돌연변이하는 경향이 있을 것입니다. 그것은 참가자들이 변화하는 패턴을 포착하지 못하도록 막을 만큼의 지혜를 가지고 있습니다. 다시 말해, 시장은 안정적이지 않으며, 시장의 과거에 대한 이해는 미래를 대표할 수 없습니다.
카오스 운영 방식은 빌 윌리엄스가 발명한 투자 아이디어, 거래 전략, 진입 및 청산 신호의 완전한 세트입니다. 현재 많은 국제 투자자들이 혼돈 운영 방식을 사용하여 시장 거래에 참여하고 있습니다. 우리나라 금융 시장의 발전이 더딘 데다 혼돈 이론이 비교적 새로운 개념이기 때문에 중국에서는 혼돈 운영 방식을 연구하는 사람이 적습니다. Chaos Operation Method는 주식, 채권, 선물, 외환, 디지털 통화 등 거의 모든 금융 투자 분야에 적용 가능한 매우 보편적인 트레이딩 전략이므로 본 과정에서는 Chaos Strategy의 간소화된 버전을 시작점으로 사용합니다. 모든 사람의 투자 관심과 수익을 향상시킵니다.
이름에서 알 수 있듯이, 카오스 연산법의 이론적 근거는 카오스 이론입니다. 카오스 이론은 기상학자 에드워드 로렌츠가 제안한 이론으로, 20세기 후반의 가장 위대한 과학적 발견 중 하나입니다. 그는 유명한 “나비 효과”를 제안한 사람이었습니다. 빌 윌리엄스는 금융 투자 분야에 혼돈 이론을 창의적으로 적용하고 이를 프랙탈 기하학, 비선형 동역학 및 기타 분야와 결합하여 매우 효과적인 일련의 기술 분석 지표를 만들어냈습니다.
전체 카오스 운영 방법은 5가지 차원(기술 지표)으로 구성됩니다.
악어
프랙탈
모멘텀
가속
밸런스 라인

위의 그림을 살펴보겠습니다. Alligator Line은 프랙탈 기하학과 비선형 동역학을 사용하는 균형선 세트입니다. 그 본질은 확장된 지수 가중 이동 평균이며, 이는 이동 평균의 한 유형이지만 계산 방법은 약간 더 복잡합니다. 일반적인 이동 평균보다. 일부. 다음으로, Mai 언어로 Alligator 줄을 정의하는 방법을 살펴보겠습니다.
// 参数
N1:=11;
N2:=21;
// 定义价格中线
N3:=N1+N2;
N4:=N2+N3;
HL:=(H+L)/2;
// 鳄鱼线
Y^^SMA(REF(HL,N3),N4,1);
R:=SMA(REF(HL,N2),N3,1);
G:=SMA(REF(HL,N1),N2,1);
먼저, 두 개의 외부 매개변수 N1과 N2를 정의한 다음, 외부 매개변수를 기반으로 최고 가격과 최저 가격의 평균 HL을 계산합니다. 그런 다음 각각 다른 매개변수를 사용하여 평균 HL을 계산합니다. 립 키스의 경우, 중간선의 작은 주기. 다시 평균화하면, 치아는 중간선의 중간 주기의 평균이고, 턱은 중간선의 큰 주기의 평균입니다. 이 전략에서는 턱을 사용합니다.
프랙탈의 개념은 Chaos Operation Method에서 매우 생생하게 정의됩니다. 비유를 들 수 있습니다. 손가락을 위로 향하게 하여 손바닥을 펼칩니다. 가운데 손가락은 위쪽 프랙탈이고, 새끼손가락과 약손가락은 왼쪽이고, 검지손가락은 오른쪽의 손가락과 엄지는 부상이 없는 부위를 나타냅니다. 새로운 하이의 K-라인. 기본적인 프랙탈은 5개의 K-선으로 구성됩니다. 그러면 다음 코드를 사용하여 프랙탈을 정의할 수 있습니다.
// 分形
TOP_N:=BARSLAST(REF(H,2)=HHV(H,5))+2;
BOTTOM_N:=BARSLAST(REF(L,2)=LLV(L,5))+2;
TOP:=REF(H,TOP_N);
BOTTOM:=REF(L,BOTTOM_N);
MAX_YRG^^MAX(MAX(Y,R),G);
MIN_YRG^^MIN(MIN(Y,R),G);
TOP_FRACTAL^^VALUEWHEN(H>=MAX_YRG,TOP);
BOTTOM_FRACTAL^^VALUEWHEN(L<=MIN_YRG,BOTTOM);
앨리게이터 선과 프랙탈을 계산한 후, 이 두 가지 조건을 기반으로 간단한 카오스 연산 전략을 작성할 수 있습니다. 즉, 지수 가중 이동 평균선을 벤치마크 가격으로 사용하여 앨리게이터 선과 프랙탈 지표를 계산할 수 있습니다. 물론, 원래의 카오스 작전 전략은 더 복잡했습니다. 코드는 다음과 같습니다.
// 如果当前无多单,并且收盘价升破上分形,并且上分形在鳄鱼线上方时,多头开仓
BKVOL=0 AND C>=TOP_FRACTAL AND TOP_FRACTAL>MAX_YRG,BPK(1);
// 如果当前无空单,并且收盘价跌破下分形,并且下分形在鳄鱼线下方时,空头开仓
SKVOL=0 AND C<=BOTTOM_FRACTAL AND BOTTOM_FRACTAL<MIN_YRG,SPK(1);
// 如果收盘价跌破鳄鱼的下巴时,多头平仓
C<Y,SP(BKVOL);
// 如果收盘价升破鳄鱼的下巴时,空头平仓
C>Y,BP(SKVOL);
이해하기 쉽게 하기 위해 코드에 자세한 주석을 포함했습니다. 이 전략의 거래 논리를 다음과 같이 간단히 나열할 수 있습니다.
다음으로 이 간단한 카오스 운영 전략의 백테스트 결과를 살펴보겠습니다. 백테스트를 실제 거래 환경에 더 가깝게 만들기 위해 거래 수수료는 거래소 수수료의 두 배로 설정되었으며, 포지션 개시 및 종료에 대해 2점프의 슬리피지가 추가되었습니다. 백테스팅에 사용된 데이터 유형은 철근 지수이고, 거래 유형은 철근 주요 연속이며, 오픈 포지션은 1랏으로 고정되어 있습니다. 아래는 1시간 수준의 예비 백테스트 성과 보고서입니다.

자본 곡선과 백테스트 성과 데이터를 판단해 볼 때, 해당 전략은 좋은 성과를 보이고 있으며 전체 자본 곡선은 꾸준히 상승하고 있습니다. 그러나 2016년 말 이후 철근 시장 특성은 기존의 높은 변동성의 일방적 추세에서 광범위한 변동으로 바뀌었습니다. 자본곡선을 보면, 2017년 이후 이익이 확실히 약세를 보였습니다.
간단히 말해서, 카오스 운영법의 본질은 전환점을 찾는 것입니다. 시장이 어떻게 돌아가는지, 진짜 돌파구인지 거짓 돌파구인지에 대해 걱정할 필요가 없습니다. 프랙탈을 돌파하면 진입할 수 있습니다. 시장에 직접. 시장을 예측하려 하지 말고, 관찰자이자 추종자가 되세요.
소로스는 1987년에 쓴 그의 책 “금융의 연금술”에서 중요한 명제를 내놓았습니다. 나는 시장 가격이 미래에 편향되어 있다는 의미에서 항상 틀렸다고 믿습니다. 그는 시장 효율성 가설이 단지 이론적 가정일 뿐이라고 믿는다. 사실, 시장 참여자들은 항상 합리적이지는 않으며, 모든 시점에서 참여자들이 모든 정보를 완전히 얻고 객관적으로 해석하는 것은 불가능하다. 게다가, 같은 정보에 대한 피드백은 사람마다 다릅니다. 즉, 가격 자체에 이미 시장 참여자들의 잘못된 기대가 포함되어 있으므로, 시장 가격은 본질적으로 항상 잘못된 것입니다. 이는 중재자에게 이익의 원천이 될 수 있습니다.
위의 원리에 근거하여, 우리는 비효율적인 선물 시장에서는 서로 다른 기간의 인도 계약에 대한 시장 영향이 항상 동기화되지 않으며, 가격 책정이 완전히 효과적이지 않다는 것을 알 수 있습니다. 이후, 서로 다른 기간의 동일 거래 대상의 인도계약 가격을 기준으로, 두 가격 사이에 큰 가격 차이가 있는 경우, 서로 다른 기간의 선물계약을 동시에 매수/매도하여 기간 간 차익거래를 진행할 수 있습니다.
상품 선물과 마찬가지로 디지털 통화에도 여러 기간의 차익거래 계약이 결합되어 있습니다. 예를 들어, OkEX 거래소에는 ETC Weekly, ETC Biweekly, ETC Quarterly가 있습니다. 예를 들어, ETC 주간과 ETC 분기별 가격 차이가 장기간 5 정도로 유지된다고 가정해 보겠습니다. 만약 어느 날 스프레드가 7에 도달한다면, 미래의 어느 시점에서 스프레드가 5로 돌아올 것으로 예상됩니다. 그러면 매주 ETC를 매도하고 분기별로 ETC를 매수해 스프레드를 단축할 수 있습니다. 그 반대도 마찬가지다.
이러한 가격 차이는 존재하지만, 수동 차익거래는 시간이 많이 걸리는 수동 작업, 정확도 저하, 가격 변화의 영향 등으로 인해 많은 불확실성을 수반하는 경우가 많습니다. 정량적 차익거래의 매력은 정량적 모델을 통해 차익거래 기회를 포착하고 차익거래 거래 전략을 수립하는 것과 더불어, 프로그램된 알고리즘을 통해 거래소에 자동으로 거래 주문을 내어, 신속하고 정확하게 기회를 포착하고 효율적이고 안정적으로 수익을 창출하는 데 있습니다.
이 과정에서는 디지털 통화 거래에서 Inventor Quantitative Trading Platform과 OkEX 거래소의 ETC 선물 계약을 사용하는 방법과 간단한 차익거래 전략을 사용하여 즉각적인 차익거래 기회를 포착하고 수익을 얻을 수 있는 모든 기회를 잡는 방법을 보여줍니다. 발생 가능한 위험을 헤지하는 것.
암호화폐 교차기간 중재 전략 만들기 난이도: 보통 전략적 환경
전략 논리
위의 내용은 디지털 통화 교차 기간 차익 거래 전략의 논리에 대한 간단한 설명입니다. 그러면 프로그램에서 아이디어를 어떻게 구현합니까? 우리는 먼저 Inventor Quantitative Trading Platform에 프레임워크를 구축하려고 했습니다.
function Data() {} // 基础数据函数
Data.prototype.mp = function () {} // 持仓函数
Data.prototype.boll = function () {} // 指标函数
Data.prototype.trade = function () {} // 下单函数
Data.prototype.cancelOrders = function () {} // 撤单函数
Data.prototype.isEven = function () {} // 处理单只合约函数
Data.prototype.drawingChart = function () {} // 画图函数
function onTick() {
var data = new Data(tradeTypeA, tradeTypeB); // 创建一个基础数据对象
var accountStocks = data.accountData.Stocks; // 账户余额
var boll = data.boll(dataLength, timeCycle); // 计算boll技术指标
data.trade(); // 计算交易条件下单
data.cancelOrders(); // 撤单
data.drawingChart(boll); // 画图
data.isEven(); // 处理持有单个合约
}
//入口函数
function main() {
while (true) { // 进入轮询模式
onTick(); // 执行onTick函数
Sleep(500); // 休眠0.5秒
}
}
감독자 거래에서 우리의 거래 과정이 어떤지 상상해 보세요? 시스템 트레이딩에는 본질적인 차이가 없으며, 단지 데이터를 얻고, 데이터를 계산하고, 주문을 내고, 주문 후 처리하는 것일 뿐입니다. 프로그램에서도 마찬가지입니다. 먼저 프로그램은 20번째 줄에서 메인 함수를 실행합니다. 이는 관례입니다. 프로그램이 거래 전략 전처리(있는 경우)를 완료하면 무한 루프 모드에 들어갑니다. 즉, 라운드 폴링 모드. 폴링 모드에서는 onTick 함수가 반복적으로 실행됩니다.
그런 다음 onTick 함수에서 주관적 거래의 거래 프로세스를 갖습니다. 먼저 기본 가격 데이터를 가져온 다음 계정 잔액을 가져온 다음 지표를 계산한 다음 거래 조건을 계산하고 주문을 내고 마지막으로 주문을 한 후 처리합니다. 주문 취소, 그림 그리기, 개별 계약 처리 등을 포함한 주문.
전략적 아이디어와 거래 과정을 비교함으로써 쉽게 전략 프레임워크를 구축할 수 있습니다. 전체 전략은 세 단계로 단순화될 수 있습니다.
거래 전략 프레임워크를 구축한 후에는 실제 거래 프로세스와 거래 세부 정보를 기반으로 전략 프레임워크에 필요한 세부 코드를 입력해야 합니다.
1. 거래 전 처리
1. 필요한 전역 변수를 선언합니다.
var chart = {}var ObjChart = Chart ( chart )var bars = []var oldTime = 02. 전략의 외부 매개변수 구성
var tradeTypeA = "this_week"; // 套利A合约
var tradeTypeB = "quarter"; // 套利B合约
var dataLength = 10; //指标周期长度
var timeCycle = 1; // K线周期
var name = "ETC"; // 币种
var unit = 1; // 下单量
3. 데이터 처리 기능 정의
function Data(tradeTypeA, tradeTypeB) { // 传入套利A合约和套利B合约
this.accountData = _C(exchange.GetAccount); // 获取账户信息
this.positionData = _C(exchange.GetPosition); // 获取持仓信息
var recordsData = _C(exchange.GetRecords); //获取K线数据
exchange.SetContractType(tradeTypeA); // 订阅套利A合约
var depthDataA = _C(exchange.GetDepth); // 套利A合约深度数据
exchange.SetContractType(tradeTypeB); // 订阅套利B合约
var depthDataB = _C(exchange.GetDepth); // 套利B合约深度数据
this.time = recordsData[recordsData.length - 1].Time; // 获取最新数据时间
this.askA = depthDataA.Asks[0].Price; // 套利A合约卖一价
this.bidA = depthDataA.Bids[0].Price; // 套利A合约买一价
this.askB = depthDataB.Asks[0].Price; // 套利B合约卖一价
this.bidB = depthDataB.Bids[0].Price; // 套利B合约买一价
// 正套价差(合约A卖一价 - 合约B买一价)
this.basb = depthDataA.Asks[0].Price - depthDataB.Bids[0].Price;
// 反套价差(合约A买一价 - 合约B卖一价)
this.sabb = depthDataA.Bids[0].Price - depthDataB.Asks[0].Price;
}
Data.prototype.mp = function (tradeType, type) {
var positionData = this.positionData; // 获取持仓信息
for (var i = 0; i < positionData.length; i++) {
if (positionData[i].ContractType == tradeType) {
if (positionData[i].Type == type) {
if (positionData[i].Amount > 0) {
return positionData[i].Amount;
}
}
}
}
return false;
}
Data.prototype.boll = function (num, timeCycle) {
var self = {}; // 临时对象
// 正套价差和反套价差中间值
self.Close = (this.basb + this.sabb) / 2;
if (this.timeA == this.timeB) {
self.Time = this.time;
} // 对比两个深度数据时间戳
if (this.time - oldTime > timeCycle * 60000) {
bars.push(self);
oldTime = this.time;
} // 根据指定时间周期,在K线数组里面传入价差数据对象
if (bars.length > num * 2) {
bars.shift(); // 控制K线数组长度
} else {
return;
}
var boll = TA.BOLL(bars, num, 2); // 调用talib库中的boll指标
return {
up: boll[0][boll[0].length - 1], // boll指标上轨
middle: boll[1][boll[1].length - 1], // boll指标中轨
down: boll[2][boll[2].length - 1] // boll指标下轨
} // 返回一个处理好的boll指标数据
}
”` Data.prototype.trade = function (tradeType, type) { exchange.SetContractType(tradeType); // 下单前先重新订阅合约 var askPrice, bidPrice; if (trade