avatar of 发明者量化-小小梦 发明者量化-小小梦
집중하다 사신
4
집중하다
1271
수행원

암호화폐 업계의 양적 거래 초보자 여러분, 이 글을 꼭 읽어보세요 - 암호화폐 업계의 양적 거래에 한 걸음 더 다가가기(4부)

만든 날짜: 2021-05-24 09:55:03, 업데이트 날짜: 2024-12-04 21:26:28
comments   6
hits   2321

암호화폐 업계의 양적 거래 초보자 여러분, 이 글을 꼭 읽어보세요 - 암호화폐 업계의 양적 거래에 한 걸음 더 다가가기(4부)

암호화폐 업계의 양적 거래 초보자 여러분, 이 글을 꼭 읽어보세요 - 암호화폐 업계의 양적 거래에 한 걸음 더 다가가기(4부)

이전 기사에서는 암호화폐, 프로그래매틱, 양적 거래의 기본 개념을 많이 알아보았습니다. 마지막으로, 본론으로 들어가서 전략 자체에 대해 이야기해 보겠습니다. 이 글에서는 간단한 전략을 구현하는 방법을 알아보겠습니다. [그리드 전략]은 트레이딩을 하는 사람이라면 누구나 들어봤을 법한 전략입니다. 들어보지 못하셨더라도 상관없습니다.교환그들은 모두 자체적인 프로그래밍 및 양적 거래 기능을 출시했습니다. 가장 일반적이고 사용하기 쉬운 전략은 다음과 같습니다.그리드 전략. 하지만 각 거래소에서 제공하는 그리드 전략 기능과 세부 사항은 다릅니다. 양적 암호화폐 서클에 진입할 계획이기 때문입니다. 왜 우리가 스스로 그리드 전략을 구현하지 않는 걸까?

이때, 일부 학생들은 이렇게 말할 수도 있습니다. “나는 코드를 쓸 수 없어!” “코드 헤드가 큰 걸 보세요!”

그건 분명 사실이에요. 실제로 컴퓨터 소프트웨어 전공이 아니고 프로그래밍 경험도 없는 학생들이 완전한 거래 전략을 스스로 개발하는 것은 매우 어렵습니다. 거래소 인터페이스에 연결하는 것부터 시작하여 일련의 준비 작업을 해야 하기 때문입니다.(거래 로직 프로그램이 100줄에 불과하더라도 다른 코딩 작업이 많고 거래 로직을 작성하는 것보다 더 어렵습니다.) )

이때 편리한 도구가 있다면 매우 간단할 것이고, 적어도 난이도는 70%는 줄어들 것입니다. 거래 로직만 직접 작성하고, 거래소 인터페이스 도킹, 서명 검증, 설정파일, 운영환경 구축, UI 인터페이스 작성, 상호작용 작성 등의 다른 기능들은 모두 기성화해 놓았다면 얼마나 편리하고 빠를지 상상해 보세요. .

믿지 못하시나요? 한번 시도해 봅시다!

간단한 스팟 그리드 전략 구현

우리가 사용하는 도구는 Inventor Quantitative Trading Platform (FMZ.COM)입니다. 그리드 전략 설계의 핵심은 실제로 그리드 매수 및 매도의 논리이기 때문에 이는 전략을 설계하기 전에 명확히 해야 할 사항입니다. 우리의 목표는 전략을 간단하고 이해하기 쉽게 설계하는 것입니다. 따라서 매개변수가 적을수록, 논리가 간단할수록 더 좋습니다.

전략을 설계하는 기본적인 과정은 다음과 같습니다.

  • 1. 전략 요구사항 요약

간단히 말해서, 이것은 귀하의 전략이 무엇을 할 것인지, 어떻게 수행할 것인지, 어떤 기능을 가질 것인지 등입니다. 이 정보는 실제로 작성하기 전에 문서(예: 노트패드)에 작성할 수 있습니다. 전략 코드. FMZ에서 전략을 개발하는 것은 매우 간단합니다. 이 플랫폼은 이러한 요구 사항에 대한 솔루션을 준비했으며, 저는 이러한 요구 사항을 공책에 기록할 필요가 없습니다(관리하기에 매우 편리하지 않음). 저는 전략 노트에 전략 요구사항을 직접 적습니다.

