3.5 시각 프로그래밍 언어 거래 전략의 구현

저자:선함, 2019-04-25 12:21:22, 업데이트: 2019-04-27 11:53:56

요약

이전 섹션에서, 우리는 상거래 전략을 구현하는 전제를 설명하기 위해 시각 프로그래밍 도구의 소개와 특성, "hello world" 예제, 그리고 FMZ Quant 거래 플랫폼에서 전략 작성에 대해 배웠습니다. 이 기사에서는 일반적인 전략 모듈과 기술적 인 지표로 전략을 계속 작성하고, 단계적으로 전략 논리로 이동하여 완전한 내일 거래 전략을 달성하는 데 도움이됩니다.

전략 모듈

스테이지 인크리멘트

1, 단계 rasing K-라인의 비율은 N 기간의 이전 폐쇄 가격의 차이와 현재의 K 라인의 폐쇄 가격으로 계산됩니다. 예를 들어: 최신 10 K 라인의 단계 rasing을 계산하면 다음과 같이 쓸 수 있습니다.

img

위의 코드에서, 컴퓨터가 전략을 실행하는 방법은 완전한 주기를 필요로 합니다. 예를 들어, 최신 10k 줄 단계 인크리먼트를 계산하려면 다음 단계로 나눌 필요가 있습니다.

1, 컴퓨터는 당신이 거래하려는 기간 k 라인의 종류를 분명히 알아야합니다. 예를 들어, 계약 코드를 this_week로 설정하면 주간 k 라인에 거래하는 것을 의미합니다.

2, 계약 코드를 설정 한 후, 당신은 계약의 K 라인 데이터를 얻을 수 있습니다.

3, K선 데이터로, 어떤 특정 K선 데이터도 얻을 수 있습니다.

4, 단계 인크리멘트의 통계 데이터를 얻기 위해서는 먼저 두 개의 K-라인 종료 가격을 얻어야 합니다. 예를 들어: 이전 k-라인 종료 가격 데이터와 11 k-라인 종료 가격 데이터.

5, 마지막으로, 이 2 K 라인 종료 가격에서 단계 인크림트를 계산합니다.

다음 각 전략은 위의 것과 같은 명확한 논리 문장을 가지고 있습니다. 논리 문장을 이해하면 시각 프로그래밍이 훨씬 쉬워집니다.

대량 거래량 증가와 함께 가격 상승

예를 들어, 현재 K 라인의 종료 가격이 이전 10 K 라인의 종료 가격의 1.5 배인 경우, 즉 10 일 동안 가격이 50% 상승했으며 거래량은 이전 10 K 라인의 5 배 이상 증가했습니다. 이렇게 쓸 수 있습니다:

img

가격 격차 점프

가격 격차는 두 K 라인의 가장 높고 가장 낮은 가격이 연결되어 있지 않은 경우입니다. 두 K 라인으로 구성되며 가격 격차는 미래의 가격 움직임의 지원 및 압력 포인트의 참조 가격입니다. 가격 격차가 발생하면 원래 방향과 함께 트렌드를 따라 가속화가 시작되었다고 가정 할 수 있습니다.

img

공통 기술 분석 지표

  • 이동평균

img

통계적 관점에서, 이동 평균은 트렌딩 가격 궤도인 일일 가격의 수학적 평균이다. 이동 평균 시스템은 대부분의 분석가들이 사용하는 일반적인 기술적 도구이다. 기술적 관점에서, 그것은 기술 분석가의 심리적 가격에 영향을 미치는 요인이다. 사고 거래의 의사 결정 요인은 기술 분석가들에게 좋은 참조 도구이다. FMZ 퀀트 툴은 아래와 같이 다양한 유형의 이동 평균을 지원한다:

img

  • MACD 지표

img

MACD 지표는 빠른 (단기) 및 느린 (장기) 이동 평균과 그 집계 및 분리를 사용하는 이중 평형 작업입니다. 이동 평균의 원칙에 따라 개발 된 MACD는 이동 평균이 종종 잘못된 신호를 방출한다는 결함을 제거하고 다른 좋은 측면의 효과를 유지합니다. 따라서 MACD 지표는 이동 평균의 추세와 안정성을 가지고 있습니다. 주식 구매 및 판매의 시기를 연구하고 주식 가격 변화를 예측하는 데 사용되었습니다. 다음과 같이 사용할 수 있습니다.

img

  • KDJ 표시기

KDJ 지표는 거래 자산의 주식 동향 및 가격 패턴의 변화를 분석하고 예측하는 데 사용되는 기술적 지표입니다. KDJ 지표는 무작위 지표로 알려져 있습니다. 그것은 매우 실용적인 기술적 지표로 단기 주식의 시장 동향 분석에서 가장 일반적으로 사용됩니다.

