세계에서 Algorithmic Forex Trading은 무엇입니까?
forex 업계에서 "블랙 박스 시스템"이라고도 알려진 알고리즘 트레이딩의 증가에 대해 많은 이야기가있었습니다. 우리가 장단점과 장단점을 파고 들기 전에 소매 거래에 어떤 영향을 줄 수 있는지 알아보기에 앞서, 여기에 알 고리 거래에 관한 간단한 교훈이 있습니다.
알고리즘 거래 란 무엇입니까?
간단히 말해 알고리즘 트레이딩 시스템은 거래 플랫폼에서 바로 실행될 수있는 거래 신호를 생성하는 프로그래밍 된 명령어 세트입니다. 대부분의 알 고 시스템 또는 "블랙 박스"에는 자동 위치 조정 및 거래 종료 명령도 포함됩니다.
알고리즘 외환 거래 시스템을 운영하면서 수익을보고 계정에 접속하는 것을 상상해보십시오. 그것이 공상 과학 영화가 만든 물건이라고 생각된다면 알고리즘 거래는 이미 거의 20 년 동안 금융 시장에 존재했음을 알아야합니다.
알고리즘 외환 거래가 왜 증가하고 있습니까?
Robopip이 자랑하는 것처럼 기계는 마이크로 초 단위로 복잡한 계산을 수행 할 수 있지만 인간은 일반적으로 그러한 작업을 완료하는 데 수 시간 또는 며칠이 걸립니다. 거래 전략을 컴퓨터 코드로 번역 할 수있는 능력이나 자원을 가진 거래자가 그렇게하기로 결정한 것은 당연합니다!
전자 및 온라인 거래가 도입됨에 따라 자동화 된 거래 시스템이 개발되고 결국에는 수년간의 알 고 트레이딩 (algo trading)의 인기가 증가하게되었습니다. 상인과 금융 회사가 시스템의 수익성을 향상 시키려고하면 더 정교한 도구를 사용하고 외환 알고리즘을 사용자 정의합니다.
이것은 사실이 되기에는 너무 좋게 들립니다. algo 거래에 단점이 있습니까?
알고리즘 트레이딩은 고주파 거래로 시장 유동성을 향상시킬 잠재 성이 있지만 변동성이 급증 할 수도 있습니다. 결국, 알 고어 거래의 번개 빠른 실행과 유사한 알고리즘과의 상관 관계는 더 날카로운 가격 변동으로 이어질 수 있습니다.
반면에 최적의 거래 가격으로 최적의 거래 실행을 목표로하는 대부분의 알고리즘 트레이딩 시스템을 사용하면 시장 스트레스시 변동성이 줄어들 수 있습니다. 산업 분석가들은 이것이 단기 트레이더들이 이익을 내기가 더 어려워 질 수 있다고 지적했습니다.
누군가가 잘못된 길로 내려가는 경우 속도를 높이기 위해 동기 부여가 필요하지 않습니다. 그가 필요로하는 것은 그를 돌리는 교육입니다. Jim Rohn.
BabyPips는 개인 트레이더가 외환 시장을 거래하는 방법을 배울 수 있도록 도와줍니다.
우리는 사람들을 통화 거래 세계에 소개하고, 유익한 상인이되는 법을 배우는 데 도움이되는 교육 컨텐츠를 제공합니다. 우리는 일상적인 거래 여행에서 서로를 지원하는 상인 커뮤니티입니다.
Forex Algorithmic Trading : 엔지니어를위한 실용적인 이야기.
아시다시피, 외환 (외환) 시장은 통화 쌍간 거래에 사용됩니다. 그러나 세계에서 가장 유동성이 높은 시장이라는 사실을 모를 수도 있습니다.
몇 년 전 호기심에 힘 입어 Meta Trader 4 거래 플랫폼에서 데모 계좌를 만들고 시뮬레이션을 (가짜 돈으로) 수행하여 Forex 거래 알고리즘 세계로 첫발을 내딛었습니다.
일주일의 '거래'후, 나는 거의 돈을 두 배로 늘 렸습니다. 내 자신의 성공에 힘 입어 나는 더 깊이 파고 결국 여러 포럼에 가입했습니다. 곧, 알고리즘 거래 시스템 (구매 또는 판매해야하는지 여부를 결정하는 규칙 세트), 사용자 지정 지표, 시장 분위기 등을 읽는 데 몇 시간을 보냈습니다.
내 첫 번째 고객.
이 무렵 우연히 나는 누군가가 간단한 거래 시스템을 자동화하기 위해 소프트웨어 개발자를 찾고 있다고 들었다. 자바로 동시 프로그래밍 (쓰레드, 세마포어, 모든 정크)을 배웠던 대학 시절이었습니다. 나는이 자동화 시스템이 내 고급 데이터 과학 과정보다 훨씬 복잡 할 수는 없다고 생각했기 때문에 그 일에 대해 물어 보았고 온보드로 나왔다.
클라이언트는 Meta Trader 4 플랫폼에서 주식 관련 작업을 수행하는 데 사용되는 함수형 프로그래밍 언어 인 MQL4로 시스템을 구축하기를 원했습니다.
거래 플랫폼 (이 경우 Meta Trader 4)의 역할은 Forex 브로커에 대한 연결을 제공하는 것입니다. 그러면 브로커는 시장에 대한 실시간 정보를 플랫폼에 제공하고 구매 / 판매 주문을 실행합니다. Forex 거래에 익숙하지 않은 독자를 위해 다음은 데이터 피드에서 제공하는 정보입니다.
Meta Trader 4를 통해 매분 (M1), 5 분마다 (M5), M15, M30, 매시간 (H1), H4, D1, W1, MN에 액세스 할 수있는 내부 기능으로 모든 데이터에 액세스 할 수 있습니다. .
현재 가격의 움직임을 틱이라고합니다. 즉, 틱은 통화 쌍에 대한 입찰가 또는 물가를 변경 한 것입니다. 활발한 시장에서는 초당 수많은 진드기가있을 수 있습니다. 느린 시장에서는 진드기없이 몇 분이 걸릴 수 있습니다. 진드기는 Forex 로봇의 심장 박동입니다.
이러한 플랫폼을 통해 주문을하면 일정 금액의 특정 통화를 구매 또는 판매합니다. 또한 중지 손실 및 이익 실현 제한을 설정합니다. 손절매 한도는 거래를 포기하기 전에 잃을 수있는 최대 핍 (가격 변동) 금액입니다. 이윤 - 이익 한도는 현금화하기 전에 누적 될 금액입니다.
클라이언트의 알고리즘 거래 사양은 간단합니다. 두 가지 지표를 기반으로하는 로봇을 원했습니다. 시장 상황을 정의하고 거래 의사 결정을 내릴 때 지표는 과거 데이터 (예 : 지난 n 일간 최고 가격 값)를 기반으로하므로 매우 유용합니다. 많은 사람들이 Meta Trader 4에 내장되어 있습니다. 그러나 고객이 관심을 가졌던 지표는 맞춤 거래 시스템에서 왔습니다.
그들은이 맞춤형 지표 중 2 개가 교차 할 때마다 그리고 특정 각도에서만 매매를하고 싶어했습니다.
손이 더러워지면서 MQL4 프로그램의 구조는 다음과 같습니다.
시작 함수는 시장이 움직일 때마다 실행되므로 모든 MQL4 프로그램의 핵심입니다 (즉, 이 함수는 틱당 한 번 실행됩니다). 이는 사용하는 시간대와 관계없이 적용됩니다. 예를 들어 H1 (한 시간) 시간대에서 작동 할 수 있지만 시작 기능은 시간대 당 수천 번 실행됩니다.
이 문제를 해결하기 위해 필자는 기간 단위로 한 번씩 함수를 실행해야했습니다.
표시기 값 가져 오기 :
지표와 지표의 교차점을 포함한 의사 결정 논리는 다음과 같습니다.
주문 발송 :
관심이 있으시면 GitHub에서 실행 가능한 완전한 코드를 찾으실 수 있습니다.
백 테스트.
알고리즘 거래 시스템을 구축하고 나면, 1) 적절하게 행동했는지, 2) 좋았 으면 좋겠다.
백 - 테스팅은 과거의 사건들 하에서 특정 (자동화 된 또는 아닌) 시스템을 테스트하는 과정입니다. 즉, 현재를 프록시로 사용하여 시스템을 테스트합니다.
MT4에는 Forex 거래 시스템을 백 테스팅 할 수있는 도구가 있습니다 (요즘에는 더 많은 기능을 제공하는 전문 도구가 많이 있습니다). 시작하려면 시간 프레임을 설정하고 시뮬레이션하에 프로그램을 실행하십시오. 이 도구는 각 장치에 대해 특정 가격으로 열어야하고 특정 가격으로 닫히고 지정된 최고 값 및 최저 값에 도달해야한다는 것을 알고 각 틱을 시뮬레이트합니다.
프로그램의 활동을 역사적인 가격과 비교 한 후에 프로그램이 올바르게 실행되고 있는지 여부를 판단 할 수 있습니다.
백 테스트에서 나는 임의의 시간 간격 동안 로봇의 반환 비율을 조사했다. 말할 필요도없이 내 고객이 부자가되지 않을 것이라는 것을 알았습니다. 결정 논리와 함께 자신이 선택한 지표가 수익성이 없었습니다. 샘플로, 다음은 M15 창에서 164 번의 작업을 통해 프로그램을 실행 한 결과입니다.
Google의 잔액 (파란색 선)이 시작 지점 아래로 완료됩니다.
매개 변수 최적화 및 그 거짓말.
백 테스트를 통해이 로봇의 유용성에주의를 기울 였지만 외부 매개 변수로 놀기 시작했을 때 전반적인 리턴 비율에 큰 차이가 있음을 알았을 때 흥미로 웠습니다. 이 특별한 과학을 매개 변수 최적화라고합니다.
나는 Return Ratio에서 외부 매개 변수의 중요성을 추측하고 시도하기위한 대략적인 테스트를 수행했으며 다음과 같은 것을 제안했습니다.
당신은 매개 변수 A를 사용해야한다고 생각할 수도 있습니다. 하지만 결정은 그다지 간단하지 않습니다. 특히 매개 변수 A의 예측 불가능성에 주목하십시오. 작은 오류 값의 경우 반환 값이 크게 변경되었습니다. 다시 말해, 매개 변수 A는 불확실성으로 인해 미래의 결과를 과대 추정 할 가능성이 높습니다.
그러나 실제로, 미래는 불확실합니다! 그래서 매개 변수 A의 반환은 불확실합니다. 사실, 최선의 선택은 예측 불가능성에 의존하는 것입니다. 종종 최대 수익은 낮지 만 우수한 예측 가능성 (덜 변동)이있는 매개 변수는 수익률이 높지만 예측 가능성이 낮은 매개 변수보다 바람직합니다.
당신이 확신 할 수있는 유일한 것은 당신이 시장의 미래를 알지 못한다는 것이며, 과거의 데이터를 기반으로 시장이 어떻게 수행 될 것인지를 생각하는 것은 실수입니다. 차례로, 당신은이 예측 불가능 성을 인정해야합니다.
이것은 우리가 매개 변수 B를 사용해야한다는 것을 반드시 의미하지는 않습니다. 왜냐하면 매개 변수 A의 하위 반환도 매개 변수 B보다 잘 수행되기 때문입니다. 이는 매개 변수 최적화가 미래에 발생할 가능성이있는 결과를 과장하는 테스트를 초래할 수 있다는 것을 보여주기위한 것으로, 그러한 생각은 분명하지 않습니다.
전반적인 Forex 알고리즘 거래 고려 사항.
첫 번째 알고리즘 외환 거래 경험이 있기 때문에 고객을 위해 여러 가지 자동화 된 거래 시스템을 구축했으며 항상 탐색 할 여지가 있음을 알려 드릴 수 있습니다. 예를 들어, 나는 최근에 "빅 피쉬 (Big Fish)"운동을 찾는 시스템을 만들었습니다. 즉, 작고 작은 단위의 거대한 pips 변형입니다. 이것은 나를 매혹시키는 주제입니다.
자신의 시뮬레이션 시스템을 구축하는 것은 Forex 시장에 대해 더 많은 것을 배우기위한 훌륭한 옵션이며 가능성은 무한합니다. 예를 들어, 한 시장 (예 : EUR / USD)에서 변동성의 함수로 가격 변동의 확률 분포를 해독하려고 시도 할 수 있으며, 어느 정도의 정확도를 사용하여 변동성 상태 별 분포를 사용하여 Montecarlo 시뮬레이션 모델을 만들 수 있습니다 네가 원해. 열망하는 독자를위한 운동으로 이것을 남겨 둘 것입니다.
Forex 세계는 압도적 인 시간이 될 수 있지만, 나는이 글이 여러분에게 어떻게 나아갈 지에 대한 몇 가지 포인트를 제공해주기를 바랍니다.
추가 독서.
요즘에는 트레이딩 시스템 자동화를 구축, 테스트 및 개선 할 수있는 툴이 많이 있습니다. 테스트 용 Blox 거래, 거래 용 NinjaTrader, 프로그래밍 용 OCaml 등이 있습니다.
나는 Forex 시장 인 신비한 세계에 대해 광범위하게 읽었습니다. 프로그래머들과 열정적 인 독자들에게 내가 추천하는 몇 가지 글을 여기있다.
Forex 알고리즘 거래의 기본.
거의 30 년 전에 외환 시장 (Forex)은 전화, 기관 투자가, 불투명 한 가격 정보, 인터내셔널 트레이딩과 딜러 고객 거래의 명백한 구별 및 낮은 시장 집중을 통해 수행 된 거래로 특징 지어졌습니다. 오늘날 기술 발전에 힘 입어 시장이 변화했습니다. 거래는 주로 컴퓨터를 통해 이루어지기 때문에 소매 상인이 시장에 진입 할 수있게되어 실시간 스트리밍 가격이 투명성을 높이고 딜러와 가장 정교한 고객 간의 구별이 거의 사라졌습니다.
특히 중요한 변화는 알고리즘 트레이딩의 도입입니다. 알고리즘 트레이딩은 Forex 거래의 기능을 크게 향상시키는 동시에 여러 가지 위험을 제기합니다. Forex 시장 및 알고리즘 거래의 기본 사항을 살펴봄으로써 알고리즘 트레이딩이 통화 거래로 가져온 몇 가지 장점을 확인하면서 일부 위험을 지적합니다.
외환 기본.
Forex는 통화 쌍이 견적 가격에 따라 다양한 거래량으로 거래되는 가상 장소이며 기본 통화에 견적 통화로 가격이 부여됩니다. 일주일에 5 일 하루 24 시간 운영되는 Forex는 세계에서 가장 크고 가장 유동적 인 금융 시장으로 간주됩니다. BIS (Bank for International Settlements)에 따르면 2013 년 4 월 일일 세계 평균 거래량은 2 조 달러였습니다. 이 거래의 대부분은 미국 달러, 유로 및 일본 엔으로 이루어지며 민간 은행, 중앙 은행, 연기금, 기관 투자가, 대기업, 금융 회사 및 개인 소매업 종사자를 포함한 다양한 플레이어가 참여합니다.
투기 거래가 특정 투자자의 주된 동기 일지 몰라도 외환 시장의 존재의 주된 이유는 사람들이 외국 상품과 서비스를 구매하기 위해 통화를 거래해야한다는 것입니다. 외환 시장의 활동은 실질 환율에 영향을 미치므로 특정 국가의 생산, 고용, 물가 상승 및 자본 흐름에 중대한 영향을 미칠 수 있습니다. 이런 이유로 정책 입안자, 대중 및 언론은 모두 외환 시장에서 일어나는 일에 기득권을 가지고 있습니다.
알고리즘 트레이딩의 기초.
알고리즘은 본질적으로 명확하게 정의 된 작업을 완료하도록 설계된 특정 규칙 집합입니다. 금융 시장 거래에서 컴퓨터는 거래를 구성하는 타이밍, 가격 또는 수량과 같은 매개 변수로 구성된 일련의 규칙으로 특징 지어진 사용자 정의 알고리즘을 수행합니다.
금융 시장 내에서 통계, 자동 헤징, 알고리즘 실행 전략 및 직접 시장 접근이라는 네 가지 기본 유형의 알고리즘 거래가 존재합니다. 통계는 과거의 시계열 데이터의 통계 분석을 기반으로 수익성있는 거래 기회를 찾는 알고리즘 전략을 나타냅니다. 자동 헤징은 상인의 위험 노출을 줄이기위한 규칙을 생성하는 전략입니다. 알고리즘 실행 전략의 목표는 시장 영향을 줄이거 나 신속하게 거래를 실행하는 것과 같은 사전 정의 된 목표를 실행하는 것입니다. 마지막으로 직접 시장 접근은 알고리즘 거래자가 여러 거래 플랫폼에 액세스하여 연결할 수있는 최적의 속도와 비용을 설명합니다.
알고리즘 거래의 하위 범주 중 하나는 높은 빈도의 거래로 거래 질서 집행의 빈도가 매우 높다는 특징이 있습니다. 고속 거래는 물가 상승분을 밀리 초 단위로 거래 할 수있는 능력을 제공함으로써 거래자에게 상당한 이점을 줄 수 있지만 특정 위험을 부담 할 수도 있습니다.
외환 시장에서의 알고리즘 트레이딩.
지난 수년간 외환 시장에서의 알고리즘 거래 증가의 상당 부분은 특정 프로세스를 자동화하고 외환 거래를 수행하는 데 필요한 시간을 단축하는 알고리즘 때문이었습니다. 자동화로 인해 생성되는 효율성은 이러한 프로세스를 수행하는 데 드는 비용을 줄입니다. 그러한 과정 중 하나가 거래 주문의 집행입니다. 지정된 기간 또는 특정 가격으로 주문을 실행하는 것과 같이 미리 결정된 기준에 따라 거래하는 알고리즘을 사용하여 거래 프로세스를 자동화하는 것은 사람이 수동으로 실행하는 것보다 훨씬 효율적입니다.
은행은 또한 전자 거래 플랫폼에서 통화 쌍의 가격을 업데이트하도록 프로그램 된 알고리즘을 이용했습니다. 이러한 알고리즘은 은행이 시장 가격을 인용 할 수있는 속도를 높이는 동시에 가격을 견적하는 데 필요한 수작업 시간을 줄입니다.
일부 은행은 위험 노출을 줄이기 위해 알고리즘을 프로그램합니다. 알고리즘은 특정 통화의 일정한 수량을 유지하기 위해 은행이 동등한 금액을 구입 한 고객의 거래와 일치하도록 특정 통화를 판매하는 데 사용될 수 있습니다. 이를 통해 은행은 해당 통화를 보유하기 위해 미리 지정된 수준의 위험 노출을 유지할 수 있습니다.
이러한 프로세스는 알고리즘을 통해 훨씬 더 효율적으로 만들어 졌으므로 트랜잭션 비용이 절감됩니다. 그러나 이들은 Forex 알고리즘 거래의 성장을 주도 해 온 유일한 요인은 아닙니다. 높은 빈도와 알고리즘의 데이터 해석 및 주문 실행 기능의 결합으로 거래자는 통화 쌍 간의 작은 가격 편차로 인해 차익 거래 기회를 활용할 수있게되어 투기 거래에 점점 더 많이 사용되었습니다.
이러한 모든 장점으로 인해 Forex 시장에서 알고리즘 사용이 증가했지만 알고리즘 거래와 관련된 몇 가지 위험을 살펴 보겠습니다.
알고리즘 외환 거래와 관련된 위험.
알고리즘 거래가 많은 개선을 이루었지만 Forex 시장의 안정성과 유동성을 위협 할 수있는 단점이 있습니다. 이러한 단점 중 하나는 시장 참여자의 거래 능력 불균형과 관련이있다. 일부 참가자는 정보를 얻고 다른 사람보다 훨씬 빠른 속도로 주문을 실행할 수있는 정교한 기술을 습득 할 수있는 방법을 가지고 있습니다. 가장 정교한 알고리즘 기술 측면에서 헤게모와 소유주 사이의 이러한 불균형은 시간이 지남에 따라 유동성 부족을 초래할 수있는 시장 내 단편화로 이어질 수 있습니다.
게다가 주식 시장과 외환 시장 간에는 근본적인 차이가 있지만 2010 년 5 월 6 일 주식 시장의 플래시 충돌을 악화시키는 고주파 거래는 외환 시장에도 마찬가지로 영향을 줄 수 있습니다. 특정 시장 시나리오를 위해 알고리즘이 프로그래밍되어 있기 때문에 시장이 급격하게 변화 할 경우 신속하게 대응하지 못할 수도 있습니다. 이 시나리오를 피하기 위해 시장의 난기류 동안 시장을 모니터링하고 알고리즘 거래를 중지해야 할 수도 있습니다. 그러나 이러한 극단적 인 시나리오에서는 수많은 시장 참여자에 의한 알고리즘 거래가 동시에 중단되면 변동성이 커지고 시장 유동성이 급격히 감소 할 수 있습니다.
결론.
알고리즘 트레이딩은 효율성을 높여 화폐 거래 비용을 절감 할 수 있지만 추가 위험이 따릅니다. 통화가 제대로 기능하기 위해서는 다소 안정된 가치의 상점이어야하며 유동성이 높아야합니다. 따라서 외환 시장은 낮은 가격 변동성으로 유동성을 유지하는 것이 중요합니다.
모든 분야의 삶과 마찬가지로 신기술은 많은 이점을 가져다 주지만 새로운 위험도 있습니다. 알고리즘 외환 거래의 미래에 대한 도전은 위험을 줄이면서 이익을 극대화하는 변화를 수립하는 방법이 될 것입니다.
알고리즘 외환 거래 : 기초.
forex 업계에서 "블랙 박스 시스템"이라고도 알려진 알고리즘 트레이딩의 증가에 대해 많은 이야기가있었습니다. 우리가 장단점과 장단점을 파고 들기 전에 소매 거래에 어떤 영향을 줄 수 있는지 알아보기에 앞서, 여기에 알 고리 거래에 관한 간단한 교훈이 있습니다.
알고리즘 거래 란 무엇입니까?
간단히 말해 알고리즘 트레이딩 시스템은 거래 플랫폼에서 바로 실행될 수있는 거래 신호를 생성하는 프로그래밍 된 명령어 세트입니다. 대부분의 알 고 시스템 또는 "블랙 박스"에는 자동 위치 조정 및 거래 종료 명령도 포함됩니다.
알고리즘 외환 거래 시스템을 운영하면서 수익을보고 계정에 접속하는 것을 상상해보십시오. 그것이 공상 과학 영화가 만든 물건이라고 생각된다면 알고리즘 거래는 이미 거의 20 년 동안 금융 시장에 존재했음을 알아야합니다.
알고리즘 외환 거래가 왜 증가하고 있습니까?
Robopip이 자랑하는 것처럼 기계는 마이크로 초 단위로 복잡한 계산을 수행 할 수 있지만 인간은 일반적으로 그러한 작업을 완료하는 데 몇 시간 또는 며칠이 걸립니다. 거래 전략을 컴퓨터 코드로 번역 할 수있는 능력이나 자원을 가진 거래자가 그렇게하기로 결정한 것은 당연합니다!
전자 및 온라인 거래가 도입됨에 따라 자동화 된 거래 시스템이 개발되고 결국에는 수년간의 알 고 트레이딩 (algo trading)의 인기가 증가하게되었습니다. 상인과 금융 회사가 시스템의 수익성을 향상 시키려고하면 더 정교한 도구를 사용하고 외환 알고리즘을 사용자 정의합니다.
이것은 사실이 되기에는 너무 좋게 들립니다. algo 거래에 단점이 있습니까?
알고리즘 트레이딩은 고주파 거래로 시장 유동성을 향상시킬 잠재 성이 있지만 변동성이 급증 할 수도 있습니다. 결국, 알 고어 거래의 번개 빠른 실행과 유사한 알고리즘과의 상관 관계는 더 날카로운 가격 변동으로 이어질 수 있습니다.
반면에 최적의 거래 가격으로 최적의 거래 실행을 목표로하는 대부분의 알고리즘 트레이딩 시스템에서는 시장 스트레스시 변동성이 낮아질 수 있습니다. 산업 분석가들은 이것이 단기 트레이더들이 이익을 내기가 더 어려워 질 수 있다고 지적했습니다.
그것은 우리의 선택입니다. . . 우리의 능력보다 훨씬 더 진실하게 우리가 보여주는 것을 보여줍니다. J. K. 롤링.
BabyPips는 개인 트레이더가 외환 시장을 거래하는 방법을 배울 수 있도록 도와줍니다.
우리는 사람들을 통화 거래 세계에 소개하고, 유익한 상인이되는 법을 배우는 데 도움이되는 교육 컨텐츠를 제공합니다. 우리는 일상적인 거래 여행에서 서로를 지원하는 상인 커뮤니티입니다.
Comments
Post a Comment