암호화폐 업계의 양적 거래 초보자 여러분, 이 글을 꼭 읽어보세요 - 암호화폐 업계의 양적 거래에 한 걸음 더 다가가기(4부)

전략을 작성한 후에는 저장하는 것을 잊지 마세요. 그런 다음 전략 요구 사항을 작성합니다(전략 요구 사항은 고정되지 않으며 개발하는 동안 기록할 수 있음).

  • 이 전략은 현물 거래 전략으로 설계되었으며 거래 쌍은 다음과 같습니다.XXX_USDT,예를 들어:BTC_USDT

  • 격자는 등거리 간격으로 설계되었는데, 이는 격자에서 인접한 두 지점 사이의 거리가 고정된 것을 의미합니다.

  • 그리드는 무한히 확장 가능한 무한 그리드로 설계되었습니다.

  • 주문 방법은 시장가 주문을 사용합니다.

    1. 그리드 데이터 구조 구축:

아이디어가 명확하지 않은 경우, 분석을 위해 그림을 그리는 것부터 시작할 수 있습니다.

암호화폐 업계의 양적 거래 초보자 여러분, 이 글을 꼭 읽어보세요 - 암호화폐 업계의 양적 거래에 한 걸음 더 다가가기(4부)

시작 가격을 기준점으로 사용해 상단과 하단 방향 모두에 그리드를 구성할 수 있습니다. 그리드는 매수선과 매도선으로 이루어진 계층입니다. 차트에서 우리는 각 선에 두 가지 가능성이 있음을 알 수 있습니다. 1. 가격이 올라갑니다. 2. 가격이 하락합니다. 가격이 위쪽으로 교차하는 것은 가격이 상승하고 있음을 나타내며, 매도한 다음, 가격이 떨어질 때까지 기다렸다가 다시 매수하여 수익을 내야 합니다. 하락 가격 진입은 가격이 하락하고 있음을 나타내며 매수 후, 가격이 오를 때까지 기다렸다가 이익을 위해 매도해야 합니다. 따라서 각 그리드선에는 매수와 매도의 두 가지 거래 방법이 있습니다. 그리고 각 격자선은 고유한 속성을 갖는데, 이 선에 의해 표시된 가격이 바로 그것입니다. 예를 들어, 그림에서 A/B/C/D의 표현. 전략을 설계할 때, 먼저 무엇을 하고 싶은지 이해해야 합니다.무엇그러면 편리하게 할 수 있을 겁니다.

그리드 데이터 구조를 구성하는 함수를 작성하세요.

  function createNet(begin, diff) {   // begin,diff是参数,begin是初始价格,diff是网格间距(等差网格的间距是价格)
      var oneSideNums = 10            // 网格向上、向下一边生成10条线,上图是一边生成2条(AB一边,CD一边),生成10条的自行脑补画面
      var up = []                     // 用来储存向上的“网格线”数据结构
      var down = []                   // 用来储存向下的“网格线”数据结构
      for (var i = 0 ; i < oneSideNums ; i++) {    // 根据oneSideNums的大小确定次数,循环构造“网格线”数据结构
          var upObj = {                            // 构造一条向上的“网格线”数据结构
              buy : false,                         // 买入标记,初始标记为false ,意思为没有买入
              sell : false,                        // 卖出标记....
              price : begin + diff / 2 + i * diff, // 这条“网格线”表示的价格位,可以观察根据循环进行,价格位是依次升高的
          }
          up.push(upObj)                           // 构造好的“网格线”数据结构放入up数组

          var j = (oneSideNums - 1) - i            // 循环时 j 的变动是:9 ~ 0
          var downObj = {
              buy : false,
              sell : false,
              price : begin - diff / 2 - j * diff,
          }
          if (downObj.price <= 0) {                // 价格不能小于等于0 
              continue
          }
          down.push(downObj)                       // 构造好的“网格线”数据结构放入down
      }    

      return down.concat(up)                       // 把up加在down之后,形成一个网格线价格从小到大的网格数组结构
  }

