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

양적 거래에 Aroon 기술 지표 적용

만든 날짜: 2019-06-29 14:42:04, 업데이트 날짜: 2024-12-24 20:18:07
comments   1
hits   3779

[TOC]

양적 거래에 Aroon 기술 지표 적용

Aroon 지표 소개

기술 분석에서 Aroon은 매우 독특한 기술 지표입니다. “Aroon”이라는 단어는 “새벽”을 의미하는 산스크리트어에서 유래되었습니다. MA, MACD, KDJ만큼 잘 알려져 있지는 않습니다. 나중에 도입되었고 1995년 Tushar Chande가 발명했습니다. 저자는 또한 Chande Momentum Oscillator(CMO)와 Intraday Momentum Index(IMI)를 발명했습니다. 기술 지표를 아는 사람이 많고 사용하는 사람이 많을수록 수익을 낼 수 있는 능력이 낮아집니다. 비교적 새로운 Aroon 지표는 그 반대입니다. 이런 관점에서 보면 좋은 선택입니다.

차트의 Aroon 지표

Aroon 지표는 현재 캔들스틱과 이전 최고가 및 최저가 사이에 있는 캔들스틱의 개수를 계산하여 트레이더가 가격 움직임과 추세 영역의 상대적 위치 변화를 예측하는 데 도움이 됩니다. AroonUp과 AroonDown이라는 두 부분으로 구성되어 있습니다. 이 두 선은 0과 100 사이에서 위아래로 움직입니다. 위 선과 아래 선으로 명명되었지만 위 선과 아래 선과 같지는 않습니다. . BOLL 지표와 달리 실제 상단 및 하단 선이 없습니다. 다음 그림은 Aroon 지표입니다. 양적 거래에 Aroon 기술 지표 적용

Aroon 지표 계산 방법

Aroon 지표는 이동 평균 기간 매개변수를 설정하는 것처럼 먼저 기간 매개변수를 설정해야 합니다. 기존 시장 소프트웨어에서 이 기간 번호는 14입니다. 물론 이 기간 매개변수는 고정되지 않습니다. 10으로 설정할 수도 있습니다. 또는 50 등, 기다려 주세요. 이해하기 쉽게 하기 위해 이 기간 매개변수를 N으로 정의하겠습니다. N을 결정한 후, AroonUp과 AroonDown을 계산할 수 있습니다. 구체적인 계산 공식은 다음과 같습니다.

  • 아룬업 =[ (기간 매개변수 설정 - 최고 가격 이후 기간 수) / 계산된 기간] * 100
  • 아룬다운 =[ (기간 매개변수 설정 - 최저가 이후 기간 수) / 계산된 기간] * 100

이 공식을 통해 우리는 Aroon 지표의 개념을 대략적으로 알 수 있습니다. 즉, 최근 최고가/최저가보다 가격이 몇 주기 동안 낮았는지를 나타내는 것으로, 현재 추세가 계속될지 예측하고 현재 추세의 강도를 측정하는 데 도움이 됩니다. 이 지표를 분류하면, 분명히 추세 추종 유형입니다. 하지만 다른 추세 추종 지표와는 달리 가격보다는 시간에 더 큰 중점을 둡니다.

Aroon 지표를 사용하는 방법

AroonUp과 AroonDown은 현재 시간과 이전 최고 또는 최저가 사이의 거리를 반영합니다. 시간이 가까울수록 값이 커지고, 시간이 멀수록 값이 작아집니다. 그리고 두 선이 교차할 때, 가격 방향이 바뀔 수 있음을 나타냅니다. AroonUp이 AroonDown 위에 있으면 가격이 상승 추세에 있으며 앞으로 가격이 더 오를 수 있음을 의미하고, AroonDown이 AroonUp 위에 있으면 가격이 하락 추세에 있으며 앞으로 가격이 더 오를 수도 있습니다. 더 떨어질 수도 있습니다.

