시장 Meanness 색인.
이 표시기는 & # 8211; 때때로 두 배로 & # 8211; 경향 추종 시스템의 수익 예상치. 시장 미 만 인덱스 (Market Meanness Index)는 현재 시장이 '동향'(trending & # 8221; 제도. 이렇게하면 추세 지표의 잘못된 신호로 인한 손실을 방지 할 수 있습니다. 순전히 통계 알고리즘이며 가격 곡선의 변동성, 추세 또는주기를 기반으로하지 않습니다.
이미 유행 및 비 시장 상황을 구분하기위한 몇 가지 방법이 있습니다. 그들 중 일부는 적어도 가끔은 실제로 일하기 위해 소문이 있습니다. John Ehler는 Hilbert 변환 또는 Cycle / Trend 분해, Benoit Mandelbrot Hurst 지수를 제안했습니다. 비교해 보면, Market Meanness Index의 소스 코드는 비교적 간단합니다.
이 코드는 Zorro의 C 언어이지만, Steve Hopwood의 포럼에있는 누군가가 프로그래밍 한 MQL4 MMI 버전도 있습니다 (blogroll 참고). 이름에서 알 수 있듯이 지표는 시장의 meanness를 측정합니다. 추세를 시작한 후 평균으로 되돌아가는 경향. 그런 일이 너무 자주 발생하면 추세를 따르는 모든 시스템이 먼지를 물지 게됩니다.
3 분기 규칙.
일련의 난수는 평균으로 되돌아갑니다. & # 8211; 또는 더 정확하게 말하면, 중간 값 & # 8211; 확률은 75 %입니다. 따라서 임의의 가격 순서를 보면 어제의 가격이 중간 값보다 높으면 오늘의 모든 경우의 75 %에서 어제의 가격보다 낮습니다. 어제의 가격이 중간 값보다 낮 으면 75 %의 가능성은 오늘날의 가격이 더 높다는 것입니다. 75 %의 증거는 상대적으로 간단하고 통합 미적분을 요구하지 않습니다. 중앙값 M 인 가격 곡선을 고려해보십시오. 정의에 따르면 가격의 절반은 M보다 작고 반은 더 큽니다 (간단히 말해서 가격이 정확히 M 인 경우를 무시합니다). 이제 곡선의 가격을 가격 Py와 가격 Pt로 구성된 쌍으로 결합하십시오. 따라서 각 쌍은 Py에서 Pt 로의 가격 변화를 나타낸다. 이제 우리는 4 가지 세트로 나누는 많은 가격 변화를 얻었습니다.
이 네 세트는 분명히 같은 수의 요소를 가지고 있습니다. & # 8211; 즉, 모든 Py - & gt; Pt 가격 변화의 1/4; Pt와 Py가 상관되지 않는 경우, 즉 서로 완전히 독립적 인 경우. M의 가치와 가격 곡선의 모양이이 문제에 영향을주지 않습니다. 이제 얼마나 많은 가격 쌍이 중간 값으로 돌아갈 것입니까? 제 1 브래킷의 조건은 세트 1의 가격의 절반에 대해 충족된다 (다른 절반 (즉, P & lt; M 및 Pt & gt; Pt는 Py보다 작음), 전체 집합 3에서 (Pt는 집합 3에서 항상 Py보다 높기 때문에). 따라서 첫 번째 괄호는 모든 가격 변경의 1/2 * 1/4 + 1/4 = 3/8에 해당합니다. 마찬가지로, 두 번째 괄호는 집합 4의 절반과 집합 2에서 참이며, 따라서 모든 가격 변화의 3/8에도 해당됩니다. 3/8 + 3/8은 6/8, 즉 75 %를 산출한다. 이것은 난수의 차이에 대한 3/4 규칙입니다.
MMI 함수는 조건이 충족되는 데이터 차이 수를 계산하고 그 비율을 반환합니다. 데이터 시리즈에는 가격이나 가격 변동이 포함될 수 있습니다. 가격은 항상 일정한 상관 관계를 가지고 있습니다 : 오늘 EUR / USD가 1.20 일 경우 내일 약 1.20 일 것입니다. EUR 당 70 센트 또는 2 달러로 내일 끝날 것 같지는 않다. 이 일련의 상관 관계는 가격 자체가 무작위가 아닌 임의의 숫자로 계산 된 가격 시리즈에서도 마찬가지입니다. 따라서 MMI 함수는 가격을 제공 할 때 55 %와 같이 더 작은 백분율을 반환해야합니다.
가격과 달리 가격 변동은 반드시 일련의 상관 관계가 아닙니다. 어제부터 오늘까지의 가격 변화와 오늘부터 내일까지의 가격 변화 사이에는 100 % 효율적인 시장이 상관 관계가 없습니다. MMI 기능이 완벽하게 효율적인 시장에서 완전히 임의의 가격 변경으로 공급되면 약 75 %의 가치를 반환합니다. 시장이 덜 효율적이고 동향이 많을수록 MMI가 감소합니다. 따라서 하락하는 MMI는 다가오는 추세의 지표입니다. 상승하는 MMI는 적어도 트렌드 트레이딩 시스템의 경우 시장이 더 나 빠질 것이라는 것을 암시합니다.
트렌드 전략에서 MMI 사용하기.
MMI가 가격 방향을 예측한다고 가정 할 수 있습니다. 높은 MMI 값은 평균 회귀 확률이 높음을 나타냅니다. 따라서 가격이 지난 시간에 상승하고 MMI가 높을 경우 곧 가격 하락을 기대할 수 있습니까? 불행히도이 방법으로는 작동하지 않습니다. 평균 회귀 확률은 데이터 간격의 길이에 고르게 분포하지 않습니다. 초기 가격은 중간 가격이 미래 가격에서 계산되기 때문에 높지만 늦은 가격의 경우 MMI가 계산되는 바로 그 순간에 50 %에 불과합니다. MMI로 다음 가격을 예측하면 동전을 뒤집을 수 있습니다.
또 다른 실수는 순환 또는 평균 복귀 시장 체제를 탐지하기 위해 MMI를 사용하는 것입니다. 사실, MMI는 그러한 상황에서 상승 할 것이지만, 시장이 더 무작위적이고 더 효과적 일 때도 상승 할 것입니다. 상승하는 MMI만으로는 순환 거래 시스템에 의한 수익의 약속이 없습니다.
따라서 MMI는 다음 가격을 알려주지 않으며, 시장이 평균 반전 또는 단순 평균인지 여부를 알려주지 만 추세를 따르는 성공 가능성에 대한 정보를 나타낼 수 있습니다. 이를 위해 우리는 추세를 추측합니다 : 추세 자체가 추세입니다. 시장은 트렌드 모드에서 갑자기 움직이지 않고 약간의 관성이 있습니다. 따라서 MMI가 상승하고 있다는 것을 알게되면, 시장은보다 효율적이고, 무작위 적으로, 주기적으로, 더 많이 반전되고, 어떤 경우에도 추세 거래에 좋지 않은 것으로 가정합니다. 그러나 MMI가 떨어지면 다음 시작 트렌드가 평소보다 오래 지속될 가능성이 있습니다.
이렇게하면 MMI가 우수한 트렌드 필터가 될 수 있습니다. & # 8211; 이론에 의하면. 그러나 우리는 이론과 실습, 특히 알고리즘 거래에서 큰 격차가 있다는 것을 알고 있습니다. 따라서 Market Meanness Index가 누적 한 900 가지 추세 시스템 모음을 테스트 할 것입니다. 첫 번째 빠른 테스트의 경우 MMI가없는 TrendEMA 시스템 (44 % 평균 연간 수익률) 중 하나의 주식 곡선이었습니다.
MMI가없는 EMA 전략.
MMI (평균 연간 수익률의 55 %)와 동일한 시스템입니다.
MMI를 사용한 EMA 전략.
우리는 이윤이 250 달러에서 500 달러로 두 배가되었다는 것을 알 수 있습니다. 수익률은 1.2에서 1.8로 상승했으며, 거래 수 (녹색 및 적색 선)가 현저하게 감소했습니다. 다른 한편으로는, 원래의 시스템과는 달리 인출로 시작한 주식 곡선이 시작되었습니다. 따라서 MMI는 분명히 모든 거래를 개선하지는 않습니다. 그리고 이것은 무작위로 선택된 시스템이었습니다. 추세 추세에 대한 우리의 가정이 사실이라면 지표는 다른 899 시스템에서도 유의미한 효과를 가져야합니다.
이 실험은 다음 기사의 주제가 될 것입니다. 일반적으로 모든 사람이 소스 코드를 재현 할 수 있도록 모든 소스 코드를 포함합니다. MMI는 비참하게 실패할까요? 아니면 소수의 시스템 만 개선하고 다른 시스템은 악화시킬 수 있습니까? 아니면 그것은 트렌드 전략의 성배로가는 길을 밝힐 것입니까? 시장이 판사가되게하십시오.
Market Meanness Index & rdquo;에 대한 57 가지 생각
페이지에 일부 링크가 작동하지 않습니다. & # 8220; 다음 페이지 & # 8221; 일부 경우에.
더 많은 추세를 찾으려는 몇 가지 지표가 있습니다. 추세 지표에서했던 것처럼 모든 분석을 고려 했습니까? 제 말은 900 시스템에 MMI를 사용하는 대신 동일한 접근 방식을 사용하여 다른 시스템을 사용할 수 있다는 것입니다.
스크립트의 작은 변경 만 있으면되므로 다른 추세 지표를 확실히 테스트 할 수 있습니다. 그러나 실제로 일하기로 약속 한 많은 것을 알지 못합니다. 어떤 표시기를 염두에 두시겠습니까?
나는 정말로 마음에있는 어떤 것을 가지고 있지 않다. 당신은 Hurst와 Hilbert Transform 등을 언급합니다. 실제로 어떤 추세 지표가 더 좋은지 알아내는 데 사용하는 방법론이 마음에 듭니다. MMI뿐만 아니라 다른 지표를 사용하여 시장이 트렌드 모드인지 확인하기 위해 동일한 방법론을 사용한다면 어떤 결과가 될지 궁금합니다.
네, 트렌드 시스템의 피크와 밸리가 아닌 더 많은 필터와 더 일반적인 크로스 오버를 테스트 할 것입니다. MMI는 이미 꽤 좋은 결과를 산출하지만 가능한 한 많은 알고리즘을 테스트해도 해가되지는 않습니다. 그러나 다음에 계획된 실험은 심층적 인 학습으로 이루어집니다. 회로망.
이 놀라운 블로그에 다시 축하드립니다. 정말로 영감을줍니다.
지금까지 발견 된 최상의 필터를 잠그고 대신 다른 종류의 돈 관리 기능인 변수 입력으로 사용할 수있는 전략 개발의 다음 단계에서 이런 접근 방식을 계속 유지할 수 있을지 궁금합니다.
좋은 기사; 언젠가 이것을 시도하기를 고대하고 있습니다. 또한, 나는 당신의 블로그의 이름을 좋아합니다.
음, 여기에 선견지명이 있지 않니? 중앙값은 전체 데이터 세트에 대해 계산됩니다. 의사 결정을 위해 데이터 세트의 어느 지점에서나 사용할 수 있는지는 확실하지 않습니다.
아, 당신은 정말로 코드를 보았습니다! 중앙값이 전체 데이터 세트에 대해 계산 된 경우 사실상 선입견 편향이됩니다. 하지만 & # 8216; 길이 & # 8217; 코드에서 MMI 기간의 길이 만 있습니다. Zorro는 특정 플래그를 설정할 때를 제외하고는 미리 볼 수 없습니다. 그렇지 않으면 향후 데이터에 액세스 할 때 경고 메시지가 나타납니다.
이봐 요! 나는 블로그를 즐긴다.
평균 회귀 vs 경향에 대한 테스트에는 불필요한 제한이있는 것으로 보입니다. 어떤 방향으로 가는가를 측정하기 전에 왜 가격이 중앙값을 초과해야합니까? & # 8220; 평균 Reversion & # 8221; 일반적으로 가격이 정말로 & nbsp; 있어야하는 좀 더 일반적인 & # 8216; 수학적 평균 (또는 귀하의 경우 중간 값)보다는 보다 적절한 추세 - 평균 - 복귀 시스템이 자동 상관 관계를 단순히 보지 않을까? 중앙값에 대한 상대적인 위치와 상관없이 가격이 한 방향으로 움직였다가 다른 방향으로 돌아 간다면 되돌리기로 간주 될 것입니다. 이것은 당신의 접근 방식을 무효로하지는 않지만, 소음은 평균의 75 %를 되 돌리는 것이 현실을 정확히 묘사하지 않는다고 주장한다. 실제로 중위에서 멀어지는 소리가 시간의 중앙값의 75 %로 되돌아가는 경향이 있습니다. & # 8221; 아니면 내가 오해 했습니까?
나는 당신이 그것을 정확하게 이해했다고 생각합니다. & # 8211; 귀하의 공식은 실제로보다 정확합니다. MMI는 평균 회귀와 경향을 구별하기위한 것이 아닙니다. 이 f. i. 허스트 지수는 적어도 내 경험에 따르면 더 나은 결과를 산출합니다. 그러나 MMI는 트렌드의 존재 유무를 결정하는 데는 효과적입니다. 75 % 영역에서 높은 값을 반환하자마자 평균 반향의 시작이 될 수 있거나 단지 무작위 일 수 있습니다. & # 8211; MMI는이를 구별 할 수 없습니다. 두 상황 모두 트렌드를 따르는 경우에도 마찬가지입니다.
귀하의 게시물을 토대로 저는 Quantopian에서 MMI를 프로그래밍하고 테스트했습니다. 나는 다른 주식 (SPY, BAC, AAPL, NFLX 등)을 매일 닫는 가격 변경과 다른 MMI 길이 (100,200,300,500)로 선택합니다. 시험 날짜 범위는 2012 년 1 월 1 일부터 2013 년 1 월 14 일까지입니다.
그 결과는 항상 약 75 %였습니다. 어떤 경우에도 70 % 미만의 가치는 없었고 85 % 이상의 가치도 없었습니다.
2012 년 1 월 1 일부터 2013 년 1 월 14 일까지
표준 편차 : 1.716.
이것은 좋은 결과입니까?
MMI를 사용할 수 없거나이 작은 변화가 75 % 미만이어야합니다.
가격 변화 대신 가격을 사용했다면 결과는 항상 약 50 % 였고 표준 편차는 높았지만 그렇게 설득력이 없었습니다.
네, 일일 수익을 테스트 할 때 좋은 결과입니다. 일반적으로 크게 증가하지는 않습니다. 조금이라도 2014 년 중반 이전에 되 돌리는 것을 의미합니다. 당신은 그런 곡선을 얻어야합니다 :
그러나 시간을 들여다 보면 더 많은 트렌드가 나타날 것입니다.
빠른 답변에 감사드립니다.
따라서 일일 마감 가격을 기반으로하는 모든 경향 추세 시스템은 파멸합니다.
상반기 또는 외환의 경우, 내 가설은 이러한 연속적이고 연결된 데이터가 시간적으로 더 트렌디하다는 것입니다. 매일 닫히는 가격 사이에는 시장이 닫히고 다음날이 열리는 시점에 큰 격차가 있습니다.
그래서 어쩌면 나는 짧은 시간 규모 나 외환 거래를해야 할 것입니다.
따라서 임의의 가격 순서를 보면 어제의 가격이 중간 값보다 높으면 모든 경우의 75 %에서 오늘 가격이 어제보다 낮아집니다. "
임의의 가격 순서에서 각 지점에서 높이 / 낮게 갈 확률은 항상 * 50 % *입니다. 어제 무슨 일이 있었는지에 상관없이
이것은 실제로 빈번한 오해입니다. 어떤 시점에서 높아지거나 낮아질 확률은 무작위 순서로 가격 쌍이 중앙값으로 돌아갈 확률과 매우 다릅니다. 위의 증거를 믿지 않으면 스크립트를 실행하고 결과를 살펴보십시오. 그리고 스크립트를 믿지 않는다면 주사위를 100 번 돌리고 모든 숫자를 기록한 다음 후속 숫자가 중앙값으로 되돌아가는 횟수를 계산하십시오. 🙂
& # 8220; 위의 증거를 믿지 않으면 스크립트를 실행하고 결과를 확인하십시오. & # 8221;
아래의 스 니펫은 위의 코드를 임의의 보행 시퀸스에서 실행 한 것입니다.
MMI는 항상 50 %입니다. 차이점은 무엇입니까?
범위 (n)의 i :
만약 random. random () & gt; 0.5 :
seq. append (seq [-1] + 1)
범위 내 (1, len (data))의 i :
data [i] & gt; m 및 data [i] & gt; 데이터 [i-1] :
elif 데이터 [i] & lt; m 및 data [i] & lt; 데이터 [i-1] :
return 100.0 * (nl + nh) / (len (data) -1)
무작위 도보는 임의 순서가 아니기 때문에. 무작위 걸음은 강한 일련의 상관 관계를 가지고 있습니다. 올바른 임의 순서는 다음과 같습니다.
범위 (n)의 i :
가격 데이터도 마찬가지입니다. 가격은 무작위가 아닙니다. 일련의 상관 관계가 있습니다. 그러나 적어도 효율적인 시장에서는 가격 변동이 무작위이다.
그건 의미가 있습니다! 설명과 즉각적인 답변에 감사드립니다.
안녕하세요, MMI가 트렌드 감지에서 어떻게 도움이되는지 자세히 알고리즘을 설명해 주시겠습니까? 아니면 의사 코드. 내가 너를 찾은 걸 알았지? & nbsp; 떨어지는 것 & # 8221; 다른 블로그에서 나는 어떻게 떨어지는 지 알지 못한다. 공장.
알고리즘은 위의 3/4 규칙에 설명되어 있다고 생각합니다. 확실하지 않은 것이 있으면 물어보십시오. MMI는 평균 회귀의 부재로 간접적으로 추세를 감지합니다. & Falling & # 8220; Falling & # 8221; 데이터 계열이 상승 또는 하강 하는지를 결정하는 이진 함수입니다.
Mathafarn과 Python 용 MMI를보고 싶은 사람은 Python 버전이 Zorros 버전과 같지 않다는 것을 알 수 있습니다.
우선 np. median ()은 Zorro가 사용하는 중간 값과 같지 않습니다. 두 번째 for 루프는 잘못된 결과를 초래합니다.
다음은 고정 된 버전입니다.
m = data_sorted [int (len (data) / 2)]
m = (data_sorted [int (len (data_sorted) / 2) +1] + data_sorted [int (len (data_sorted) / 2)]) / 2.0.
범위 (0, len (data) -1)의 i에 대해 :
data [i] & gt; m 및 data [i] & gt; 데이터 [i + 1] :
elif 데이터 [i] & lt; m 및 data [i] & lt; 데이터 [i + 1] :
return 100.0 * (nl + nh) / (len (data) -1)
몇 가지 빠른 질문.
1. MMI의 적용에 관해서는 백분위 수 (MMI, 25)를 사용할 수 있습니까? 오늘날의 MMI가 25 %보다 낮 으면 시장은 추세입니다.
2. 시장 정권 결정을위한 건전한 지표는 무엇인가?
3. 어떤 시장은 다른 사람들보다 이익을 창출하기 쉽고, 이 실험에서 발견 한 것과 같이 상품이 더 트렌디 한 반면 SPY는 가장 시끄러운 시장이라는 것과 마찬가지로 더 많이 거래 할 수 있습니다. 이?
1. 그렇습니다. 백분위 수 기준은 확실히 의미가 있습니다.
2. 예를 들어 허스트 지수 (Hurst Exponent) & # 8211; 동료 블로거 Robot Wealth가 최근에 그것에 관한 기사를 작성했습니다.
3. 이론적으로 Shannon Entropy와 같은 지표는 시장에서 더 많은 난수 또는 더 많은 거래 성을 결정하는 데 사용될 수 있습니다. 연구에 대한 흥미로운 주제가 될 수 있습니다.
아래의 python 예제는 완벽한 추세와 완전한 평균 회귀 데이터 시퀀스를 테스트합니다. 두 가지 모두에 대한 MMI는 50 %입니다. 왜 이런거야? 감사합니다 & # 8230;
범위 내 (1, len (data))의 i :
data [i] & gt; m 및 data [i] & gt; 데이터 [i-1] :
elif 데이터 [i] & lt; m 및 data [i] & lt; 데이터 [i-1] :
# 완벽한 경향 : MMI 50 %
trend_data = numpy. arange (0.0, math. pi, 0.01)
# 완전한 평균 회귀 : MMI 50 %
sin_data = map (람다 x : math. sin (x), trend_data)
플랫 트렌드는 실제로 약 50 %를 생성하지만, 사인 곡선은 MMI 기간과 관련하여 사인 곡선의 기간에 따라 60 % 또는 70 % 영역에서 심하게 변동하는 MMI를 제공해야합니다.
유산(""); // 가짜 자산.
변수 Data1 = 계열 (genSine (5));
vars Data2 = series (Bar * 0.01);
훌륭한 기사 주셔서 감사합니다. MMI는 평균 회귀 전략에서의 손실을 예방하는데 유용 할 것인가? 고맙습니다.
아니요, MMI는 평균 반전 거래를 필터링하는 데 적합하지 않을 것입니다. 왜냐하면 MMC는 '트렌드가 덜한'& # 8221; & # 8220; 무작위 & # 8221; 평균 회귀를 필터링하기 위해 나는 지배적 인주기를 탐지하려고 노력할 것입니다. & # 8211; 평균 복귀는 보통 단기간의주기적인 행동과 관련이있다. 지배적 인 주파수 성분의 진폭을 확인하십시오.
고마워, 그걸 살펴볼거야.
안녕하세요 jcl! 이 MetaTrader 버전이 있습니까? 게시 한 링크에 액세스하려고 할 때마다 오류 메시지가 나타납니다.
또한 누군가가 Tradestation에 이것을 코딩했는지 알 수 있습니까?
지금은 얼마 전이지만 스티브 홉 우드 (Steve Hopwood) 포럼에 누군가가 MT4 버전을 올렸습니다. Tradestation 버전도 있었지만 더 이상 링크를 기억할 수 없습니다. 어쨌든 코드를 Tradestation으로 이식하는 것이 상대적으로 쉽습니다.
MMI를 Easylanguage로 번역하려고했습니다. 그러나 나는 항상 꾸준히 증가하는 선을 얻는다.
nl과 nh는 항상 증가하는 값입니까?
Easylanguage 전문가가 아니지만 AFAIK에는 지역 변수가 없으며 모든 것이 글로벌입니다. 그렇다면 nl과 nh가 함수의 시작 부분에서 0으로 재설정되었는지 확인하십시오.
각 막대에서 nl과 nh를 재설정하면 0과 0.33 사이의 이진 파가 발생합니다.
계산을 반복해야합니까? 얼마나 오래?
난수로 테스트 할 때 약 0.75를 얻어야합니다. 0.33으로 뭔가 잘못되었습니다. 표시기는 누적되지 않으므로 루프하지 않아도됩니다.
nl과 nh가 모든 막대를 재설정하고 표시기가 누적되지 않으면 수식은 항상 유지됩니다.
nl 또는 nh는 항상 1이므로
C 코드를 잘못 읽었을 때 의사 코드로 수식을 바꿀 수 있습니까?
어쨌든 도움이되는지는 모르겠지만 :
중앙값을 초과하여 모든 가격 하락을 계산하십시오.
모든 가격 상승분을 중앙값 이하로 추가하십시오.
가격 수로 나누고 백분율을 반환하십시오.
해커의 첫 번째 규칙 : 이해하는 내용 만 코딩하십시오.
& gt; & nbsp; 10 월 11 일, 2017 년 7 월 18 일
& gt; & gt; 얼마 전 이었지만, 맞다면 누군가 Steve Hopwood의 포럼에 MT4 버전을 게시했습니다.
& gt; & gt; Tradestation 버전도 있었지만 더 이상 링크를 기억할 수 없습니다. 그것은해야한다.
Tradestation으로 코드를 이식하는 것이 상대적으로 쉽습니다.
MT4 버전이이 링크에 있었지만 삭제 된 것으로 보입니다.
어쩌면 누군가 MT4 나 Tradestation에 대한 지시자를 가지고 있을지도 모릅니다.
나는 지표를 번역했지만, 당신의 예와 상당히 다른 것처럼 보입니다.
일일 술집이 닫힌 상태에서 계산, 길이 300.
동향이 좋을 때는 높고 되돌릴 때는 낮게 보입니다. 또한 가장 높은 가치는 60 %
그렇다면 분명히 번역은 여전히 성공적이지 않았습니다. 동일한 곡선을 얻어야하고 추세는 더 높은 값이 아니라 더 낮은 값을 생성합니다.
하지만 계산베이스가 맞습니까? 중간 값에 비해 일일 마감 300 길이?
예. 그러나 데이터 순서가 올바른지 확인하십시오. 최신 데이터가 들어있는 금융 시리즈입니다. 주문이 잘못되면 상승과 하강이 서로 바뀝니다.
현재 상태 표시 줄에서 지난 300 개의 막대까지 되돌아 가면서 실제 조건의 카운터가 (이전 데이터에서 새 데이터로) 증가하는 경우 다른 값을 의미합니까?
코드를보세요. 데이터 순서를 변경하는 것은 4 개의 & # 8216; & # 8217; & # 8216;
안녕하세요, 이 지표에서 가격 변경에 대한 질문이 있습니다. open [0] & # 8211;을 사용하는 버전을 발견했습니다. 가격 변경을 나타 내기 위해 [0]을 닫으십시오.
그게 정확합니까? 아니면 가까운 [0] & # 8211;을 사용해야합니까? 가격 변경으로 [1] 닫으시겠습니까?
그것 mater 또는 나는 어떤 highl0를 사용할 수 있 었는가 & # 8211; 낮음 [0].
또한이 표시기는 일부 버전이 평균 (산술 평균)을 사용하는 가격대의 중간 인 중앙값을 사용하는 것이 아니라 잘못 코딩 된 것으로 보았습니다. 에프.
그 결과 계산에 악영향을 미칠 수 있습니까?
close [0] - close [1]은 올바른 가격 변경입니다. 24 시간 거래 된 자산에 대해 차이를 만들지 만 주식에 대해 다른 결과를 산출 할 수 있습니다. 그리고 평균은 잘못되었습니다. 그것은 정말로 중앙값이어야합니다.
나는 하락세를 분명히 볼 수있는 일련의 가격에서 MMI를 백 테스팅하고있다. 나는 가격으로 시험하면 40의 MMI를 얻고, 가격 변화로 시험한다면 48의 MMI를 얻는다. 나는 그것이 시장이 강한 경향에 있다는 것을 의미한다고 생각한다. 내가 맞습니까?
따라서 MMI가 낮을수록 추세 거래 시스템이 더 좋다고 말할 수 있습니까? 따라서 가치 30, 20, 10의 세 가지 시장을 발견하면 추세 거래 전략에 가장 적합한 것이 마지막일까요?
글쎄, 내가 너무 빨리 얘기 한 것 같아, 미안해. 이제 30m 전략 내에서 MMI를 분석하려고합니다. 404의 가격 변화의 목록과 더불어, 완전하게 옆으로 (imgur / a / ggwJ3), 나는 50.49의 MMI를 얻는다. 대신에 가까운 가격을 사용하면 48.76의 MMI를 얻게됩니다. 이 경우에는 가격이 상승 추세이기 때문에 분명히 가격이 책정되지는 않습니다. 하위.
48의 MMI는 드문 경우이며 테스트 된 기간의 매우 강력한 경향 또는 잘못된 MMI 구현을 의미합니다. 정상적인 추세 가격 곡선에서 MMI는 70의 영역에 있습니다.
나는 또한 MMI 코드 (python + pandas)를 레코드에 붙여 넣기 때문에 다른 사람에게 유용 할 수 있습니다 (코드는 괜찮은 것 같지만 잘못되었을 수도 있습니다!). 필자가 얻지 못하는 이유는 커브 가격이 산이라면 비슷한 결과를 얻는 것입니다 (약 45-50). (추세가 위 아래로) 또는 그것이 단지 상승 추세인지를 보여줍니다.
df [nh & # 8221;] = np. where (df. Close df. Close. shift (1)), 1, 0)
nh와 nl 초기화는 내 코드에서 쓸모가 없다. (그것은 오래된 코드 때문이다.) 그것은 어쨌든 덮어 씁니다.
구현이 작동하는지 쉽게 테스트 할 수 있습니다. 임의의 데이터에 적용합니다. 그 결과는 75 여야합니다. 이전 주석을 보면, 다른 사용자도 Python 구현과 비슷한 문제가 있음을 기억합니다.
내 구현이 깨진 것 같아요, 내 MMI 48 생성 무작위 데이터 & # 8230;
어쨌든 Zorro 최신 버전에서 TrendMMI 스크립트를 테스트했지만 훈련 / 실행시 & # 8220;라는 정의되지 않은 함수가 있습니다! & # 8221; 교육을하는 동안 어떤 가치도 생성하지 않으며, 테스트를 클릭하면 가격 곡선 만 생성되지만 다른 것은 생성하지 않습니다. 2015 년 이후로 뭔가가 바뀌었고 지금은 Zorro가 실패하게 된 것 같습니다. 어떻게 든 고칠 수 있습니까?
2015 년 아카이브에는 훈련이나 실행이 가능한 스크립트가 많이 있지만 TrendMMI는 해당 스크립트에 속하지 않습니다. 그것은 전략이 아니라 포함을위한 함수 라이브러리입니다.
부끄러운 줄 알아, 이건 n00b 문제 였어! Ok, 고쳐주게, 고마워.
스크립트의 일부를 교육 할 때 또 다른 오류가 표시됩니다. TrendDecycle 또는 TrendEMA 예 : & # 8220; 오류 046, H4 룩백이 16 막대 (7696) 초과되었습니다. & # 8221; 나는 내가 & nbsp; 고정 & # 8221; TrendMMI. c에서이 행을 변경합니다.
int MMIPeriod = 최적화 (0,200,500,100)
int MMIPeriod = 최적화 (0,200,450,100)
MMI 스크립트가 오래된 것입니다. 나는 2016 년에 그것들을 수정 했었지만, 어떤 이유로 그 수정은 내 서버에 적용되지 않았다. 이제 올바른 스크립트를 업로드했습니다.
MMI로 전략 강조하기.
이제 900 개의 추세 거래 전략을 사용하여 실험을 반복하겠습니다. 이번에는 Market Meanness Index로 필터링 된 거래가 있습니다. 첫 번째 실험에서 수익성이 높은 전략도 많이 발견되었지만 일부는 White & # 8217; Reality Check를 통과했습니다. 그래서 그들은 모두 백 트레이스트에서 큰 성과를 얻었음에도 불구하고 실제 거래에서 실패 할 것입니다. 이번에는 비 트렌드 시장 상황에서 거래를 필터링하여 MMI가 대부분의 시스템을 개선하기를 바랍니다.
900 시스템 실험을 재검토.
나는 이전의 실험에서 두 가지 실수, 또는 적어도 부정확 한 것을 저지른 독자들로부터 통보를 받았다. 첫째, 가격 데이터를 파악하지 못했습니다. 둘째, 수익률을 결정할 때 균형 곡선 대신에 주식 곡선을 사용했습니다. 시스템이 대칭 방식으로 길거나 짧게 거래되었으므로 가격을 파악하지 못했으며, 이는 추세의 편향을 없애기로했습니다. 그러나 이것이 사실이라면 이제는 더 이상 사실이 아닙니다. MMI 또는 다른 방법으로 거래를 필터링하면 비대칭이 도입 될 수 있습니다. 또한 균형 곡선에서 수익 요인을 계산하는 것이 실제 상황에서가 아니라 거래의 최종 이익에 관심이 있기 때문에 실제로 더 의미가 있습니다. 따라서 필자는 비교 가능한 결과를 위해 앞으로도 미래에 트레이드 된 트레이드 리턴과 그러한 실험을위한 균형 곡선을 사용할 것입니다.
이러한 수정 작업을 반복 한 원래의 테스트는 중간 수익률을 제거함으로써 더 넓은 수익률 분포를 나타 냈습니다. 그러나 실험의 결과는 같습니다. 통계 (무역 비용 포함)는 많이 변하지 않았지만 이익 요인 분배 (무역 비용 제외)는 그다지 변하지 않았습니다. 이것은 원래 900 시스템의 새로운 WRC 히스토그램입니다 (모든 시스템의 부트 스트랩 무작위 반환에 비해 최상의 시스템).
900 트렌드 시스템 (MMI 없음)
최상의 시스템 (검정색 막대, ALMA를 사용하는 시스템)이 배포판의 오른쪽에 있지만 여전히 무작위 시스템의 11 %가 더 낫습니다. 시스템은 필수 95 % 신뢰 수준에서 WRC를 통과하지 못합니다. 이것은 MMI로 거래를 필터링 할 때 매우 다른 것으로 밝혀졌습니다.
MMI 실험.
다음은 새로운 실험을위한 스크립트 TrendMMI. c입니다.
Trend. c 대신 TrendMMI. c를 포함하여 10 개의 다른 지표가있는 10 개의 트렌드 거래 스크립트가 변경되지 않았습니다. 거래는 이제 부울 변수 인 DoTrade에 종속됩니다. MMI 범위의 길이는 200, 300, 400 및 500 바 사이에서 다양합니다. 전략의 대부분 매개 변수 인 MMI 범위는 타협점입니다. 정확도를 높이기 위해서는 200 마디 이상이어야하지만 동일한 시장 영역이 동일한 MMI 범위에 속하지 않도록 방지해야합니다. 기본 범위 0에서 MMI가 적용되지 않고 거래가 필터링되지 않습니다. 이 방법으로 우리는 이전의 모든 시스템을 테스트에 포함시킵니다. 이는 데이터 마이닝 바이어스를 올바르게 검색하는 데 필요하며 결과에 따라 폐기 된 모든 시스템을 고려해야합니다.
MMI 범위와 동일한 기간을 사용하는 로우 패스 필터를 통해 MMI 반환 값을 실행합니다. 이렇게하면 점프하지 않는 부드러운 MMI 값을 얻을 수 있습니다. 이 값은 이제 무역 필터링에 사용됩니다. 매매가 매끄러운 MMI가 하락할 때만 열리 며 닫힙니다. 이는 시장이 최근 200에서 500 바 사이의 추세 모드로 들어 갔음을 의미합니다. MMI는 이전 기간 변동으로 인한 시스템 중 하나에만 적용됩니다 (최적화 기능은 다음 매개 변수를 최적화하기 전에 가장 강력한 시스템의 매개 변수를 자동으로 선택합니다). 이제 900 개가 아닌 1260 개 시스템 (MMI가없는 900 개 및 MMI 200, 300, 400 및 500 막대의 각 90 개)을 실제로 테스트합니다. 거래가 충분하지 않거나 너무 오래 걸리는 룩백 기간이있는 시스템은 풀에서 다시 제거되므로 실제 시스템 수는 약 1100입니다.
PC의 속도에 따라 Zorro는 모든 시스템을 테스트하는 데 약 1 시간이 필요합니다. 모든 시스템 테스트가 끝나면 Zorro는 매개 변수 막대 그래프를 생성합니다. 이제 두 개의 매개 변수가 있습니다. 첫 번째 히스토그램 (가격 평준화 필터 기간)은 최적화 도중 MMI가 꺼져 있기 때문에 이전과 같습니다. 두 번째 히스토그램은 MMI 범위를 첫 번째 히스토그램의 최상의 값과 함께 표시합니다. & # 8220; 최고 & # 8221; 이전의 히스토그램에서 가장 높은 막대는 아니지만 Zorro가 시장 변화에 가장 강력하고 민감도가 가장 낮은 것으로 판단한 가치입니다. 일반적인 MMI 히스토그램은 다음과 같습니다.
& # 8221;로 표시된 첫 번째 막대가 MMI가없는 최상의 시스템입니다. 수익성이 없다는 것을 알 수 있습니다. 수익률 (왼쪽 눈금)은 약 0.8입니다. 200과 300의 범위에서 MMI를 사용하면 실제로 시스템이 악화되고 이익 요소 t0 0.7이 줄어 듭니다. 그러나 마지막 두 개의 MMI 범위 인 400과 500은 시스템을 이익 영역으로 이동시킵니다. 이것은 단지 임의의 예 였지만 MMI는 다른 모든 시스템에 어떤 영향을 줍니까? 다음은 MMI 실험의 통계입니다.
Rate 열에는 성공적인 시스템의 백분율이 표시되고 괄호 안에 MMI가없는 백분율과의 차이가 표시됩니다. MMI가 모든 시장, 시간 프레임 및 지표에서 성공적인 시스템의 수를 증가 시켰음을 알 수 있습니다. 그러나 그 숫자는 실제로 대표적인 것은 아닙니다. MMI는 테스트 된 시스템의 1/4 만 영향을 받았지만 상위 분기에는 영향을 미치므로 수익성있는 시스템의 수가 어느 정도 증가 할 것으로 예상되었습니다. 보다 의미있는 조치는 WRC입니다. 우리는 이전 실험에서 사용한 것과 같은 Bootstrap. c 스크립트를 사용하기 때문에 CURVES 수를 1260으로 늘려야합니다. 이것은 MMI가있는 시스템의 WRC 막대 그래프입니다 (다시 말하면, 모든 시스템의 최상의 시스템 대 부트 스트랩 된 리턴 ) :
900 트렌드 시스템 (MMI 포함)
이제 MMI 필터가 최상의 시스템 (검정색)을 히스토그램의 오른쪽으로 멀리 이동 시켰습니다. P 값이 0.02로 가장 좋은 무작위 시스템의 98 %보다 우수하므로 95 % 유의 수준보다 훨씬 높습니다. 거래를 필터링하기 위해 MMI를 사용하여 커브의 봉우리와 계곡을 거래하는 방법은 White의 현실성 검사를 통과했습니다. 실제로 1260 시스템 중 2 개는 유의 수준보다 높은 p 값을가집니다.
실험의 가장 좋은 시스템은 공통점이 있습니다. 그들은은으로 거래되었으며 ALMA 또는 저역 통과 필터를 사용했습니다. 실버 나 ALMA 및 로우 패스 모두 수익성이 가장 높은 시스템이 없었기 때문에 이것은 놀랄만 한 결과입니다. 위 표에서 EUR / USD와 HMA 또는 Laguerre 필터가 가장 유망하다고 가정합니다. 그들은 정말로 이익 비용이 2를 넘는 (무역 비용없이) 많은 분명히 좋은 시스템을 생산했지만, 그 중 누구도 WRC를 통과하지 못했습니다.
결론.
MMI는 테스트를 거친 모든 시장, 시간 프레임 및 지표를 갖춘 시스템 추세를 개선합니다. MMI를 사용하는 추종 추종 시스템은 White의 현실성 검사를 통과 할 수 있습니다. 10 개의 테스트 된 스무딩 표시기에서 ALMA는 상대적으로 작은 매개 변수 범위 내에서 최상의 결과를 나타 냈습니다. 수행 할 작업 : 추세 필터 추가 테스트, f. i. Hurst Exponent 또는 Ehlers & # 8217; 트렌드 / 사이클 분해. 해야 할 일 : 최고의 트렌드 시스템을 결합하고 정지 손실, 트레일 링 알고리즘, 이익 잠금, 돈 관리 등과 같은 일반적인 시스템 구성 요소를 추가하여 실제 거래 시스템을 만듭니다.
2015 개의 스크립트 컬렉션에 스크립트를 추가했습니다. 실험을 재현하려면 Zorro 1.36 이상이 필요합니다.
MMI로 전략 강조하기 (& B)
좋은 직장 jcl. 차오.
모두 좋아 보이지만 :
계곡이나 봉우리가 미래의 누출을 가지고 있다면 더 편향된 결과를 얻을 수 있습니다. 그럼 당신은 그 코드를 보여줄 수 있습니까?
Peeking bias won’t happen anyway with simple functions like this one, since accessing future price data would generate a warning message.
looks ok. Than i will try it to filter my 6 million trades database..
Hi, i’ve traied TrendMMI script but after compiling in zorro platform received an error.
Undefined function called!
Train: TrendMMI 2010..2017.
Loop[1][1]p1 step 1: 1.00 => 0.00 0/0.
any output/report be generated.
If I remember right, TrendMMI was an #include script, not intended to be executed. You must execute one of the 10 scripts with the 10 indicators.
I just filtered more than 2 million trades for 8 different symbols using MMI. As a result there is no impact on profit factor. More info here.
I don’t think that you can get a useful result this way. Check if you can classify your trades in trend-following, trend-neutral, and counter-trend trades. MMI is for detecting trend regime, so you can not use it to just filter a bunch of trades. On pattern, cycle, or mean reversion trades it would probably even have an adverse effect. Filter the trend-following trades out of your database and then check if MMI has an effect on them. I’m interested if you get a better or worse result than the 5% advantage for simple trend systems.
Also, smoothing the MMI with the SMA is ineffective since the SMA is slow and adds an additional delay on the already slow MMI. Better use a lowpass filter. Here’s the basic code:
double LowPass(double* Buffer, double Val, double a)
double* Data = Buffer+3; // static buffer for interim results.
double* LP = Buffer;
LP[2] = LP[1], LP[1] = LP[0]; // shift.
Data[1] = Data[0], Data[0] = Val; // shift.
General question. What is an out of sample period for 900 systems test . Or you just make a back test on entire data just changing the parameters and and assets ??
Yes, a backtest with all parameter and asset combinations. Since the systems are not optimized, there is no in sample and therefore no out of sample period.
& # 8211; Another idea: I understood that your database of trades has been generated with machine learning or data mining methods. The MMI is not suited for filtering those trades, but other functions possibly are, for instance the Shannon entropy.
Well I believe i know whats going on here. First SMA – its a low pass filter with lag (N-1)/2 and passband 2*N. Your low pass filter perhaps has a different characteristics but if the lag is a problem here i made another experiment.
so I just changed the smooth to 5 to decrease the SMA lag than decreasing the Lenght to decrease lag from difference between current price and median and you can see that PF is rock solid around 1.19 reference value from full set of trades so lag is not a problem here…..
so there are two possibilities here:
1) MMI just generates the random filtering signal.
2) MMI detects trend mode but somehow profit distribution within my trade file is uniform i. e. whatever you sub-sample them regardless of market conditions they show the same profit factor. This sounds very unlikely….
regarding your experiment. You created 900 systems by sending to a few systems different parameter values (MMI affected just quarter of them)
than according to your description.
“The MMI is only applied to one of the systems resulting from the prior period variation (the optimize function automatically selects the parameter of the “most robust” system before optimizing the next parameter). So now we’re testing in fact not 900, but 1260 systems:
900 without MMI and each 90 with MMI ranges of 200, 300, 400, and 500 bars. The systems with not enough trades or a too-long lookback period are again removed from the pool, so the real number of tested systems is about 1100.”
so i have a feeling that you introduced selection bias here by not testing exact the same systems (900) with MMI and making final results based on this. Additionally you didn’t make any out of sample test to verify this.
Anyway, can you make out of sample test on unseen data (2016-) from your best performing systems with and without MMI and post results ??
You can check if 1) or 2) is true by not applying the MMI to a collection of random trades, but to trend following trades. Either use simple systems as here, or filter them out of your database by testing the trend prior to the trade.
In this experiment there’s no selection bias because there is no selection. All tested systems were included in the WRC, including those without MMI. So it is irrelevant on how many systems the MMI was applied. This had only relevance, if any, on the statistics table with the per-asset results. There’s also some misunderstanding with ‘seen’ and ‘unseen’ data. There is no seen data since we do not optimize the systems.
The used data was from 2010-2015, and the result is thus of course only valid for this time period, not for 2016. You can not repeat it with 2016 data since you would not get a statistically relevant number of trades from only one year. What you could do is repeating the experiment with 2004-2009 data. Or wait until 2021 and then repeat it with data from 2016-2021.
MMI theory is robust enough to improve across the assets. Good Article JCL! There are some issues with the Bootstrap. c. It actually hangs the Zorro version 1.58. I tried before in the past version and it is okay. How can I go about solving it? 감사. I will be trying out Hurst Exponent or Ehlers’ Trend/ Cycle decomposition as per your suggestion.
1.58 stored in the data in a wrong format. Use either an older version or the current zorro beta version, the bug is fixed there.
I am trying to replicate the results using the latest history. MMI is able to increase all across asset, time frame and indicator except XAU/USD and Trend EMA. Fabulous! However, the WRC actually become worse. The P-value become worse from 0.12 to 0.29. My question is why MMI can improve the winning percentage but WRC got worse and how to improve WRC?
Refer to the statistic below.
% Won without MMI/ with MMI/ Increase.
H1______Percent 34.60 40.62 6.02.
H4______Percent 39.77 41.58 1.81.
M15_____Percent 37.14 41.75 4.61.
SPX500___Percent 10.31 17.78 7.47.
EUR/USD__Percent 37.18 43.50 6.32.
XAG/USD__Percent 63.20 62.39 -0.81.
TrendALMA___Percent 34.29 36.79 2.51.
TrendDecycle___Percent 36.25 38.79 2.54.
TrendEMA____Percent 37.50 37.04 -0.46.
TrendHMA____Percent 36.23 47.62 11.39.
TrendLaguerre_Percent 45.45 53.62 8.17.
TrendLinearReg_Percent 45.07 47.66 2.59.
TrendLowPass_Percent 36.49 41.82 5.33.
TrendSMA____Percent 36.62 42.06 5.44.
TrendSmooth__Percent 31.03 38.30 7.26.
TrendZMA____Percent 30.12 34.45 4.33.
Without MMI – WRC.
Best of 691 systems.
Bootstrap – please wait..
Sample median: 1.24.
P-Value of best strategy: 0.12.
Best of 1051 systems.
Bootstrap – please wait..
Sample median: 1.26.
P-Value of best strategy: 0.29.
You can see it when you compare the profit factors of the best systems. In the 2015 test, best have been the ALMA systems with XAG, at a profit factor about 3. Today ALMA is still the best, but XAG got even worse with the MMI, and the top profit factor is now 1.28. So we have to conclude that the market in the past 2 years has not been friendly to simple trend following systems, at least with those 3 assets, and the WRC consequently failed. It would be interesting to check out in more details in which way the three markets have changed in the last years.
I recently started developing systems strategies in another platform and was researching Zorro platform.
Please for give me if this is the improper location to post my (and hopefully others) concerns regarding “How to Trust the Historical Back Testing Data”
We all spend countless of hours back testing strategies all time frames (5 mins and to 1 hour for my case) and there the question that continued to circle in my head after I click back test is “Is this results accurate, how do I trust where this data is coming from”
How did you gain confidence, reliability and consistence in the backtesting historical data from your platform? Should I post this on the zorro forum?
Thank you kindly and look forward to your response as you and team have developed over 400 trading systems, so I am sure quality of historical data was examined.
I’m not sure what you mean with ‘trust’. With a few exceptions, the source of the data has little effect on test results. You only need to know what sort of data you have to use. For stocks, you must know if the data is split or dividend adjusted. For high-resolution Forex, you normally must test several times with data from several brokers since they all slightly differ. There is also data of bad quality, with gaps and outliers, which must be filtered. If this matters depends on which sort of system you want to test. The usual algo systems trade with time frames of hours or days and are not sensitive to data quality.
귀하의 의견에 감사드립니다.
I trade futures and mainly my experienced (day trading manually) of trading is within the intra-day (5 min charts) charts. There are not scalping (possible entry and exit are within the same bar) systems. I normally look for R:R >2 setups.
Why do you state this” The usual algo systems trade with time frames of hours or days and are not sensitive to data quality.” ? Is this because for higher time frames (above 1 hour) systems there is less likely hood for the entry and exit to be in the same bar, especially if looking for R:R >2 setups?
I am considering leaving the scalping systems development and testing cause the amount of inaccuracy between back test and real time results.
Thanks for response. I apologize if sounding confusing.
When you trade futures, you’re normally backtesting with historical data from an exchange, not from a broker. This means that there are maybe different data vendors, but no different data sources. The only differences between vendors are the data format and the processing for fixing outliers and other issues.
Higher time frames exploit larger price changes. Large price changes mean that tiny differences don’t matter. There are many effects that will cause differences between backtest and live results, but the data is normally not one of them.
What time frames do you recommend newbies automated strategy developers to begin on?
I have experience with intra day swings trading (1 to 2 trades per day).
I have never swing (held trades overnight or for day)trade before .
But I’m willing to change of it makes this process more achievable with having to worry on so much false results.
Swing trading is ok. I recommend time frames of 1 hour or above. Below 1 hour, it becomes difficult and takes experience to achieve profit and to properly backtest systems.
Thank you very much jcl for response. Really appreciate it.
Mmi trading system
As part of our mission to build better markets for the future, GTS adheres to 3 core principles.
Innovation.
At GTS, our advanced algorithms and high performance computing infrastructure help us provide liquidity in all the markets we trade. This reduces transaction costs for all investors which is why GTS is proud to be one of the industry innovators contributing to the evolution of the modern market.
Indeed, innovation is at the core of everything GTS brings to today’s financial markets. In addition to a bench of seasoned traders, our employee base spans PhDs, engineers, and more than a few real-life rocket scientists. These brilliant minds are driven by their mission to produce extraordinary technologies that help make our financial markets the best in the world.
Looking ahead, we believe the next critical innovation will transcend hardware and software—it will be a renewed spirit of industry collaboration with regulators, combined with a fresh emphasis on communication with investors.
Responsibility.
The trading industry has a critical responsibility: to build and sustain investor confidence in every market we touch. To that end, GTS supports—and we encourage our industry peers and partners to support—regulatory action that makes our markets stronger and more secure.
Leadership.
In the face of heated competition, industry consolidation, and an evolving regulatory environment, GTS has proudly assumed a leadership role in making markets better, stronger, and safer. We are firmly committed to engaging with peers, policymakers, and the public at large about how the HFT industry can and should continue to put investors first. Recently, GTS’s CEO, Ari Rubenstein, has offered public commentary on important regulatory issues facing the electronic trading community:
In 2014, to encourage improved dialogue with regulators and the HFT industry, GTS co-founded the Modern Market Initiative (MMI). MMI is an industry group focused on demonstrating the benefits of algorithmic and quantitative trading in today’s modern markets. GTS’s participation in MMI increases our collaboration with industry peers and regulators regarding pragmatic, investor-first oversight of our markets.
Mmi trading system
ION Trading is a privately held, global financial software firm that provides technology for trading and execution, risk management and position calculation, connectivity to exchanges and markets, and solutions for middle and back office processes. The firm offers trading solutions across most asset classes and works with trading and brokerage firms, multi-national corporations, governments and central banks. [1] [2] [3] [4]
Headquartered in Dublin, the company has offices in London, New York, Tokyo, Frankfurt, Madrid, Toronto, Chicago, Singapore, Sydney, Berlin, Delhi, Pisa, Italy, India and Australia. It is one of the largest financial software firms in the world with technology that covers everything from trade execution through the settlement process with clearing member firms on derivatives, forex, OTC and fixed income markets. [5]
History.
CEO Andrea Pignataro founded ION in 1999. The company is backed by several large stakeholders. Its parent company is known as Ion Investment Group, or IIG.
ION was backed by TA Associates, an investment company that bought 30 percent of the company for €35 million ($44 million) in 2004. In May 2016, IIG completed a recapitalization plan and TA Associates sold off its investment in the company. Meanwhile, Carlyle Group made a $400 million investment in ION Investment Group in May 2016, taking a minority stake. At the time, Carlyle revealed that ION had more than $300 million in earnings before interest, tax, depreciation and amortization, which is a measure of a company's operating performance. Two of Carlyle's executives, Renee James and Cam Dyer joined ION's board of directors. [6] [7] [8] [9] [10]
Acquisitions.
ION has grown steadily in size through a series of acquisitions, including those listed below:
ION purchased back-office software firm Rolfe & Nolan in July 2008, giving the firm real-time back office technologies as well as hosting and facilities management. [11]
In July 2011, ION completed the purchase of Wall Street Systems, a vendor in the forex and short-term interest rate markets. The deal provided ION with features such as deal capture and post-trade functionality, including debt management for high-end companies and central banks, as well as treasury solutions for smaller corporations. [12] [13] [14]
ION acquired Patsystems in February 2012 in a £29 million ($32 million) transaction. [15]
In January 2013, ION acquired Financial Software Systems, a U. S. based firm which serves banks, broker-dealers and fund managers around the world. [16] [17]
In February 2013, ION announced the acquisition of FFastFill, a designer and developer of front-, middle - and back-office services to the global electronic trading community, for $165 million. Before the tender offer, ION had already held a 25.1 percent stake in FFastFill. [18]
In July 2013, ION acquired Triple Point Technology, a U. S. software company which enables its customers to manage the price volatility of raw materials and commodities. The deal was closed for approximately $900 million in cash. ION operates Triple Point as a stand-alone business and maintains its headquarters in Westport, Connecticut. [19]
ION has made other acquisitions including Iris Trading Systems, an Irish bond market trading system.
It acquired Caplin Systems, a single-dealer portal platform, in 2015 for an undisclosed amount. [20]
In October 2016, the firm acquired Reval, a cloud-based firm focused on treasury and risk management sectors. The firm aimed to help clients manage cash, liquidity and financial risk, as well as manage complex financial instruments and hedging activities. [21]
상품 및 서비스.
Trading Pricing Position Keeping and Risk Management Technology.
ION offers Multi-Market Interface, an interface that allows traders to operate in multiple dealer-to-dealer and dealer-to-customer electronic markets.
The company’s Multi-Market Interface also supports automated tools, such as The Auto-Hedger, a tool that submits hedges to a specified market on receipt of a trade notification from any cash or derivatives market; The Multi-Market Spread Trading Tool, which allows traders to create strategies that trade with risk management profiles; and Market-Making tools to manage market pricing obligations. [22]
The firm also features a multi-market desktop application called ION, which allows traders to connect in dealer-to-dealer and dealer-to-customer markets.
ION pricing solutions support global trading desks operating around-the-clock in fixed income and foreign exchange markets. They enable pricing of thousands of securities sub-types for government, emerging markets, high-grade, high-yield and money market bonds; calculate real-time prices for FX spot, forwards, NDFs and swaps; and price associated futures and options. [23]
ION multi-asset fixed income and foreign exchange portal for salespeople and their end-customers offers real-time pricing, trade execution and customer trade analytics.
ION trade execution solutions enable trading of listed derivatives and equities on more than 100 venues worldwide, 24 hours per day.
Starting in 2015, ION began rolling out its XTP clearing solution, a near real-time system, an upgrade to its Rolfe & Nolan system. It took ION four years to build the system, creating it on top of ION’s core trading technology. The system is fully integrated with ION's front - and middle-office technology. [24] XTP runs continuously and can process large trade volumes at high STP rates. [25]
ION's Anvil supports repo and securities lending businesses by automating front and middle-office activities. Anvil provides access to all repo interdealer broker markets and to new securities finance markets.