Tuesday 13 March 2018

거래 시스템 설계


거래 시스템 : 시스템 설계 - 제 1 부.
이 튜토리얼의 이전 섹션에서는 거래 시스템을 구성하는 요소를 살펴보고 실시간 거래 환경에서 이러한 시스템을 사용하는 데 따른 장단점에 대해 설명했습니다. 이 섹션에서는 시스템 트레이딩에 특히 적합한 시장을 조사하여 그 지식을 기반으로합니다. 그런 다음 다양한 장르의 거래 시스템을보다 심층적으로 살펴 보겠습니다.
주식 시장은 아마도 초보자들 사이에서 거래되는 가장 일반적인 시장 일 것입니다. 이 분야에서 워렌 버핏 (Warren Buffett)과 메릴린치 (Merrill Lynch)와 같은 거물급 기업이 우세하고 전통적인 가치 및 성장 투자 전략이 가장 보편적입니다. 그럼에도 불구하고 많은 기관들이 거래 시스템의 설계, 개발 및 구현에 상당한 투자를 해왔습니다. 개인 투자자들은이 경향에 천천히 참여하고 있습니다.
대량의 주식을 사용하면 거래자는 매우 다양한 휘발성 장외 주식 (OTC)에서부터 비 휘발성 파란색 칩에 이르기까지 다양한 유형의 주식에 대해 시스템을 테스트 할 수 있습니다.
거래 시스템의 효율성은 일부 주식, 특히 OTC 및 분홍색 시트 문제의 낮은 유동성으로 인해 제한 될 수 있습니다.
커미션은 성공적인 거래로 인해 이익을 얻을 수 있으며 손실을 증가시킬 수 있습니다. OTC와 핑크 시트 주식은 추가 수수료를 부과하기도합니다.
사용되는 주요 거래 시스템은 가치를 추구하는 시스템입니다. 즉, 보안이 과거 성과, 동급 업체 또는 시장 전반에 비해 저평가되어 있는지를 결정하기 위해 다양한 매개 변수를 사용하는 시스템입니다.
외환 시장 또는 외환 시장은 세계에서 가장 크고 가장 유동적 인 시장입니다. 세계의 정부, 은행 및 기타 대형 기관들은 매일 외환 시장에서 수조 달러를 거래합니다. forex에 기관 무역상의 대다수는 무역 체계에 의지합니다. 외환 거래를하는 개인에게도 동일하지만 경제 보고서 나이자 지불금을 기반으로하는 일부 거래가 있습니다.
이 시장의 유동성은 대량으로 인해 거래 시스템을보다 정확하고 효율적으로 만듭니다.
이 시장에는 커미션이없고 퍼짐 만 있습니다. 따라서 비용을 늘리지 않고도 많은 거래를하는 것이 훨씬 쉽습니다.
이용할 수있는 주식이나 상품의 양과 비교할 때, 거래 할 통화의 수는 제한되어 있습니다. 그러나 소액 국가의 통화 인 '이국적인 통화 쌍'의 가용성으로 인해 변동성의 범위가 반드시 제한되는 것은 아닙니다.
forex에서 사용 된 주요 거래 시스템은 트렌드를 따르는 시스템 (시장에서 인기있는 트렌드는 "트렌드가 당신의 친구"입니다) 또는 브레이크 아웃에서 구매하거나 판매하는 시스템입니다. 이는 경제 지표가 종종 한 번에 큰 물가 움직임을 유발하기 때문입니다.
주식, 외환 및 상품 시장은 모두 선물 거래를 제공합니다. 이 레버리지는 시스템 트레이딩에 널리 사용되는 수단으로 이용 가능한 레버리지가 많아지고 유동성과 변동성이 증가합니다. 그러나 이러한 요소는 두 가지 방법을 모두 줄일 수 있습니다. 이득을 증폭 시키거나 손실을 증폭시킬 수 있습니다. 이러한 이유로 선물의 사용은 일반적으로 고급 개인 및 기관 시스템 거래자를 위해 예약되어 있습니다. 이는 선물 시장을 자본화 할 수있는 트레이딩 시스템이 훨씬 더 많은 커스터마이징을 필요로하기 때문에보다 발전된 지표를 사용하고 개발하는데 더 오래 걸리기 때문입니다.
어떤 시장이 시스템 트레이딩에 가장 적합한 지 결정하는 것은 개인 투자자에게 달려 있습니다. 각 시장은 각각 장단점이 있습니다. 대부분의 사람들은 주식 시장에 대해 더 잘 알고 있으며 이러한 친숙 함으로 인해 거래 시스템을보다 쉽게 ​​개발할 수 있습니다. 그러나 외환은 흔히 경험이 많은 거래자들 사이에서 거래 시스템을 운영하는 우수한 플랫폼으로 여겨지고 있습니다. 더욱이, 상인이 레버리지와 변동성을 증가 시키기로 결정하면 선물 대안은 항상 열려 있습니다. 궁극적으로 선택은 시스템 개발자의 손에 달려 있습니다.
시스템 트레이딩의 가장 일반적인 방법은 경향 추종 시스템입니다. 가장 근본적인 형태로, 이 시스템은 중요한 가격 움직임을 단순히 기다린 다음 그 방향으로 구매하거나 판매합니다. 이러한 유형의 시스템은 이러한 가격 변동이 추세를 유지할 수 있기를 희망합니다.
이동 평균 시스템.
기술적 분석에서 자주 사용되는 이동 평균은 일정 기간 동안 주식의 평균 가격을 단순히 표시하는 지표입니다. 경향의 본질은이 측정에서 파생됩니다. 진입과 퇴출을 결정하는 가장 일반적인 방법은 크로스 오버입니다. 이러한 논리는 간단합니다. 가격이 과거 가격 평균 (추세)보다 높거나 낮을 경우 새로운 추세가 형성됩니다. 다음은 IBM의 가격 (청색 선)과 20 일 MA (적색 선)를 나타내는 차트입니다.
이러한 유형의 시스템의 기본 개념은 이동 평균 시스템의 개념과 유사합니다. 새로운 최고점 또는 최저점이 설정되면 가격 움직임이 가장 큰 방향으로 이어질 가능성이 높습니다. 브레이크 아웃을 결정하는 데 사용할 수있는 한 가지 지표는 간단한 Bollinger Band & reg입니다. 위에 까는 것. Bollinger Bands & reg; 가격이 높고 낮은 가격의 평균을 보여주고, 가격이 밴드의 가장자리를 만날 때 발생합니다. 다음은 가격 (파란색 선)과 Bollinger Bands & reg를 그려주는 차트입니다. (회색 선) Microsoft의 :
Trend-Following 시스템의 단점 :
경험적 의사 결정 필요 - 추세를 결정할 때 경험적 요소, 즉 역사적 추세의 지속 시간이 항상 고려되어야합니다. 예를 들어, 이동 평균은 지난 20 일 동안 또는 지난 5 년 동안이 될 수 있으므로 개발자는 어떤 시스템이 시스템에 가장 적합한 지 결정해야합니다. 결정할 다른 요인은 브레이크 아웃 시스템의 평균 최고 및 최저입니다.
느린 자연 - 이동 평균 및 브레이크 아웃 시스템은 항상 뒤떨어져 있습니다. 다른 말로하면, 그들은 트렌드의 정확한 상단이나 하단을 결코 칠 수 없습니다. 이것은 필연적으로 잠재적 이익의 몰수를 가져 오며 때로는 중요 할 수 있습니다.
Whipsaw Effect - 경향 추종 시스템의 성공에 해로운 시장 세력 중 가장 일반적인 현상 중 하나입니다. Whipsaw 효과는 이동 평균이 거짓 신호를 생성 할 때 발생합니다. 즉 평균이 범위로 떨어지면 방향이 갑자기 바뀝니다. 효과적인 정지 손실 및 위험 관리 기술이 적용되지 않는 한 막대한 손실을 초래할 수 있습니다.
측면 시장 - 추세 추적 시스템은 본질적으로 실제로 경향을 보이는 시장에서만 수익을 창출 할 수 있습니다. 그러나 시장 또한 오랜 기간 동안 특정 범위 내에 머무르면서 옆으로 움직입니다.
극단적 인 변동성이 발생할 수 있음 - 때로는 추세를 따르는 시스템이 극단적 인 변동성을 겪을 수 있지만 상인은 자신의 시스템을 고수해야합니다. 그렇게 할 수 없다는 것은 확실한 실패를 초래할 것입니다.
기본적으로 카운터 트렌드 시스템의 목표는 최저 최저 가격으로 구매하고 최고 최고 가격으로 판매하는 것입니다. 이 추세 추종 시스템과의 주요 차이점은 추돌 시스템이 자체 수정이 아니라는 점입니다. 즉, 포지션을 종료 할 정해진 시간이 없기 때문에 무제한적인 잠재력을 갖게됩니다.
카운터 트렌드 시스템의 유형.
많은 종류의 시스템이 카운터 트렌드 시스템으로 간주됩니다. 한 방향의 운동량이 퇴색하기 시작하면 구매하는 것이 좋습니다. 이것은 오실레이터를 사용하여 가장 자주 계산됩니다. 예를 들어, stochastics 또는 다른 상대 강도 표시기가 특정 지점 아래로 떨어지면 신호가 생성 될 수 있습니다. 카운터 트레드 트레이딩 시스템에는 다른 유형이 있지만, 모두가 낮은 구매와 높은 매도와 같은 기본적 목표를 공유합니다.
예를 들어, 시스템 개발자가 결정해야하는 요소 중 하나는 상대 강도 지표가 희미 해지는 지점입니다.
극단적 인 변동성이 발생할 수 있음 - 이러한 시스템은 극단적 인 변동성을 경험할 수 있으며 이러한 변동성에도 불구하고 시스템을 고수 할 수 없으면 실패가 발생할 수 있습니다.
무제한 단점 - 앞서 언급했듯이 시스템이 자체 수정 기능이 없으므로 무제한적인 잠재력이 있습니다 (위치를 종료 할 시간이 없음).
거래 시스템이 적합한 주요 시장은 주식, 외환 및 선물 시장입니다. 각 시장에는 장점과 단점이 있습니다. 트레이딩 시스템의 두 가지 주요 장르는 트렌드 추종 시스템과 카운터 트렌드 시스템입니다. 이들의 차이점에도 불구하고 개발 단계에서 두 유형의 시스템 모두 개발자 측에서 경험적 의사 결정을 필요로합니다. 또한 이러한 시스템은 극심한 변동성을 겪기 때문에 일부 체력을 요구할 수 있습니다. 시스템 트레이더는이 시간 동안 자신의 시스템을 고수하는 것이 필수적입니다. 다음 연재에서는 거래 시스템을 설계하고 시스템 트레이더가 자신의 삶을 편하게하기 위해 사용하는 소프트웨어에 대해 논의하는 방법에 대해 자세히 살펴볼 것입니다.

