Average True Range | ATR 지표 | ATR 계산 | IFCM

마지막 업데이트: 2022년 1월 19일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

평균트루범위 지표

[주식지표] 평균진정 가격범위, ATR(Average True Range)

  • 본문 폰트 크기 조정 본문 폰트 크기 작게 보기 본문 폰트 크기 크게 Average True Range | ATR 지표 | ATR 계산 | IFCM 보기 가
  • 공유하기

ATR(Average True Range) 개념

ATR은 시장 변동성을 나타내는 유명한 보조지표입니다. 최초에 일반상품시장 매매에 활용되기 위해 고안되었으나 현재는 주식시장에도 널리 활용되고 있습니다. 전일 종가를 포함한 오늘 주가변동의 최대폭을 측정하여 약 하루에 변동할 수 있는 최대범위 수준을 측정하는 지표라고 이해할 수 있습니다. 해당 지표로 매수 혹은 매도 시그널을 캐치하지는 않으며 일반적으로 포지션 청산(혹은 손절)을 위한 기준으로 널리 활용되고 있습니다.

: 일반적으로 매매가 대비 2*ATR 수치이상으로 주가가 하락할 경우 손절기준으로 판단합니다. ATR앞의 계수인 2값은 시뮬레이션에 따라 0.5~3 수준으로 변경하여 활용하기도 합니다. 다만, 리스크관리 관점에서 n*ATR = 계좌금액*n%이 되도록 매수 수량 조정(켈리공식)과 연계하여 활용할 필요가 있습니다.

일정기간(예. 14일 활용)의 주가변화에 대해

(일봉에 대해 주로 활용되나 필요할 경우 1분봉, 5분봉 등으로 확장가능)

· n = 사용자가 선택한 일정기간

ATR 산출코드 (Python)

import pandas_datareader.data as web import datetime start = datetime.date(2020,1,1) end = datetime.date.today() stock_df = web.DataReader('FB','yahoo',start,end).reset_index() def cal_ATR(df, n_days=14): df = df.sort_values('Date').reset_index(drop=True) tr_data = pd.concat([df'High','Low', df['Close'].shift(1)], axis=1) tr = tr_data.max(axis=1) - tr_data.min(axis=1) df['atr'] = tr.rolling(min_periods=n_days, window=n_days, center=False).mean() return df stock_df2 = cal_ATR(stock_df, 14)

ATR 지표값의 목적은 변동성 측정입니다. 이를 통하여 매매타이밍을 측정하기 보다는 리스크관리에 초점이 있습니다. 개인적인 매매성향에 따라 ATR값을 기준으로 매매대상 종목을 필터링 할 수도 있습니다. 또한, 전일 종가를 포함한 하루간의 변동성이 아닌 여러날짜의 최대변동폭을 측정할 수도 있으며 시장 참가자의 매매성향(단타중심인지 장기보유 투자자인지)에 따라 최대변동폭 기간을 다르게 설정하여 활용할 수도 있습니다.

Average True Range - ATR 지표

ATR 지표는 단독으로 방향을 Average True Range | ATR 지표 | ATR 계산 | IFCM 표시하는 시도를 제쳐두고 시장의 변동성과 변동성을 측정하는 도구로 Welles Wilder에 의해 소개 되었습니다. True Range(트루 범위)와 달리 ATR에는 갭과 한계 이동의 변동성이 포함됩니다. ATR 지표는 강력한 움직임을 위해 가격 움직임에 대한 시장의 관심을 평가하는데 효과적이며 일반적으로 큰 폭의 돌파(break-out)를 동반합니다.

ATR 지표 사용 방법

ATR은 일별 및 더욱 긴 타임프레임을 가진 14개 기간과 함께 사용되며, 거래 상품의 가격과 관련된 변동성 값을 반영합니다. ATR 값이 낮으면 일반적으로 범위 거래에 해당하며, 값이 높으면 추세 브레이크아웃/브레이크다운을 나타낼 수 있습니다.

ATR 지표

ATR 지표 (Average True Range, 실변동폭의 이동평균)

ATR 계산