동시에, 우리는 진입 시점을 정확하게 결정하기 위해 여러 가지 고정된 값을 설정할 수도 있습니다. 우리는 Aroon 지표가 항상 0과 100 사이에서 실행된다는 것을 알고 있습니다. 따라서 시장이 상승 추세에 있을 때, 즉 AroonUp이 AroonDown 위에 있을 때, AroonUp이 50보다 클 때 시장의 상승 추세가 형성되었음을 의미합니다. 그리고 가격은 앞으로도 계속 상승할 수 있습니다. AroonUp이 50 아래로 교차하면 가격 상승의 모멘텀이 약해지고 있으며 앞으로 가격이 변동하고 하락할 수 있음을 의미합니다.

반면, 시장이 하락 추세일 경우, 즉 AroonDown이 AroonUp보다 위에 있을 때, AroonDown이 50보다 클 때는 시장이 하락 추세를 형성했으며 앞으로도 가격이 계속 하락할 가능성이 있음을 의미합니다. AroonDown이 50 이하로 교차하면 가격 하락 모멘텀이 약해지고 있음을 의미합니다. 가격은 미래에 변동하고 상승할 수 있습니다. 그러면 위의 두 가지 이론에 따르면 매수 및 매도 조건을 다음과 같이 나열할 수 있습니다.

  • AroonUp이 AroonDown보다 크고, AroonUp이 50보다 큰 경우 롱 포지션이 열립니다.
  • AroonUp이 AroonDown보다 작거나 AroonUp이 50보다 작으면 롱 포지션은 종료됩니다.
  • AroonDown이 AroonUp보다 크고, AroonDown이 50보다 큰 경우, 숏 포지션이 열립니다.
  • AroonDown이 AroonUp보다 작거나 AroonDown이 50보다 작으면 숏 포지션은 종료됩니다.

Aroon 지표를 기반으로 한 거래 전략 구축

거래 논리를 명확히 한 후 코드로 구현할 수 있습니다. 이 글에서는 JavaScript 언어를 계속 사용하고 상품은 여전히 ​​상품 선물입니다. 실무 기술이 뛰어난 친구는 코드를 Python 언어나 디지털 화폐로 번역할 수도 있습니다. 좋습니다. 더 이상 미루지 말고 fmz.com > 로그인 > 제어 센터 > 정책 라이브러리 > 새 정책을 열고 정책 작성을 시작하세요. 그리고 아래 코드의 주석에 주의하세요.

1단계: CTA 프레임워크 사용 알아채다! 다음을 꼭 클릭해주세요.商品期货交易类库. 디지털 화폐로 변경하는 경우 클릭하세요:数字货币现货交易类库

function main() {
    // ZC000/ZC888 指用指数做为行情源但交易映射到主力连续合约上
    $.CTA("ZC000/ZC888", function(st) {

    })
}

2단계: 데이터 가져오기

function main() {
    $.CTA("ZC000/ZC888", function(st) {
        var r = st.records;  // 获取K线数组
        var mp = st.position.amount;  // 获取持仓数量
    })
}

3단계: Aroon 지표 계산

function main() {
    $.CTA("ZC000/ZC888", function(st) {
        var r = st.records;  // 获取K线数组
        var mp = st.position.amount;  // 获取持仓数量
        if (r.length < 21) {  // 判断K线数据是否足够
            return;
        }
        var aroon = talib.AROON(r, 20);  // 阿隆指标
        var aroonUp = aroon[1][aroon[1].length - 2];  // 阿隆指标上线倒数第2根数据
        var aroonDown = aroon[0][aroon[0].length - 2];  // 阿隆指标下线倒数第2根数据
    })
}

4단계: 거래 조건 계산 및 주문하기

function main() {
    $.CTA("ZC000/ZC888", function(st) {
        var r = st.records;  // 获取K线数组
        var mp = st.position.amount;  // 获取持仓数量
        if (r.length < 21) {  // 判断K线数据是否足够
            return;
        }
        var aroon = talib.AROON(r, 20);  // 阿隆指标
        var aroonUp = aroon[1][aroon[1].length - 2];  // 阿隆指标上线倒数第2根数据
        var aroonDown = aroon[0][aroon[0].length - 2];  // 阿隆指标下线倒数第2根数据
        if (mp == 0 && aroonUp > aroonDown && aroonUp > 50) {
            return 1;  // 多头开仓
        }
        if (mp == 0 && aroonDown > aroonUp && aroonDown > 50) {
            return -1;  // 空头开仓
        }
        if (mp > 0 && (aroonUp < aroonDown || aroonUp < 50)) {
            return -1;  // 多头平台
        }
        if (mp < 0 && (aroonDown < aroonUp || aroonDown < 50)) {
            return 1;  // 空头平台
        }
    })
}
// 以上代码就是基于JavaScript语言完整的策略。