무역 시스템 코딩 : 시스템 설계.
Justin Kuepper 저.
1 단계 : 거래 시스템 규칙 생성.
거래 시스템을 설계 할 때 첫 번째 단계는 시스템이 작동하는 규칙을 간단하게 작성하는 것입니다. 모든 거래 시스템에는 네 가지 핵심 규칙이 있어야합니다.
구매 - 언제 포지션을 사고 싶은지 파악하십시오. 판매 - 포지션을 판매 할시기를 식별합니다. 중지 - 손실을 줄이려는시기를 식별하십시오. 목표 - 언제 이득을 예약하고 싶은지 식별하십시오. 예를 들면 다음과 같습니다.
구매 - 30 일 이동 평균 (MA)이 60 일 MA 판매를 초과하는 경우 - 30 일 MA가 60 일 MA 중지를 초과하는 경우 - 최대 10 단위 손실 목표 - 10 단위의 목표이 예제 시스템 30 일 및 60 일 이동 평균을 기준으로 사고 팔며 10 단위 수익 이후에 자동으로 이익을 기록하거나 반대 방향으로 10 단위 이동 한 후 손실로 판매합니다.
이제 규칙을 세우므로 각 규칙에 관련된 구성 요소를 식별해야합니다. 각 구성 요소에는 두 가지 요소가 있어야합니다.
사용 된 지표 또는 연구 지표 또는 연구 설정이 구성 요소는 연구의 약식 이름을 입력하고 괄호 안의 설정을 입력하여 구성해야합니다. 괄호 안의 이러한 설정은 지표 또는 연구의 "매개 변수"라고합니다. 경우에 따라 여러 매개 변수가있을 수 있으며이 경우 쉼표로 구분하면됩니다.
MA (25) - 25 일 이동 평균 RSI (25) - 25 일 상대 강도 지수 MACD (Close (0), 5,5) - 오늘 마감에 근거한 이동 평균 수렴 분기, 5 일의 빠른 길이 5 일간의 느린 길이 특정 구성 요소에 필요한 매개 변수의 수를 모르는 경우 거래 프로그램의 설명서를 참조하면 채워야하는 값과 함께 이러한 구성 요소가 나열됩니다. 예를 들어 Tradecision은 우리에게 MACD와 함께 세 가지 매개 변수가 필요하다고 말합니다.
따라서 1 단계에서 언급 한 예제에서는 다음을 사용합니다.
MA (30) - 의미 30 일 이동 평균 MA (60) - 의미 60 일 이동 평균 3 단계 : 동작 추가.
이제 우리 규칙에 행동을 추가 할 것입니다. 각 작업은 다음과 같은 기본 형식을 따릅니다.
일반적으로 조건은 위에 작성한 구성 요소 및 매개 변수로 구성되며, 조치는 구매 또는 판매로 구성됩니다. 구성 요소가없는 경우 조건은 간단한 영어로 구성 될 수도 있습니다. "while"구성 요소는 선택 사항입니다.
IF MA (30)가 MA (5)보다 큰 경우 IF MA (30)는 IF (20)보다 큰 경우 MA (30) Equal To Equal To 50 그렇다면 우리가 사용했던 예를 들면 다음과 같이 간단하게 나열 할 수 있습니다 :
MA MA (30)가 MA (60) 이상으로 교차하는 경우 IF MA (30) MA (60) 아래로 십자가를 매매 THEN 우리의 거래가 10 단위의 수익을 올리는 경우 THEN 우리의 거래가 10 단위의 손실을 판매하는 경우 다음 판매 What 's What?
다음은이 규칙을 컴퓨터가 이해할 수있는 코드로 변환하는 방법을 살펴 보겠습니다!

