투자.재테크

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

헬로덱 2024. 11. 20. 10:04
반응형

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

구글 스프레드시트에서 업비트 비트코인 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: 데이터를 저장할 시트 이름입니다.

 

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

반응형