KDJ는 스토카스틱 오시일레이터 지표의 파생 형태이며, J 라인이라고 불리는 추가 라인을 갖는 유일한 차이점이다. %K와 %D 라인의 값은 증권이 과소매 (80 이상) 또는 과소매 (20 이하) 인지를 보여줍니다. %K가 %D를 넘는 순간은 판매 또는 구매의 순간입니다. J 라인은 %K에서 %D 값의 분리를 나타냅니다. J의 값은 차트에서 %K와 %D 라인에 대해 [0, 100]을 넘을 수 있습니다.

img

전략 작성

워렌 버핏의 멘토인 벤자민 그레이엄은 그의 책 <<지능적 투자자>에서 주식과 채권이 동적으로 균형을 이루는 거래 모델을 언급했습니다.

img

  • 이 거래 모델은 매우 간단합니다.

자금의 50%는 주식 펀드에 투자되고 나머지 50%는 채권 펀드에 투자됩니다. 즉 주식과 채권은 각각 절반을 차지합니다.

고정된 간격이나 시장 변화에 기초한 자산 포지션 재균형은 주식 자산과 채권 자산의 비율을 초기 1:1로 회복시킵니다.

이것은 전체 전략의 전체 논리입니다. 언제 구매하고 판매하고 얼마나 구매하고 판매하는지를 포함합니다. 얼마나 간단하고 효과적입니다!

제2호

이 방법에서는 채권 펀드의 변동성은 실제로 주식 변동성보다 훨씬 낮습니다. 따라서 채권은 여기서 "반응 앵커"로 사용됩니다. 즉 채권이 주가가 너무 많이 상승하는지 너무 적게 상승하는지 측정하는 것입니다.

주식 가격이 상승하면 주식의 시장 가치는 채권의 시장 가치보다 커질 것입니다. 이 두 가지의 시장 가치 비율이 한 임계치의 세트를 초과하면 총 지위가 재조정되고 주식이 판매되고 채권이 매입되어 주식 가치와 채권 가치 비율이 초기 1:1로 회복됩니다.

img

반대로, 주식 가격이 떨어지면 주식의 시장 가치는 채권의 시장 가치보다 작을 것입니다. 이 두 가지의 시장 가치 비율이 한 임계 세트를 초과하면 총 지위가 재조정되고 주식이 구입되고 채권이 판매되어 채권 가치와 주식 가치의 시장 자본 비율이 초기 1:1로 회복됩니다.

이 방법으로, 주식과 채권의 동적 균형 사이의 비율은 주식 성장의 이익을 누리고 자산 변동성을 줄이기 위해 충분합니다. 가치 투자의 선구자로서, 그레이엄은 우리에게 멋진 아이디어를 제공했습니다.

이것이 완전하고 상호적인 전략이기 때문에, 왜 우리는 암호화폐 시장에서 그것을 사용하지 않을까요?

제3호

  • 블록체인 자산 동적 균형 전략 BTC

전략 논리

BTC의 현재 가치에 따르면 계좌 잔액은 5000 달러 현금과 0.1 BTC로 유지됩니다. 즉, BTC 시장 가치에 대한 현금의 초기 비율은 1: 1입니다.

만약 BTC의 가격이 6000달러로 상승하면, 즉 BTC의 시장 가치가 계좌 잔액보다 커지고 그 사이의 차이는 설정된 임계치를 초과하면 (6000-5000)/6000/2 동전이 판매됩니다.

BTC의 가격이 4000 달러로 떨어지면 즉 BTC 시장 가치가 계좌 잔액보다 작고 그 사이의 차이는 설정 한계를 초과하면 (5000-4000) / 4000/2 동전을 구입합니다. BTC가 절감되었음을 의미하며 BTC를 다시 구입해야합니다.

이 방법으로 BTC가 평가되거나 부가가치되는지 여부에 관계없이 계좌 잔액과 BTC의 시장 가치는 항상 동적으로 동일하게 유지됩니다. BTC가 부가가치되면 일부를 구입하고 다시 상승 할 때 판매합니다. 균형 척도와 마찬가지로.

  • 구매 조건: 현재 사용 가능한 잔액을 빼고 현재 사용 가능한 잔액을 빼고 현재 사용 가능한 잔액의 5% 미만인 경우 구매할 수 있는 포지션을 개설합니다.

  • 판매 조건: 현재 사용 가능한 잔액을 빼고 현재 사용 가능한 잔액의 시장 가치가 현재 사용 가능한 잔액의 5%를 초과하는 경우, 판매를 위해 포지션을 개시합니다.

