Saturday, 3 February 2018

알고리즘 거래 외환 공장


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는 세계에서 가장 크고 가장 유동적 인 금융 시장으로 간주됩니다. 국제 결제 은행 (Bank for International Settlement, BIS)에 따르면 2013 년 4 월 일일 세계 평균 거래량은 2 조 달러였습니다. 이 거래의 대부분은 미국 달러, 유로 및 일본 엔으로 이루어지며 민간 은행, 중앙 은행, 연기금, 기관 투자가, 대기업, 금융 회사 및 개인 소매업 종사자를 포함한 다양한 플레이어가 참여합니다.


투기 거래가 특정 투자자의 주된 동기 일지 몰라도 외환 시장의 존재의 주된 이유는 사람들이 외국 상품과 서비스를 구매하기 위해 통화를 거래해야한다는 것입니다. 외환 시장의 활동은 실질 환율에 영향을 미치므로 특정 국가의 생산, 고용, 물가 상승 및 자본 흐름에 중대한 영향을 미칠 수 있습니다. 이런 이유로 정책 입안자, 대중 및 언론은 모두 외환 시장에서 일어나는 일에 기득권을 가지고 있습니다.


알고리즘 트레이딩의 기초.


알고리즘은 본질적으로 명확하게 정의 된 작업을 완료하도록 설계된 특정 규칙 집합입니다. 금융 시장 거래에서 컴퓨터는 거래를 구성하는 타이밍, 가격 또는 수량과 같은 매개 변수로 구성된 일련의 규칙으로 특징 지어진 사용자 정의 알고리즘을 수행합니다.


금융 시장 내에서 통계, 자동 헤징, 알고리즘 실행 전략 및 직접 시장 접근이라는 네 가지 기본 유형의 알고리즘 거래가 존재합니다. 통계는 과거의 시계열 데이터의 통계 분석을 기반으로 수익성있는 거래 기회를 찾는 알고리즘 전략을 나타냅니다. 자동 헤징은 상인의 ​​위험 노출을 줄이기위한 규칙을 생성하는 전략입니다. 알고리즘 실행 전략의 목표는 시장 영향을 줄이거 나 신속하게 거래를 실행하는 것과 같은 사전 정의 된 목표를 실행하는 것입니다. 마지막으로 직접 시장 접근은 알고리즘 거래자가 여러 거래 플랫폼에 액세스하여 연결할 수있는 최적의 속도와 비용을 설명합니다.


알고리즘 거래의 하위 범주 중 하나는 높은 빈도의 거래로 거래 질서 집행의 빈도가 매우 높다는 특징이 있습니다. 고속 거래는 물가 상승분을 밀리 초 단위로 거래 할 수있는 능력을 제공함으로써 거래자에게 상당한 이점을 줄 수 있지만 특정 위험을 초래할 수도 있습니다.


외환 시장에서의 알고리즘 트레이딩.


지난 수년간 외환 시장에서의 알고리즘 거래 증가의 상당 부분은 특정 프로세스를 자동화하고 외환 거래를 수행하는 데 필요한 시간을 단축하는 알고리즘 때문이었습니다. 자동화로 인해 생성되는 효율성은 이러한 프로세스를 수행하는 데 드는 비용을 줄입니다. 그러한 과정 중 하나가 거래 주문의 집행입니다. 지정된 기간 또는 특정 가격으로 주문을 실행하는 것과 같이 미리 결정된 기준에 따라 거래하는 알고리즘을 사용하여 거래 프로세스를 자동화하는 것은 사람이 수동으로 실행하는 것보다 훨씬 효율적입니다.


은행은 또한 전자 거래 플랫폼에서 통화 쌍의 가격을 업데이트하도록 프로그램 된 알고리즘을 이용했습니다. 이러한 알고리즘은 은행이 시장 가격을 인용 할 수있는 속도를 높이는 동시에 가격을 견적하는 데 필요한 수작업 시간을 줄입니다.


일부 은행은 위험 노출을 줄이기 위해 알고리즘을 프로그램합니다. 알고리즘은 특정 통화의 일정한 수량을 유지하기 위해 은행이 동등한 금액을 구입 한 고객의 거래와 일치하도록 특정 통화를 판매하는 데 사용될 수 있습니다. 이를 통해 은행은 해당 통화를 보유하기 위해 미리 지정된 수준의 위험 노출을 유지할 수 있습니다.


이러한 프로세스는 알고리즘을 통해 훨씬 더 효율적으로 만들어 졌으므로 트랜잭션 비용이 절감됩니다. 그러나 이들은 Forex 알고리즘 거래의 성장을 주도 해 온 유일한 요인은 아닙니다. 높은 빈도와 알고리즘의 데이터 해석 및 주문 실행 기능의 결합으로 거래자는 통화 쌍 간의 작은 가격 편차로 인해 차익 거래 기회를 활용할 수있게되어 투기 거래에 점점 더 많이 사용되었습니다.


이러한 모든 장점으로 인해 Forex 시장에서 알고리즘 사용이 증가했지만 알고리즘 거래와 관련된 몇 가지 위험을 살펴 보겠습니다.


알고리즘 외환 거래와 관련된 위험.