거래 시스템 설계
ForEX 무역 전략은 $ 199.00부터 시작됩니다.
선물 거래 전략은 $ 199.00부터 시작됩니다.
옵션 거래 전략은 $ 199.00부터 시작됩니다.
주식 거래 전략은 $ 199.00부터 시작됩니다.
$ 199.00부터 시작하는 ETF 트레이딩 전략.
위험 관리 전략은 $ 99.00부터 시작됩니다.
트레이딩 시스템 디자인 비전!
우리의 비전은 트레이딩 시스템 디자인에서 벗어나서 트레이딩을 할 ​​수 있도록하는 것입니다. 우리의 목표는 귀사의 비즈니스 산출물 및 거래 요구 사항과 직면 한 과제를 이해하고 실현을위한 합리적이고 효과적인 솔루션을 제안하는 것입니다. 우리는 Trading의 복잡성을 제거하면서 사업 이익을 현실적이고 효과적인 방법으로 보호하고자합니다.
거래는 제품이 아닙니다.
TSD는 조직이 새로운 영역의 도전 과제를 해결하기 위해 성장을위한 플랫폼을 구축 할 수 있도록 지원하는 전문 지식과 도구를 보유하고 있습니다. 트레이딩 시스템 디자인 팀이 헌신적 인 디자인 팀 중 한 곳의 솔루션을 맞춤화 해드립니다.
트레이딩 시스템 디자인 (TSD) 맞춤형 & 주문형 무역 시스템 설계 전문가.
네트워크 센터 (Network Central Ltd.) 영국 사업자 # 7489566 부서.

