본문 바로가기
투자.재테크

[구글 스프레드시트] 업비트 비트코인 15분봉 데이터 가져오기

by 헬로덱 2024. 11. 20.
반응형

주로 파이썬으로 데이터를 가져오곤 했는데 
탐색적 분석을 위해서는 스프레드시트에서 이렇게 저렇게 해보는게 간편해서 
구글 스프레드시트에서 가져오는 스크립트를 만들어보았습니다. 

구글 스프레드시트에서 업비트 비트코인 15분봉 데이터 가져오기

function fetchUpbitBitcoinData() {
  const sheetName = "BitcoinData"; // 시트 이름
  const market = "KRW-BTC"; // 마켓 (비트코인)
  const interval = 15; // 분봉
  const count = 10; // 받을 데이터 개수
  
  const url = `https://api.upbit.com/v1/candles/minutes/${interval}?market=${market}&count=${count}`;
  const options = {
    method: "get",
    headers: {
      Accept: "application/json"
    }
  };

  try {
    const response = UrlFetchApp.fetch(url, options);
    const data = JSON.parse(response.getContentText());

    // 스프레드시트 가져오기
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName) || 
                  SpreadsheetApp.getActiveSpreadsheet().insertSheet(sheetName);

    // 기존 데이터 지우기
    sheet.clear();
    
    // 헤더 추가
    sheet.appendRow(["Timestamp", "Open", "High", "Low", "Close", "Volume"]);

    // 데이터 추가
    data.forEach(candle => {
      sheet.appendRow([
        new Date(candle.timestamp).toLocaleString(), // 타임스탬프
        candle.opening_price, // 시가
        candle.high_price, // 고가
        candle.low_price, // 저가
        candle.trade_price, // 종가
        candle.candle_acc_trade_volume // 거래량
      ]);
    });

  } catch (error) {
    Logger.log("Error fetching data: " + error);
  }
}

실행 방법

1. fetchUpbitBitcoinData 함수를 선택한 후 실행합니다.
2. 첫 실행 시 권한을 요청할 수 있습니다. 권한을 허용하세요.
3. 실행하면 지정된 시트(BitcoinData)에 15분봉 데이터를 가져옵니다.

반응형

설명

market: KRW-BTC는 업비트의 원화-비트코인 마켓을 나타냅니다.
interval: 15분봉을 지정합니다. 
count: 최근 몇 개의 봉 데이터를 가져올지 지정합니다. 필요에 따라 조정하세요.
sheetName: 데이터를 저장할 시트 이름입니다.

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

반응형

댓글