알고리즘 거래가 많은 개선을 이루었지만 Forex 시장의 안정성과 유동성을 위협 할 수있는 단점이 있습니다. 이러한 단점 중 하나는 시장 참여자의 거래 능력 불균형과 관련이있다. 일부 참가자는 정보를 얻고 다른 사람보다 훨씬 빠른 속도로 주문을 실행할 수있는 정교한 기술을 습득 할 수있는 방법을 가지고 있습니다. 가장 정교한 알고리즘 기술 측면에서 헤게모와 소유주 사이의 이러한 불균형은 시간이 지남에 따라 유동성 부족을 초래할 수있는 시장 내 단편화로 이어질 수 있습니다.


게다가 주식 시장과 외환 시장 간에는 근본적인 차이가 있지만 2010 년 5 월 6 일 주식 시장의 플래시 충돌을 악화시키는 고주파 거래는 외환 시장에도 마찬가지로 영향을 줄 수 있습니다. 특정 시장 시나리오를 위해 알고리즘이 프로그래밍되어 있기 때문에 시장이 급격하게 변화 할 경우 신속하게 대응하지 못할 수도 있습니다. 이 시나리오를 피하기 위해 시장의 난기류 동안 시장을 모니터링하고 알고리즘 거래를 중지해야 할 수도 있습니다. 그러나 이러한 극단적 인 시나리오에서는 수많은 시장 참여자에 의한 알고리즘 거래가 동시에 중단되면 변동성이 커지고 시장 유동성이 급격히 감소 할 수 있습니다.


결론.


알고리즘 트레이딩은 효율성을 높여 화폐 거래 비용을 절감 할 수 있지만 추가 위험이 따릅니다. 통화가 제대로 기능하기 위해서는 통화 가치가 다소 안정적이고 유동성이 높아야합니다. 따라서 외환 시장은 낮은 가격 변동성으로 유동성을 유지하는 것이 중요합니다.


모든 분야의 삶과 마찬가지로 신기술은 많은 이점을 가져다 주지만 새로운 위험도 내재합니다. 알고리즘 외환 거래의 미래에 대한 도전은 위험을 줄이면서 이익을 극대화하는 변화를 수립하는 방법이 될 것입니다.


212 캔들 패턴 외환 공장.


관련 관심사.


평가 및 통계.


공유 옵션.


문서 작업.


이 미리보기에는 페이지 2 - 7이 표시되지 않습니다.


추천 문서.


유사한 문서 212 촛불 패턴 외환 공장.


알고리즘 거래에 관한 문서.


Scalper2013의 항목 더보기


바닥 글 메뉴.


적법한.


소셜 미디어.


저작권 및 사본; 2017 Scribd Inc. 책 검색. 모바일 사이트. 사이트 디렉토리. 사이트 언어 :


확실합니까?


이 작업은 실행 취소 할 수 없습니다. 너 정말 계속하고 싶니?


이 목록을 삭제 하시겠습니까?


선택한 모든 항목이 목록에서 삭제됩니다.


이 책은 모든 목록에서 삭제됩니다.


우리가 생각하는 큐레이팅 된 타이틀은 & amp; # 39 사랑할 것입니다.


이 제목의 나머지 부분은 곧 제공 될 예정입니다.


212 캔들 패턴 Forex Factory를 사용할 수 있습니다.


알고리즘 무역 공장.


Местоположение :


고향 : 뉴욕.


회원 가입일:


2011 년 12 월 20 일 г.


소개.


안녕하십니까, 저는이 그룹에 가입하여 다른 상인 및 개발자가 자신의 경험을 키우고, 생각을 공유하고, 마음이 맞는 다른 비즈니스 지향 개발자, 위험 관리자 및 상인과 네트워크를 형성 할 수 있도록 돕고 있습니다.


11 명의 다른 Meetups 회원.


뉴욕, 뉴욕.


오늘날 대부분의 국제 거래량은 알고리즘 엔진 (블랙 박스)에 의해 실행되었습니다. 저희 Algorithmic Trading Factory 그룹은 전 세계의 블랙 박스 발명가들을 연결하여 현지 시장에 대한 지식을 공유함으로써 실시간으로 이익에 대한 가격 불일치를 찾습니다. 우리의 목표는 최상의 가격과 최상의 지원을 위해 신흥 시장에 가장 빠르고 가장 빠르게 액세스하는 투명한 분산 알고리즘 네트워크를 만드는 것입니다. 블랙 박스 발명가는 환영합니다.


Люди в этом.


Meetup также находятся в :


Metis : 뉴욕 데이터 과학.


6 868 데이터 과학자.


NYC의 빅 데이터 개발자.


뉴욕 데이터 과학 연구 그룹.


4 462 데이터 과학 파다완.


뉴욕 금융, 무역 & amp; 뱅킹 Meetup.


6 502 재정 전문가.


데이터 과학 및 기계 학습 • ProgramWithUs. c & shy; om.


New York Python Meetup Group.


11 337 Python 프로그래머 및 사용자.


&부; 2017 Meetup 냅킨.


Зарегистрироваться.


Зарегистрироваться.


'가입하기'또는 'Facebook을 사용하여 가입하기'를 클릭하면 Google 서비스 약관에 동의 함을 나타냅니다. 개인 정보 정책.

No comments:

Post a Comment