6 단계로 거래 시스템 설계.
이 문서의 주요 초점은 자신의 외환 거래 시스템을 설계하는 과정을 안내합니다.
시스템을 마련하는 데 오랜 시간이 걸리지는 않지만 광범위하게 테스트하는 데는 시간이 걸립니다.
1 단계 : 시간 프레임.
시스템을 만들 때 가장 먼저 결정해야하는 것은 당신이 어떤 외환 상인인지입니다.
이렇게하면 거래하는 데 사용할 시간을 결정하는 데 도움이됩니다. 여전히 여러 시간 프레임을 살펴 보더라도 거래 신호를 찾을 때 사용하는 기본 시간 프레임이됩니다.
2 단계 : 새로운 추세 파악에 도움이되는 지표를 찾습니다.
우리의 목표 중 하나는 추세를 가능한 한 빨리 식별하기위한 것이므로이를 달성 할 수있는 지표를 사용해야합니다.
이동 평균은 거래자가 추세를 파악하는 데 사용하는 가장 보편적 인 지표 중 하나입니다.
구체적으로 말하자면, 두 개의 이동 평균 (느린 속도와 빠른 속도)을 사용하고 빠른 속도가 느린 속도로 넘어갈 때까지 기다립니다.
이것이 "이동 평균 크로스 오버 (moving average crossover)"시스템의 기초입니다.
가장 단순한 형태의 이동 평균 크로스 오버는 새로운 경향을 파악하는 가장 빠른 방법입니다. 또한 새로운 경향을 발견하는 가장 쉬운 방법입니다.
물론 외환 거래자들은 추세를 파악하는 다른 많은 방법이 있지만 이동 평균은 사용하기 쉬운 방법 중 하나입니다.
3 단계 : 추세를 확인하는 데 도움이되는 지표를 찾습니다.
우리 시스템의 두 번째 목표는 휩쓸기를 피할 수있는 능력을 갖는 것입니다. 이는 우리가 "허위"추세에 빠지기를 원하지 않는다는 것을 의미합니다.
우리가하는 방법은 새로운 추세에 대한 신호를 볼 때 다른 지표를 사용하여이를 확인할 수 있도록하는 것입니다.
MACD, Stochastic 및 RSI와 같은 경향을 확인하는 데 유용한 지표가 많이 있습니다.
다양한 지표에 익숙해지면서 다른 사람들보다 선호하는 사람을 찾아 시스템에 포함시킬 수 있습니다.
4 단계 : 위험을 정의하십시오.
외환 거래 시스템을 개발할 때 각 거래에서 얼마만큼 잃을지를 결정하는 것이 매우 중요합니다.
많은 사람들이 패배에 대해 이야기하고 싶어하지 않지만 실제로는 좋은 상인이 자신이 얼마나 많은 돈을 쓸 수 있는지 생각하기 전에 잠재적으로 잃을 수있는 것에 대해 생각합니다.
당신은 얼마나 많은 공간이 당신의 무역에 약간의 호흡 공간을 줄만큼 충분한 지 결정해야하지만 동시에, 하나의 무역에 너무 많은 위험을 감수하지 않아야합니다.
나중에 강의에서 돈 관리에 대해 자세히 배웁니다. 돈 관리는 단일 거래에서 얼마나 위험해야하는지에 큰 역할을합니다.
잠재적 이득에 대해 생각하기 전에 상인은 잠재적 손실에 대해 미리 생각해야합니다.
5 단계 : 항목 정의 & amp; 종료.
일단 당신이 무역에 잃을 기꺼이하는 얼마를 정의하면, 다음 단계는 최대 이익을 얻기 위하여 무역을 입력하고 나가는 곳을 알아내는 것입니다.
어떤 사람들은 촛불이 닫히지 않더라도 모든 지표가 일치하고 좋은 신호를 보내 자마자 들어가기를 원합니다. 다른 이들은 촛불 닫을 때까지 기다리는 것을 좋아합니다.
BabyPips의 Pip Surfer에있는 외환 거래자 중 한 명은 들어 오기 전에 양초가 닫힐 때까지 기다리는 것이 가장 좋습니다라고 생각합니다.
그는 여러 가지 상황에서 촛불의 한가운데있을 것이며 모든 지표가 일치합니다. 단지 촛불을 닫음으로써 무역이 완전히 뒤집혔습니다!
그것은 모두 무역 스타일의 문제입니다. 어떤 사람들은 다른 사람들보다 더 공격적이며 결국 어떤 종류의 상인인지 알게 될 것입니다.
예를 들어, 아래 차트에서이 상인의 항목은 촛불이 지원 라인 아래로 마감되었을 때입니다.
출구에는 몇 가지 옵션이 있습니다.
한 가지 방법은 정지를 추적하는 것입니다. 즉 가격이 'X'금액만큼 호의적으로 움직이는 경우 'X'금액만큼 정류장을 이동합니다.
빠져 나오기위한 또 다른 방법은 설정된 목표를 설정하고 가격이 목표에 도달하면 종료하는 것입니다. 목표를 계산하는 방법은 귀하에게 달려 있습니다. 예를 들어 일부 거래자는 지원 및 저항 수준을 목표로 선택합니다.
아래 차트에서 출구는 내림차순 채널의 하단 근처에있는 특정 가격으로 설정됩니다.
다른 사람들은 매 거래마다 똑같은 금액의 고정 금리 (고정 위험)를 선택하기 만합니다.
그러나 목표를 계산하기로 결정 했으므로 목표를 확실히 지키십시오. 어떤 일이 일어나더라도 절대로 빠져 나가지 마십시오.
거래 시스템에 충실하십시오!
결국, 당신은 그것을 개발했습니다!
당신이 끝낼 수있는 또 하나의 방법은 만날 때 당신이 나가라고 신호를 보내는 일련의 기준을 갖는 것입니다.
예를 들어 지표가 특정 수준으로 반전되면 거래가 종료되는 규칙을 만들 수 있습니다.
6 단계 : 시스템 규칙을 적어두고 따라하십시오!
이것은 거래 시스템을 만드는 가장 중요한 단계입니다. 거래 시스템 규칙을 작성하고 항상 따라야합니다.
징계는 상인이 가져야 할 가장 중요한 특징 중 하나이기 때문에 항상 시스템을 고수해야합니다.
규칙을 고수하지 않으면 시스템이 작동하지 않습니다. 따라서 징계를받는 것을 잊지 마십시오.
오 그래, 우리는 항상 규칙에 충실해야한다고 언급 했습니까?
외환 거래 시스템을 테스트하는 방법.
시스템을 테스트하는 가장 빠른 방법은 시간에 맞춰 돌아가서 차트를 한 번에 하나씩 앞으로 옮길 수있는 차트 소프트웨어 패키지를 찾는 것입니다.
한 번에 차트를 하나씩 앞으로 옮길 때, 거래 시스템 규칙을 따라 그에 따라 거래를 할 수 있습니다.
거래 기록을 기록하고 자신과 정직하십시오!
승리, 손실, 평균 승리 및 평균 손실을 기록하십시오. 결과에 만족하면 다음 단계로 넘어갈 수 있습니다. 데모 계정으로 실시간 거래를 할 수 있습니다.
새 시스템을 최소 2 개월 동안 데모 계좌에 등록하십시오.
데모 계좌로 2 개월 동안 거래 한 후에는 시스템이 진정으로 시장에서 그 기반을 다할 수 있는지를 알 수 있습니다.
그래도 여전히 좋은 결과를 얻고 있다면 REAL 계정으로 시스템을 실시간으로 교환 할 수 있습니다.
이 시점에서, 당신은 당신의 외환 거래 시스템에 대해 매우 자신감을 가지고 편안함을 느껴야합니다.
귀하의 발전.
당신이 할 수없는 일이 당신이 할 수있는 것을 방해하지 못하게하십시오. 존 나무.
BabyPips는 개인 트레이더가 외환 시장을 거래하는 방법을 배울 수 있도록 도와줍니다.
우리는 사람들을 통화 거래 세계에 소개하고, 유익한 상인이되는 법을 배우는 데 도움이되는 교육 컨텐츠를 제공합니다. 우리는 일상적인 거래 여행에서 서로를 지원하는 상인 커뮤니티입니다.