ATR은 다음 세 값 중 가장 큰 트루 범위(true range)의 이동 평균입니다.

  • 오늘 최고가에서 오늘 최저가까지의 거리
  • 어제 종가에서 오늘 최고가까지의 거리
  • 어제 종가에서 오늘 최저가까지의 거리

거래 플랫폼에서 Average True Range (실변동폭의 이동평균) 사용 방법

Use indicators after downloading one of the trading platforms, offered by IFC Markets.

average true range (ATR)

ОПРЕДЕЛЕНИЕ. Источник: INOMENT FOREX MENTORSHIP:
한국에서는 아직 일괄된 번역 용어가 없어서 ATR이라는 약자로 통합니다. 일반적으로 어제의 종가와 오늘의 종가 차이를 하루 동안의 가격 변동폭이라고 말하지만 엄밀한 의미로 말하는 것이고 이것이 그렇게 정학한 의미는 아닙니다. 왜냐하면 하루 종일 거래가 단지 종가로만 이뤄지는 것이 아니기 때문입니다. 장중에 주가는 고점도 들고 저좀도 만들기에 이 모든 것을 다 감안하여 하루 동안의 주가 변동폭을 계산해야 하는데 웰러스 월더는 이러한 변동폭을 진정한 의미의 변동폭, 즉 True Range라고 불렀습니다. 그리고 True Range를 이동평균하는 것이 ATR입니다. 일반적으로 ATR을 구할 때 14일이 주로 사용됩니다.

  • ART를 굳이 번역한다면 평균진정 가격범위(Average True Range)정도가 되겠다. 우리나라에는 아직까지 Average True Range | ATR 지표 | ATR 계산 | IFCM 이 지표에 대한 일관된 한글 번역 용어가 없다. - INOMENT FOREX MENTORSHIP

ОПРЕДЕЛЕНИЕ. Источник: 개인 블로그:
ATR은 시간에 따른 변동성을 보여주는 지표이다. 이런 변동성 측정을 위해서는 TR에 대해서 먼저 알 필요가 있다.

TR(True Range)는 J.Wells Wilder가 소개한 지표로 (당일고가 - 당일저가), (전일종가 - 당일저가), (당일고가 - 전일종가) 중에 최대값을 취해 차트로 표시한다.

이러한 TR의 기간에 대한 이동평균으로 나타낸 지표가 바로 ATR이다.

  • ATR은 가격 변동값만을 이용하기 때문에, 주가 등락율이 얼마나 되는지 확인할 수 없다. - 개인 블로그
  • 호들로미터의 분석 알고리즘은 정확히 밝히지 않았지만, 트레이딩뷰(TradingView)의 오픈소스 코드와 주식시장에서 많이 사용하는 ATR(Average True Range) 지표 등을 활용한 것으로 보인다. - 파이낸셜 뉴스

Login or register (free and only takes a few minutes) to participate in this question.

You will also have access to many other tools and opportunities designed for those who have language-related jobs (or are passionate about them). Participation is free and the site has a strict confidentiality policy.

KudoZ™ translation help

Сеть KudoZ - система, позволяющая переводчикам и другим участникам сайта оказывать друг другу помощь в переводе и интерпретации отдельных терминов, словосочетаний и коротких фраз.

Эти переводчики координируют перевод ProZ.com на русский язык

Team Coordinators: Natalie
Team Members: Alexey Pylov, Angela Greenfield, esperantisto, svetlana cosquéric, Igor Volosyanoy, VASKON, Sergey Protsenko, Yuliya Masalskaya (X), Oleksandr Somin, Guzel Rakhimova, Rustam Shafikov, Yana Kalinina, Liudmyla Tavrovska
Просьба принять к сведению, что сайт пока переведен не полностью. Локализация сайта осуществляется поэтапно и первыми переводятся наиболее активные разделы. Если вы обнаружите ошибку в переводе какого-либо раздела сайта, который уже локализован, то сообщите об этом одному из указанных выше координаторов локализации.

Do you want to help translate ProZ.com into your language? Become a ProZ.com Localizer

Copyright © 1999-2022 ProZ.com - All rights reserved. Privacy - Распечатать страницу