// --------------------分割线--------------------

// 为了照顾伸手党,顺便也把这个策略翻译成My语言。同时该也可以用于数字货币,以下是完整的策略代码:
AROONUP := ((N - HHVBARS(H, N)) / N) * 100;  // 阿隆指标上线
AROONDOWN := ((N - LLVBARS(L, N)) / N) * 100;  // 阿隆指标下线
AROONUP > AROONDOWN && AROONUP > BKV, BK;  // 多头开仓
AROONDOWN > AROONUP && AROONDOWN > SKV, SK;  // 空头开仓
AROONUP < AROONDOWN || AROONUP < SPV, SP;  // 多头平台
AROONDOWN < AROONUP || AROONDOWN < BPV, BP;  // 空头平台
AUTOFILTER;

전략 백테스팅

실제 거래 환경에 더 가까워지기 위해, 우리는 포지션을 열고 닫을 때 2번의 점프를 사용하고 백테스팅 중 스트레스 테스트에 2배의 처리 수수료를 사용합니다. 테스트 환경은 다음과 같습니다.

  • 시장 유형: 열탄 지수
  • 거래품종 : 열탄주요
  • 기간 : 2015년 6월 1일 ~ 2019년 6월 28일
  • 주기: 매일
  • 미끄러짐: 개방 및 폐쇄 위치에 대한 2회 점프
  • 수수료 : 교환금액의 2배

테스트 환경 양적 거래에 Aroon 기술 지표 적용 수익 세부 정보 양적 거래에 Aroon 기술 지표 적용 자금 조달 곡선 양적 거래에 Aroon 기술 지표 적용 위의 백테스트 결과에서, 우리는 시장 추세가 순조로울 때 전략이 잘 수행된다는 것을 알 수 있습니다. 상승하든 하락하든, Aroon 지표는 시장을 완전히 추적할 수 있습니다. 자본 곡선도 전반적으로 상승하는 경향이 있으며, 상당한 하락세는 없었습니다. 그러나 변동성이 큰 시장, 특히 지속적으로 변동성이 큰 시장에서는 국지적인 하락이 발생했습니다.

Aroon 지표의 장단점

  • 장점: Aroon 지표는 시장 추세를 발견하고 가격 전환을 결정하는 능력을 고려하여 추세 상태를 판단할 수 있으며, 트레이더가 자금 활용률을 개선하는 데 도움이 됩니다. 이러한 장점은 변동이 심한 시장에서 특히 중요합니다.
  • 단점: 아룬 지표는 추세 추적 지표 중 하나일 뿐이며 추세 추적 지표와 동일한 단점이 있습니다. 그리고 그것은 단지 지정된 시간 내에 가장 높거나 가장 낮은 가격의 사이클 수를 결정하지만, 때때로 가장 높거나 가장 낮은 가격은 전체 시장 추세에서 우연적일 것입니다. 이러한 우연성은 Aroon 지표 자체에 간섭하여 거짓 신호를 발생시킵니다.

전략 소스 코드를 복사하려면 클릭하세요

요약하다

전략에서 우리는 aroonUp 또는 aroonDown이 50보다 크거나 작음과 같은 일부 매개변수를 고정했습니다. 이는 전략의 지연을 유발합니다. 많은 경우 시장은 개장하기 전에 일정 기간 동안 상승하거나 하락합니다. 포지션 마감. 이렇게 하면 승률은 높아지고 최대 인출률은 낮아지지만, 많은 수익을 놓치게 되는데, 이는 수익과 손실은 동일한 원천에서 나온다는 원칙을 확인해 줍니다. 관심이 있는 친구들은 심도 있게 연구하고 개선할 수 있습니다.