전제 조건

  • 현재 시장 코트

  • 매출액

  • 동전의 총 시장 가치

  • 피아트 화폐와 동전의 가치 차이

전략 구축

  • 시각 프로그래밍 단계 1

우리는 위의 네 가지 전제 조건을 계산하고 각 다른 변수에 할당합니다. 코드 블록은 다음과 같습니다:

img

코인의 총 가치는 현재 보유한 코인의 총 시장 가치입니다. 계산 방법은 현재 총 포지션 수를 최신 가격으로 곱하는 것입니다. 자산의 차이는 현 사용 가능한 잔액을 빼고 코인의 총 시장 가치입니다.

  • 시각 프로그램 단계 2

전제 조건 할당이 완료 된 후, 당신은 거래 논리를 작성해야합니다. 이것은 보이는 것처럼 복잡하지 않습니다. 그것은 코드 블록의 형태로 표현 된 위의 전략 논리 이상의 것이 아닙니다.

즉, 현재 사용 가능한 잔액을 빼고 현재 사용 가능한 잔액의 5% 미만인 현재 위치 시장 가치가 있다면, 구매할 수 있는 포지션을 개척합니다. 현재 사용 가능한 잔액을 빼고 현재 위치 시장 가치가 현재 사용 가능한 잔액의 5% 이상을 차지하는 경우, 아래와 같이 판매할 수 있는 포지션을 개척합니다.

img

전체 전략은 작성된 것처럼 보이지만 프로그램이 위에서 아래로 실행되고 실행 후 중단된다는 것을 알고 있습니다. 그러나 우리의 거래 전략은 거래 조건을 한 번 실행하는 것이 아니라 실행을 반복하는 것입니다.

즉, 프로그램은 전략 조건이 달성되었는지 지속적으로 확인하고, 만약 그렇다면 논리를 실행해야 합니다. 그렇지 않으면 계속 확인합니다. 이 목적을 위해 아래와 같이 다른 루프 명령어를 사용해야 합니다:

img

전략 백테스트

시각 프로그래밍 전략은 다른 프로그래밍 언어에서 작성된 전략과 근본적으로 다르지 않습니다. 또한 다양한 주기의 역사 데이터 테스트와 정밀도를 지원합니다. 다음은이 전략의 백테스팅 정보입니다:

img

이 시점에서, 완전한 거래 전략은 완료된 것으로 간주됩니다. 아직 혼란에 빠진 사람들을 돌보기 위해,이 전략은 FMZ 양자 전략 광장 페이지에서 공유되었으며 직접 대시보드에 복사 할 수 있습니다.

10,000시간 법칙 (어떤 직업에서 프로가 되기 위해) 는 항상 존재하지만, 0 기반 트레이더에게는 새로운 분야를 연구하기 위해 10,000시간을 보내는 것이 불가능하다. 따라서 당신은 사다리를 가지고 있어야 하며, 0 기반 프로그래머 트레이더에게는 FMZ 퀀트 비주얼 프로그래밍이 빠른 시작 사다리이다.

시각 프로그래밍을 사용하면 함수 모듈을 사용할 때 전통적인 프로그래밍 언어의 문법을 기억 할 필요가 없습니다. FMZ 퀀트 플랫폼은 더 많은 양적 거래자가 진입 장벽을 낮추고 관심을 높이는 데 도움이됩니다. 모든 사람이 양적 거래자가 될 수 있습니다!

그러나 시각 프로그래밍은 양적 진입의 발판으로 완전히 괜찮지만 너무 복잡하고 너무 정교한 거래 전략을 개발할 수 없다는 것과 같은 자신의 한계가 있습니다. 그러나 이것은 양적 거래의 첫 단계에 영향을 미치지 않습니다!

다음 섹션에 대한 알림

양적 거래의 전문성에서, 그것은 M 언어 또는 시각 프로그래밍이든, 그들은 모두 양적 거래의 세계에 들어가는 과도기 언어입니다. 그들의 언어적 특성은 거래 전략 개발의 한계를 결정하고, 여러 복잡한 전략이 달성 가능성이 적습니다. 다음 섹션에서는 자바스크립트 언어를 배우는 방법을 알려줍니다. 그것은 공식적인 수준 높은 프로그래밍 언어이며, 그것은 당신이 고위 양적 거래에 진입하는 길입니다.

학교 밖 운동

  1. 볼링거 밴드 인디케이터를 시각 프로그래밍에 적용해보세요.

  2. 이 섹션의 거래 모듈을 사용하여 거래 전략을 완료하려고 노력하십시오.


더 많은