For another site operated by ProZ.com for finding translators and getting found, go to TM-Town.

You have native languages that can be verified

You can request verification for native languages by completing a simple application that takes only a couple of minutes.

Review native language verification applications submitted by your peers. Reviewing applications can be fun and only takes a few minutes.

평균트루범위 지표

기계학습에서 모델이나 패턴의 분류 성능 평가에 사용되는 지표들을 다루겠습니다. 어느 모델이든 간에 발전을 위한 feedback은 현재 모델의 performance를 올바르게 평가하는 것에서부터 시작합니다. 모델이 평가해야하는 요소와 그 것을 수치화한 지표들, 그리고 관련 개념들에 대해서 다루도록 하겠습니다.

모델의 분류와 정답

모델을 평가하는 요소는 결국, 모델이 내놓은 답과 실제 정답의 관계로써 정의를 내릴 수 있습니다. 정답이 True와 False로 나누어져있고, 분류 모델 또한 True False의 답을 내놓 습니다. 그렇게 하면, 아래와 같이 2x2 matrix로 case를 나누어볼 수 있겠네요.

이제 각 case별로 살펴보겠습니다.

  • True Positive(TP) : 실제 True인 정답을 True라고 예측 (정답)
  • False Positive(FP) : 실제 False인 정답을 True라고 예측 (오답)
  • False Negative(FN) : 실제 True인 정답을 False라고 예측 (오답)
  • True Negative(TN) : 실제 False인 정답을 False라고 예측 (정답)

이러한 case별로 우리의 분류 모델의 성능을 어떻게 평가할 수 있을까요?

1. Precision, Recall and Accuracy

Precision, Recall, Accuracy는 논문에서도 사용하는 지표들이며 가장 눈에 익는 지표들입 니 다. 하지만 서로 헷갈리는 경우가 많으니, 제대로 Average True Range | ATR 지표 | ATR 계산 | IFCM 정리할 필요가 있겠 습니 다. 우리는 모델이 예측한 다양한 경우를 생각해보며, 위의 2x2 matrix에 해당하는 것을 어떻게 지표화 할 것인지 고민해보겠습니다. 지표를 고민함과 동시에 실제 사례를 들어서 해당 지표를 왜 써야하는지도 함께 생각해보고자 합니다. 여기서는 한달 동안의 날씨를 예측하는 상황을 생각해보겠습니다. 날씨는 비가 오거나 맑거나 두 가지만 존재한다고 가정합니다.

1.1 Precision(정밀도)

정밀도란 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율입니다. 즉, 아래와 같은 식으로 표현할 수 있습니다.

Positive 정답률, PPV(Positive Predictive Value)라고도 불립니다. 날씨 예측 모델이 맑다로 예측했는데, 실제 날씨가 맑았는지를 살펴보는 지표라고 할 수 있겠습니다.

1.2 Recall(재현율)

재현율이란 실제 True인 것 중에서 모델이 True라고 예측한 것의 비율입니다.

통계학에서는 sensitivity으로, 그리고 다른 분야에서는 hit rate라는 용어로도 사용합니다. 실제 날씨가 맑은 날 중에서 모델이 맑다고 예측한 비율을 나타낸 지표인데, 정밀도(Precision)와 True Positive의 경우를 다르게 바라보는 것입니다. 즉, Precision이나 Recall은 모두 실제 True인 정답을 모델이 True라고 예측한 Average True Range | ATR 지표 | ATR 계산 | IFCM 경우에 관심이 있으나, 바라보고자 하는 관점만 다릅니다. Precision은 모델의 입장에서, 그리고 Recall은 실제 정답(data)의 입장에서 정답을 정답이라고 맞춘 경우를 바라보고 있습니다. 다음의 경우를 생각해보겠습니다.

"어떤 요소에 의해, 확실히 맑은 날을 예측할 수 있다면 해당하는 날에만 맑은 날이라고 예측하면 되겠다."

