ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ATR 계산: Google Sheet Script
    GoogleSheet 2024. 2. 10. 07:18

    평균 진정 범위(Average True Range, ATR)는 주식이나 금융 상품의 변동성을 측정하는 지표로, 특정 기간 동안의 가격 움직임의 크기를 나타냅니다. ATR 계산 방법은 다음과 같습니다:

    ATR 계산: Google Sheet 활용

    ATR (Average True Range)

    ATR은 특정 기간 동안의 평균 진정 범위를 의미합니다. 일반적으로 14일 ATR이 많이 사용되며, 이는 최근 14일간의 TR 값을 평균한 것입니다.

    ATR = (전일 ATR * (N-1) + 당일 TR) / N
    • 여기서 N은 기간을 의미하며, 통상적으로 14일을 사용합니다.
    • 첫 번째 ATR 계산 시에는 단순히 처음 N일간의 TR 평균을 사용합니다.

    ATR은 변동성이 큰 시장에서는 값이 커지고, 변동성이 작은 시장에서는 값이 작아집니다. ATR은 주로 정지 손실(stop-loss) 수준을 설정하거나, 진입 및 탈출 시점을 결정하는 데 사용됩니다. 변동성에 기반한 거래 전략에 있어 중요한 지표로 활용됩니다.

     

    전일 ATR 계산

    구글 시트에서 현재를 기준으로 ATR(Average True Range)을 계산하기 위해 사용자 정의 함수를 직접 만들거나 기존의 구글 시트 함수를 조합해야 합니다. 구글 시트에는 ATR을 직접 계산하는 내장 함수가 없기 때문에, ATR 계산 공식에 따라 여러 단계를 거쳐야 합니다. 여기서는 구글 시트의 기본 함수를 사용하여 간단한 ATR 계산 방법을 소개합니다.

     

    진정 범위(True Range, TR) 계산

    TR을 계산하기 위해 새로운 열을 만들고 다음 공식을 사용합니다.

    =MAX(고가 - 저가, ABS(고가 - 전일 종가), ABS(저가 - 전일 종가))

    예를 들어, A열에 고가, B열에 저가, C열에 종가가 있다면, D열에 TR을 계산하기 위해 D2 셀에 다음 공식을 입력합니다(첫 번째 행은 헤더로 가정).

    =MAX(A2-B2, ABS(A2-C1), ABS(B2-C1))

     

    ATR 계산

    특정 기간(N일) 동안의 TR 평균을 계산하여 ATR을 얻습니다. 일반적으로 N은 14일을 사용합니다.

    E열에 ATR을 계산하기 위해 E15 셀(14일의 데이터가 축적된 첫 번째 지점)에 다음 공식을 입력합니다.

    =AVERAGE(D2:D15)

    이후 E16 셀부터는 전일 ATR과 당일 TR을 이용해 ATR을 계산합니다. 이를 위해 다음 공식을 사용할 수 있습니다.

    =((E15 * 13) + D16) / 14

    이 공식을 E16 셀부터 필요한 만큼 아래로 복사합니다.

    이 방법은 구글 시트에서 간단한 ATR 값을 계산하는 방법입니다. 

    더 알아보기 현재 날짜를 기준으로 GOOGLEFINANCE 함수에서 14일간의 고가와 저가 전일 종가 구하는 방법

    Google Sheet Custom Script

    구글 시트에서 구글 파이낸스 데이터를 사용하여 ATR(Average True Range)을 계산하는 사용자 정의 스크립트를 작성하려면 Google Apps Script를 사용해야 합니다. 아래는 ATR을 계산하기 위한 기본적인 스크립트 예제입니다. 이 스크립트는 특정 주식의 고가, 저가, 종가 데이터를 사용하여 ATR을 계산합니다.

    1. 구글 시트에서 확장 프로그램 > Apps Script를 선택합니다.
    2. 새 스크립트 파일이 열리면, 아래의 스크립트를 복사하여 붙여넣습니다.
    3. 스크립트의 ticker, startDate, endDate 값을 원하는 주식 기호와 날짜 범위로 변경합니다.
    4. 스크립트 편집기에서 디스크 아이콘을 클릭하여 스크립트를 저장합니다.
    5. 함수 calculateATR를 실행하려면 플레이 버튼을 클릭합니다.
    function calculateATR() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      var ticker = "NASDAQ:GOOGL"; // 주식 기호 변경
      var startDate = "2023-01-01"; // 시작 날짜 변경
      var endDate = "2023-12-31"; // 종료 날짜 변경
      var interval = "DAILY"; // 데이터 간격 (DAILY, WEEKLY, ...)
      
      // 구글 파이낸스에서 주식 데이터 가져오기
      var data = FinanceApp.getHistoricalStockInfo(ticker, startDate, endDate, interval).quotes;
      
      // 데이터 초기화
      sheet.clear();
      sheet.appendRow(["Date", "High", "Low", "Close", "TR", "ATR"]);
      
      // True Range와 ATR 계산
      var trArray = [];
      for (var i = 1; i < data.length; i++) {
        var high = data[i].high;
        var low = data[i].low;
        var close = data[i-1].close;
        var tr = Math.max(high - low, Math.abs(high - close), Math.abs(low - close));
        trArray.push(tr);
        
        // ATR (14일 평균)
        var atr = (i < 14) ? null : trArray.slice(i-14, i).reduce(function(a, b) { return a + b; }, 0) / 14;
        
        sheet.appendRow([data[i].date, high, low, data[i].close, tr, atr]);
      }
    }
     

    이 스크립트는 주어진 날짜 범위 동안의 고가, 저가, 종가 데이터를 사용하여 True Range를 계산하고, 이를 기반으로 ATR(14일 평균)을 계산합니다. 계산된 결과는 현재 활성화된 시트에 Date, High, Low, Close, TR, ATR 형식으로 기록됩니다.

    주의: 이 스크립트는 기본적인 ATR 계산 예제를 제공합니다. 실제 투자 결정에 이 스크립트를 사용하기 전에는 반드시 추가 검증이 필요합니다. 

     

    이 사용자 정의 스크립트를 사용하여 구글 시트에서 ATR(Average True Range)를 계산하려면 다음 단계를 따릅니다.

    1. 구글 시트 열기: 계산을 수행하고자 하는 구글 시트를 엽니다.
    2. 스크립트 편집기 접근: 시트 상단의 메뉴에서 확장 프로그램 > Apps Script를 선택합니다.
    3. 스크립트 복사 및 붙여넣기: 새로 열린 Apps Script 탭에서 기존의 내용(있다면)을 지우고, 위에서 제공된 calculateATR 함수를 복사하여 붙여넣습니다.
    4. 스크립트 수정
      • ticker, startDate, endDate 값을 원하는 주식 심볼과 분석하고자 하는 날짜 범위로 수정합니다. 예를 들어, ticker를 "NASDAQ:AAPL"로 변경하여 애플 주식에 대한 ATR을 계산할 수 있습니다.
    5. 스크립트 저장 및 실행
      • 스크립트 편집기 상단의 디스크 아이콘(저장 아이콘)을 클릭하여 스크립트를 저장합니다.
      • 스크립트를 실행하려면, 스크립트 편집기 상단의 재생 버튼(▶)을 클릭합니다.
    6. 권한 부여
      • 스크립트를 처음 실행하면, 구글 계정으로부터 필요한 권한을 요청하는 창이 나타납니다. 계속하기 위해 계정을 선택하고 요청된 권한을 승인합니다.
    7. 결과 확인
      • 스크립트 실행이 완료되면, 구글 시트에 날짜, 고가, 저가, 종가, 진정 범위(TR), 그리고 ATR 값이 순서대로 채워진 새로운 행이 추가됩니다.

    위 단계를 완료하면, 구글 시트에 ATR 값이 계산되어 나타납니다. 

     

     

Designed by Tistory.