이 기능을 단독으로 실행하면 효과를 볼 수 있습니다. FMZ의 [디버깅 도구]나 [백테스팅 시스템]은 이런 작은 코드를 디버깅하는 데 매우 편리합니다.

암호화폐 업계의 양적 거래 초보자 여러분, 이 글을 꼭 읽어보세요 - 암호화폐 업계의 양적 거래에 한 걸음 더 다가가기(4부)

구축된 데이터를 관찰할 수 있습니다.

  [
      {"buy":false,"sell":false,"price":5},
      {"buy":false,"sell":false,"price":15},
      {"buy":false,"sell":false,"price":25},
      {"buy":false,"sell":false,"price":35},
      {"buy":false,"sell":false,"price":45},
      {"buy":false,"sell":false,"price":55},
      {"buy":false,"sell":false,"price":65},
      {"buy":false,"sell":false,"price":75},
      {"buy":false,"sell":false,"price":85},
      {"buy":false,"sell":false,"price":95},
      {"buy":false,"sell":false,"price":105},  // 100是起始价格,从105开始向上第一条线,间距10
      {"buy":false,"sell":false,"price":115},  // ... 
      {"buy":false,"sell":false,"price":125},
      {"buy":false,"sell":false,"price":135},
      {"buy":false,"sell":false,"price":145},
      {"buy":false,"sell":false,"price":155},
      {"buy":false,"sell":false,"price":165},
      {"buy":false,"sell":false,"price":175},
      {"buy":false,"sell":false,"price":185},
      {"buy":false,"sell":false,"price":195}
  ]
  • 3. 트랜잭션 로직 분석

그리드의 데이터 구조를 분석한 후에는 그리드 전략의 구체적인 매수 및 매도 논리를 고려해야 합니다. 사실 매수와 매도 로직도 매우 간단합니다. 위의 그림에 그려보았습니다. 매수는 특정 선 아래로 교차하는 것을 의미하고, 매도는 특정 선 위로 교차하는 것을 의미합니다. 그럼 윗옷과 아랫옷을 입는 방법은 어떻게 표현할까요? 또한 매우 간단합니다. 우리는 단지 두 시점의 가격 포지션을 비교하여 판단을 내리면 됩니다.

이전 그림을 사용해 보겠습니다.

암호화폐 업계의 양적 거래 초보자 여러분, 이 글을 꼭 읽어보세요 - 암호화폐 업계의 양적 거래에 한 걸음 더 다가가기(4부)

t1은 순간이고 t2는 t1 이후의 순간이며, 선 C의 교차를 판단하기 위해서는 다음과 같이 판단하면 됩니다.P1 < C그리고P2 > C。 마찬가지로, B선의 교차를 판단하기 위해서는 다음과 같이 판단하면 됩니다.P1 > B그리고P3 < B。 그 당시에는 우리가 필요로 하는 것은 단지 횡단(traversal은 일반적으로 횡단이라고 함)뿐입니다.하나하나씩 살펴보세요) 그리드 배열의 각 선에 대해 위를 지나는지 아래를 지나는지 확인하세요. 간단하지 않나요?

가격이 상승 또는 하락하는 것을 포착하면 이러한 동작이 발생할 때 주문을 낼 수 있습니까? 당연히, 이것은 확실히 불가능합니다. 가격이 한 줄에서 반복적으로 오르락내리락한다면, 같은 가격으로 반복적으로 거래함으로써 거래 수수료를 태우고 있다는 뜻이 아닐까요? 따라서 상향 및 하향 교차를 트리거하기 위한 일련의 판단 조건이 여전히 존재하며, 이를 위해서는 방금 구축한 그리드 라인 데이터 구조의 매수/매도 태그를 사용해야 합니다(예: {“buy”:false,“sell “:false,“가격”:5}).

읽어주셔서 감사합니다. 다음 호에서 계속해서 설명하고 배우겠습니다.