이 경우에는 확실하지 않은 날에는 아에 예측을 하지 않고 보류하여 FP의 경우의 수를 줄여, Precision을 극도로 끌어올리는 일종의 편법입니다. 예를 들어 한달 30일 동안 맑은 날이 20일이었는데, 확실한 2일만 맑다고 예측한다면, 당연히 맑다고 한 날 중에 실제 맑은 날(Precision)은 100%가 나오게 됩니다. 하지만 과연, 이러한 모델이 이상적인 모델일까요?

따라서, 우리는 실제 맑은 20일 중에서 예측한 맑은 날의 수도 고려해 보아야합니다. 이 경우에는 Precision만큼 높은 결과가 나오지 않습니다. Precision과 함께 Recall을 함께 고려하면 실제 맑은 날들(즉, 분류의 대상이 되는 정의역, 실제 data)의 입장에서 우리의 모델이 맑다고 예측한 비율을 함께 고려하게 되어 제대로 평가할 수 있습니다. Precision과 Recall은 상호보완적으로 사용할 수 있으며, 두 지표가 모두 높을 수록 좋은 모델입니다.

1.3 Precision-Recall Trade-off

1. 3. 1 with Type 1, 2 error

이 table과 위 matrix는 같은 개념을 다르게 표현한 것 뿐입니다. 가설 검정에서도 Type 1 error와 Type 2 error는 서로 trade off 관계에 있다고 배웠습니다. 여기서 다시 짚고 넘어가보죠.

이 정의에 따라 Type 1, 2 error를 그림으로 살펴봅시다.

Image Source: https://stats.stackexchange.com/questions/211736/type-i-error-and-type-ii-error-trade-off

가설 검정 시에 어떤 상황에서 어떤 가설을 받아들일지의 기준이 필요합니다. 그래서, 그 기준으로써 critical region을 잡게 되는데 Type 1 error는 H0가 true일 때, reject H0일 확률, 즉, 미리 설정해둔 critical region의 표본을 뽑을 확률입니다. 위의 그림에서 Any mean이 기준점이고 H0 관점에서 빨간색 영역이 기각역이라고 볼 수 있습니다. 그리고 이 기각역에 따라 Type 2 error도 정해집니다. 그림으로 보다시피 Any mean을 좌우로 조정하게되면 Type 1, 2 error의 크기가 변합니다. 하지만 둘다 커지거나 둘다 작아지는 경우가 없는 trade-off관계입니다.

다시 본론으로 돌아와서, Precision과 Recall은 TP를 분자로써 같이하고 분모에는 TP에 Type 1, 2 error에 해당하는 FN, FP를 더하여 계산합니다. 이때, FN, FP는 각각 Type 1, 2 error에 있으므로 Precision과 Recall 또한 trade-off 관계에 있다고 할 수 있습니다.

1. 3.2 with Venn-diagram

A는 실제 날씨가 맑은 날입니다. 그리고 B는 모델에서 날씨가 맑은 날이라고 예측한 것입니다. 이때 b의 영역은 TP로 실제 맑은 날씨를 모델이 맑다고 제대로 예측한 영역입니다. 이러한 영역 상에서 Precision과 Recall은 다음과 같습니다.

모델의 입장에서 모두 맑은 날이라고만 예측하는 경우를 생각해봅시다. 그렇게 되면 TN(d)의 영역이 줄어들게 되고 그에 따라 FN(a)의 영역 또한 줄게 됩니다. 그러므로 Recall은 분모의 일부인 FN(a)영역이 줄기 때문에 Recall은 100%가 됩니다. 즉, 여기서 A⊂B인 관계를 형성합니다. 하지만, 주의할 것은 단순히 a의 영역만 줄어드는 것이 아니라 d의 영역과 a의 영역이 모두 c로 흡수된다는 것입니다. Precision의 경우에는 기존보다 FP(c)의 영역이 커져 Precision은 줄게 됩니다. 이해가 안된다면 다음 표로 이해해보겠습니다.

General Case에서 Recall은 20 / 50 = 40%, Precision = 20 / 60 = 33.3% 입니다. 그리고 분류모델이 모두 True라고 예측한 오른쪽의 Average True Range | ATR 지표 | ATR 계산 | IFCM case에서의 recall은 FN = 0이므로 100%이지만 그에 따라 FP가 늘어서 precision은 20/100 = 20%가 되었습니다. 이처럼 precision과 recall은 모두 높은 것이 좋지만, trade-off 관계에 있어서 함께 늘리기가 힘듭니다.