알고리즘 트레이딩 시스템 아키텍처.
이전에이 블로그에서 지적 알고리즘 트레이딩 시스템의 개념적 아키텍처와 생산 알고리즘 트레이딩 시스템의 기능적 및 비 기능적 요구 사항에 대해 작성했습니다. 그 이후로 필자는 이러한 아키텍처 요구 사항을 충족시킬 수 있다고 믿는 시스템 아키텍처를 설계했습니다. 이 글에서는 ISO / IEC / IEEE 42010 시스템의 지침과 소프트웨어 엔지니어링 아키텍처 설명 표준을 따르는 아키텍처에 대해 설명합니다. 이 표준에 따르면 아키텍처 설명은 다음과 같아야합니다.
여러 표준화 된 아키텍처 뷰 (예 : UML) 및 설계 결정과 아키텍처 요구 사항 간의 추적 가능성 유지.
소프트웨어 아키텍처 정의.
시스템 아키텍처가 무엇인지에 대해서는 아직 합의가 이루어지지 않았습니다. 이 기사의 맥락에서 기능 요구 사항을 충족시키는 응용 프로그램 구성 요소를 지정, 배포 및 실행할 수있는 인프라로 정의됩니다. 기능 요구 사항은 시스템 및 해당 구성 요소의 예상 기능입니다. 비 기능 요구 사항은 시스템의 품질을 측정 할 수있는 방법입니다.
비 기능 요구 사항이 만족스럽지 않으면 기능 요구 사항을 완전히 만족시키는 시스템은 기대에 미치지 못할 수 있습니다. 이 개념을 설명하기 위해 다음 시나리오를 고려하십시오. 방금 구입했거나 구축 한 알고리즘 거래 시스템이 우수한 거래 결정을 내리지 만 조직의 위험 관리 및 회계 시스템과 완전히 작동하지 않습니다. 이 시스템이 귀하의 기대에 부응합니까?
개념적 아키텍처입니다.
개념적보기는 높은 수준의 세분화 수준에서 시스템에 존재하는 고급 개념과 메커니즘을 설명합니다. 이 수준에서 알고리즘 트레이딩 시스템은 4 개의 레이어와 두 가지 아키텍처 측면에서 분리 된 이벤트 기반 아키텍처 (EDA)를 따릅니다. 각 레이어 및 aspect 참조 아키텍처 및 패턴이 사용됩니다. 건축 패턴은 특정 요구 사항을 달성하기위한 입증 된 일반 구조입니다. 건축 측면은 여러 구성 요소에 걸쳐있는 교차 절단 문제입니다.
이벤트 중심 아키텍처 - 이벤트를 생성, 감지, 소비 및 반응하는 아키텍처입니다. 이벤트에는 실시간 시장 이동, 복잡한 이벤트 또는 트렌드, 거래 이벤트가 포함됩니다. 주문 제출.
이 다이어그램은 알고리즘 거래 시스템의 개념적 아키텍처를 보여줍니다.
참조 아키텍처.
비유를 사용하기 위해 기준 아키텍처는 내 하중 벽에 대한 청사진과 유사합니다. 이 청사진은 공통적으로 발생하는 요구 사항을 충족시키기 때문에 어떤 건물이 건설되고 있는지에 관계없이 여러 건물 설계에 재사용 할 수 있습니다. 마찬가지로 참조 아키텍처는 특정 요구 사항을 만족하는 구체적인 소프트웨어 아키텍처를 구성하는 데 사용할 수있는 일반 구조 및 메커니즘을 포함하는 템플릿을 정의합니다. 알고리즘 거래 시스템의 아키텍처는 공간 기반 아키텍처 (SBA)와 모델 뷰 컨트롤러 (MVC)를 참조로 사용합니다. 운영 데이터 저장소 (ODS), 추출 변환 및로드 (ETL) 패턴 및 데이터웨어 하우스 (DW)와 같은 우수 사례도 사용됩니다.
모델보기 컨트롤러 - 정보의 표현과 사용자의 상호 작용을 구분하는 패턴입니다. 공간 기반 아키텍처 - 느슨하게 연결된 처리 장치가 공간이라고하는 공유 연관 메모리 (아래 참조)를 통해 서로 상호 작용하는 인프라를 지정합니다.
구조보기.
아키텍처 구조 뷰는 알고리즘 거래 시스템의 구성 요소와 하위 구성 요소를 보여줍니다. 또한 이러한 구성 요소가 물리적 인프라에 어떻게 배치되는지를 보여줍니다. 이 뷰에 사용 된 UML 다이어그램에는 구성 요소 다이어그램과 배포 다이어그램이 포함됩니다. 다음은 SBA 참조 아키텍처의 전체 알고리즘 트레이딩 시스템 및 처리 단위의 배포 다이어그램과 각 계층의 관련 구성 요소 다이어그램 갤러리입니다.
자동화 된 상인 / 이벤트 처리 구성 요소 다이어그램 데이터 소스 및 사전 처리 계층 구성 요소 다이어그램 MVC 기반 사용자 인터페이스 구성 요소 다이어그램.
건축 전술.
소프트웨어 엔지니어링 연구소에 따르면 아키텍처 전술은 아키텍처 설계 결정을 통해 품질 속성 모델의 일부 측면을 조작하여 품질 요구 사항을 충족시키는 수단입니다. 알고리즘 거래 시스템 아키텍처에서 사용되는 간단한 예제는 연속적인 쿼리 구성 요소로 운영 데이터 저장소 (ODS)를 '조작'하는 것입니다. 이 구성 요소는 복합 이벤트를 식별하고 추출하기 위해 ODS를 지속적으로 분석합니다. 아키텍처에서 사용되는 전술은 다음과 같습니다.
이벤트 및 순서 큐의 장애 패턴 이벤트 및 순서 큐의 공유 메모리 ODS의 CQL (지속적인 쿼리 언어) 수신 데이터의 필터 디자인 패턴을 사용한 데이터 필터링 모든 수신 및 송신 연결의 정체 방지 알고리즘 활성 큐 관리 (AQM ) 및 명시 적 정체 통지 업그레이드 용량을 갖춘 상용 컴퓨팅 리소스 (확장 가능) 모든 단일 실패 지점에 대한 능동 중복 ODS의 인덱싱 및 최적화 된 지속성 구조 ODS에 대한 정기적 인 데이터 백업 및 정리 스크립트 예약 모든 데이터베이스의 트랜잭션 내역 모든 오류를 탐지하는 명령 타임 스탬프가있는 이벤트에 주석 처리하여 '부실'이벤트를 건너 뜁니다. 최대 거래량 자동화 된 상인 구성 요소는 분석을 위해 메모리 내 데이터베이스를 사용합니다. AT에 연결하는 사용자 인터페이스의 2 단계 인증 사용자 인터페이스 및 AT 연결에 대한 암호화 MVC가보기를 관리하기위한 관찰자 디자인 패턴.
위의 목록은 아키텍처 설계 중 확인한 몇 가지 설계 결정 사항입니다. 그것은 전술의 완전한 목록이 아니다. 시스템이 개발됨에 따라 기능적 및 비 기능적 요구 사항을 충족시키기 위해 여러 가지 수준의 세분화 된 수준에서 추가적인 전술을 사용해야합니다. 다음은 장애 요인 디자인 패턴, 필터 디자인 패턴 및 연속 쿼리 구성 요소를 설명하는 세 가지 다이어그램입니다.
행동 적 견해.
이 아키텍처보기는 구성 요소와 계층이 서로 상호 작용하는 방법을 보여줍니다. 이는 아키텍처 설계를 테스트하고 시스템을 종단 간으로 이해하기위한 시나리오를 작성할 때 유용합니다. 이 뷰는 시퀀스 다이어그램과 활동 다이어그램으로 구성됩니다. 알고리즘 트레이딩 시스템의 내부 프로세스와 트레이더가 알고리즘 트레이딩 시스템과 상호 작용하는 방법을 보여주는 활동 다이어그램은 아래와 같습니다.
기술 및 프레임 워크.
소프트웨어 아키텍처 설계의 마지막 단계는 아키텍처를 실현하는 데 사용할 수있는 잠재적 기술 및 프레임 워크를 식별하는 것입니다. 일반적인 원칙으로서 기존 기술의 기능적 및 비 기능적 요구 사항을 적절하게 충족시키는 경우 더 나은 방법을 사용하는 것이 좋습니다. 프레임 워크는 구현 된 참조 아키텍처이다. JBoss는 JEE 참조 아키텍처를 구현하는 프레임 워크입니다. 알고리즘 트레이딩 시스템을 구현할 때 다음 기술과 프레임 워크가 흥미롭고 고려되어야합니다.
CUDA - NVidia는 고성능 전산 금융 모델링을 지원하는 많은 제품을 보유하고 있습니다. CPU 대신 GPU에서 몬테카를로 시뮬레이션을 실행할 때 성능을 최대 50 배 향상시킬 수 있습니다. Apache River - River는 분산 시스템을 개발하는 데 사용되는 툴킷입니다. 이것은 SBA 패턴 인 Apache Hadoop을 기반으로 애플리케이션을 빌드하기위한 프레임 워크로 사용되었습니다. 퍼베이시브 로깅이 필수 인 경우 Hadoop을 사용하면 큰 데이터 문제에 대한 흥미로운 솔루션을 제공합니다. Hadoop은 CUDA 기술을 지원하는 클러스터 환경에 배치 될 수 있습니다. AlgoTrader - 오픈 소스 알고리즘 거래 플랫폼. AlgoTrader는 자동화 된 상인 구성 요소의 위치에 잠재적으로 배치 될 수 있습니다. FIX 엔진 - FIX, FAST 및 FIXatdl을 포함한 FIX (Financial Information Exchange) 프로토콜을 지원하는 독립 실행 형 응용 프로그램입니다.
기술이나 프레임 워크는 아니지만 시스템과 구성 요소의 상호 운용성을 향상시키기 위해 API (Application Programming Interface)로 구성 요소를 구축해야합니다.
결론.
제안 된 아키텍처는 알고리즘 거래 시스템에서 확인 된 매우 일반적인 요구 사항을 충족 시키도록 설계되었습니다. 일반적으로 알고리즘 거래 시스템은 각 구현마다 다른 세 가지 요소로 복잡합니다.
외부 엔터프라이즈 및 Exchange 시스템에 대한 종속성 비 기능 요구 사항에 대한 도전과 진화하는 아키텍처 제약.
따라서 제안 된 소프트웨어 아키텍처는 특정 조직 및 규정 요구 사항을 충족시키고 지역 제약 조건을 극복하기 위해 사례별로 적용해야합니다. 알고리즘 거래 시스템 아키텍처는 자신의 알고리즘 거래 시스템을 설계하고자하는 개인 및 조직을위한 참고서 일뿐입니다.
사용 된 전체 사본 및 출처는 내 보고서 사본을 다운로드하십시오. 고맙습니다.
이전 이야기.
알고리즘 트레이딩 시스템 요구 사항.
다음 이야기.
Particle Swarm Optimization을 이용한 포트폴리오 최적화.
멋진 개관과 아키텍처에 대한 좋은 출발. 당신의 결론은 적절한 것이었고, 알고리즘 거래 소프트웨어 시스템이 관련성을 유지하기 위해 지속적인 백 테스트 및 조정이 필요한 이유를 지적했습니다. 좋은 읽을 거리!
2016 년 2 월 1 일
상품 또는 고정 수입의 데이터가 부정확하거나 수신 속도가 느린 경우 모델은 특히 Black Swann 이벤트의 공간에서 계산하기가 어려울 수 있습니다.
이 기사를 주셔서 대단히 감사합니다. 1990 년대 후반부터 AI에 대해 생각해 봤는데 마침내 기술과 API가 일반적으로 제공됩니다. 기사와 블로그는 이전 연도의 꿈을 실현하는 첫 걸음을 내딛는 데 큰 도움이됩니다. 당신의 추가 벤처에 많은 감사와 행운을 빕니다!
귀하의 진전 상황을 계속 알려 주시기 바랍니다. 나는 아주 흥미 롭다. 고맙습니다.
댓글을 제출하십시오.
답장 취소.
Turing Finance를 팔로우하십시오.
Turing 금융 메일 링리스트.
Turing Finance의 친구들.
Quantocracy는 매일 매일 게시되는 새로운 분석에 대한 링크가있는 최고의 양적 금융 블로그 수집기입니다.
NMRQL은 내가 속한 양적 헤지 펀드 다. 우리는 기계 학습을 사용하여 시장을 이기고 시도합니다.

No comments:

Post a Comment