1.4 Accuracy(정확도)

이제는 또 관점을 다르게 생각해봅시다. 사고의 확장이 빠른 사람들은 예상했겠지만, 위 두 지표는 모두 True를 True라고 옳게 예측한 경우에 대해서만 다루었 습니 다. 하지만, False를 False라고 예측한 경우도 옳은 경우입니다. 이때, 해당 경우를 고려하는 지표가 바로 정확도(Accuracy) 입니 다. 식으로는 다음과 같이 나타냅니다.

정확도는 가장 직관적으로 모델의 성능을 나타낼 수 있는 평가 지표입니다. 하지만, 여기서 고려해야하는 것이 있습니다. 바로 domain의 편중(bias)입니다. 만약 우리가 예측하고자 하는 한달 동안이 특정 기후에 부합하여 비오는 날이 흔치 않다고 생각해보죠. 이 경우에는 해당 data의 domain이 불균형하게되므로 맑은 것을 예측하는 성능은 높지만, 비가 오는 것을 예측하는 성능은 매우 낮을 수 밖에 없습니다. 따라서 이를 보완할 지표가 필요합니다.

1.5 F1 score

1.5.1 F1 score

F1 score는 Precision과 Recall의 조화평균입니다.

F1 score는 데이터 label이 불균형 구조일 때, 모델의 성능을 정확하게 평가할 수 있으며, 성능을 하나의 숫자로 표현할 수 있습니다. 여기서 단순 산술평균으로 사용하지 않는 이유는 무엇일까요? 우리가 평균 속력을 구할 때, 이 조화평균의 개념을 사용해 본 경험이 있을 것입니다. 조화평균의 본질에 대해 이해해보겠습니다.

1.5.2 조화평균의 기하학적 접근

조화평균은 기하학적으로 다음과 같이 표현할 수 있 습니 다. 서로 다른 길이의 A, B와 이 두 길이의 합만큼 떨어진 변(AB)으로 이루어진 사다리꼴을 생각해봅시다. 이 AB에서 각 변의 길이가 만나는 지점으로부터 맞은 편의 사다리꼴의 변으로 내린 선분이 바로 조화평균을 나타냅니다.

기하학적으로 봤을 때, 단순 평균이라기보다는 작은 길이 쪽으로 치우치게 된, 그러면서 작은 쪽과 큰 쪽의 사이의 값을 가진 평균이 도출됩니다. 이렇게 조화평균을 이용하면 산술평균을 이용하는 것보다, 큰 비중이 끼치는 bias가 줄어든다고 볼 수 있습니다. 즉, F1-score는 아래와 같이 생각할 수 있습니다.

2. 그 외 다른 지표들

이 외에도 모델의 성능을 측정하는 다양한 지표들이 존재합니다. 다음을 살펴봅시다.

2.1 Fall-out

Fall-ou t은 FPR(False Positive Rate)으로도 불리며, 실제 False인 data 중에서 모델이 True라고 예측한 비율입니 다. 즉, 모델이 실제 false data인데 True라고 잘못 예측(분류)한 것으로 다음과 같이 표현할 수 있 습니 다.

2.1 ROC(Receiver Operating Characteristic) curve

여러 임계값들을 기준으로 Recall-Fallout의 변화를 시각화한 것입니다. Fallout은 실제 False인 data 중에서 모델이 True로 분류한, 그리고 Recall은 실제 True인 data 중에서 모델이 True로 분류한 비율을 나타낸 지표로써, 이 두 지표를 각각 x, y의 축으로 놓고 그려지는 그래프를 해석합니다. 아래 예시를 보죠.

Image Source: https://www.medcalc.org/manual/roc-curves.php

curve가 왼쪽 위 모서리에 가까울수록 모델의 성능이 좋다고 평가합니다. 즉, Recall이 크고 Fall-out이 작은 모형이 좋은 모형인 것입니다. 또한 y=x 그래프보다 상단에 위치해야 어느정도 성능이 있다고 말할 수 있습니다.

2.2 AUC(Area Under Curve)

ROC curve는 그래프이기 때문에 명확한 수치로써 비교하기가 어렵 습니 다. 따라서 Average True Range | ATR 지표 | ATR 계산 | IFCM 그래프 아래의 면적값을 이용합니다. 이것이 바로 AUC(Area Under Curve) 입니다. 최대값은 1이며 좋은 모델(즉, Fall-out에 비해 Recall 값이 클수록) 1에 가까운 값이 나옵니다.

자료의 분포를 나타내는 통계지표

우리가 갖고 있는 데이터를 가장 잘 대표하는 값 하나를 뽑으라면 평균이라고 생각합니다. 평균을 구하는 방법은 각각의 데이터를 더한 후, 데이터의 갯수만큼으로 나줘주면 됩니다.

Q. 중간고사의 평균은 어떻게 될까요?

평균을 구한다는 것은 우리가 가진 데이터 분포의 가운데가 어디인지를 구한다고 생각하면 됩니다. 다음의 그래프를 생각해봅시다.

빨간색 세로선은 중간고사 점수에서 평균의 위치를 나타냅니다.

중앙값 (median)

통계에는 분포의 가운데를 나타내는 지표가 하나 더 있습니다. 바로 중앙값 입니다. 중앙값은 말 그대로 자료를 순서대로 나열한 후 정중앙에 위치한 데이터를 찾아 보여줍니다.

Q. 그렇다면 중간고사의 중앙값은 어떻게 될까요?

중앙값이 평균보다 살짝 큽니다만, 평균과 중앙값이 거의 같아서 분포의 중앙을 나타내 준다는 사실을 잘 알 수 있습니다. 그런데 이 두 값은 항상 이렇게 비슷할까요? 만약 그렇다면 굳이 따로 이름을 붙일 필요가 없을 것입니다. 학생 한 명의 중간고사 점수를 바꿔봅시다.

그래프가 그려진 범위는 80으로 똑같으므로, 우리가 바꾼 두 점수가 두 지표간의 차이를 벌려놓은 것이 확실합니다. 이전 그래프는 평균(빨간선)이 중앙값(파란선)보다 왼쪽에 위치해있었는데, 이젠 평균이 중앙값보다 더 큰 것을 알 수 있습니다. 이렇듯 두 지표는 분포의 형태에 따라서 각자 다르게 반응합니다.

분포의 산포된 정도를 나타내주는 분위수 (quantile)와 분산 (variance)

분위수들 (Quantiles)

R 에는 quantile 이라는 함수가 자료의 사분위수를 계산하는데에 쓰입니다. quantile 함수는 사분위수와 함께 통계에서 유명한 다섯가지 숫자를 통하여 분포의 특성을 요약해 줍니다.

결과를 보면, 중간고사 점수들의 분포를 다섯개의 숫자를 써서 나타내주는데, 0% 에 대응되는 숫자가 자료에서의 최소값을 나타내는 숫자이며, 100% 에 대응되는 숫자가 최대값을 나타냅니다.

25% 와 75% 에 대응하는 숫자들을 각각 제 1 사분위수와 제 3 사분위수라고 부르며, 제 2 사분위수는 중앙값을 의미합니다.

분산 (variance) 과 표준편차 (standard deviation)

분산은 평균과 함께 통계 전체를 대표하는 값이라고 해도 무방합니다. 분산의 제곱근을 표준편차라고 부르며, 분포가 얼마나 퍼져있는지를 나타내주는 지표입니다.

다음은 \(n\) 개의 데이터가 있을때, 표본 분산 \(s^2\) 를 구하는 식 입니다.

\[ s^=\frac<\left(x_<1>-\overline\right)^+\left(x_-\overline\right)^+. +\left(x_-\overline\right)^> \] 좀 더 간단하게는 다음과 같이 나타낼 수 있습니다.

표준편차 \(s\) 는 분산에 제곱근을 씌운 값을 나타냅니다. \[ s=\sqrt^\left(x_-\overline\right)^>> \]


0 개 댓글

답장을 남겨주세요