본문으로 건너뛰기
-
✨ 즐거움이 가득한 흥인 연구소 💡-> 지금 바로가기
로고 다크모드 로고 흥인 (heung-in)

✨ AI와 코딩으로 일상과 업무의 해답을 직접 만드는 공간🛠️

로고 다크모드 로고 흥인 (heung-in)

✨ AI와 코딩으로 일상과 업무의 해답을 직접 만드는 공간🛠️

  • 흥인이란
    • 운영자 소개 (About Us)
    • 개인정보처리방침 (Privacy Policy)
    • 문의하기 (Contact Us)
  • 🛠️내 손으로 만든 웹 툴 (계산기/분석기)
  • 📚 AI 자동화 & 프롬프트 가이드
  • 흥인이란
    • 운영자 소개 (About Us)
    • 개인정보처리방침 (Privacy Policy)
    • 문의하기 (Contact Us)
  • 🛠️내 손으로 만든 웹 툴 (계산기/분석기)
  • 📚 AI 자동화 & 프롬프트 가이드
닫기

검색

로고 다크모드 로고 흥인 (heung-in)

✨ AI와 코딩으로 일상과 업무의 해답을 직접 만드는 공간🛠️

로고 다크모드 로고 흥인 (heung-in)

✨ AI와 코딩으로 일상과 업무의 해답을 직접 만드는 공간🛠️

  • 흥인이란
    • 운영자 소개 (About Us)
    • 개인정보처리방침 (Privacy Policy)
    • 문의하기 (Contact Us)
  • 🛠️내 손으로 만든 웹 툴 (계산기/분석기)
  • 📚 AI 자동화 & 프롬프트 가이드
  • 흥인이란
    • 운영자 소개 (About Us)
    • 개인정보처리방침 (Privacy Policy)
    • 문의하기 (Contact Us)
  • 🛠️내 손으로 만든 웹 툴 (계산기/분석기)
  • 📚 AI 자동화 & 프롬프트 가이드
닫기

검색

🛠️내 손으로 만든 웹 툴 (계산기/분석기)

주식 탈출을 위한 기울기 분석기 제작기-1 (데이터 수집)

사진
By youn3345
2026년 07월 06일 2 Min Read
0

[1편] 구글 앱스 스크립트(GAS)와 야후 파이낸스 API로 신뢰도 높은 주가 데이터 수집하기

서론: 감정을 배제한 객관적 지표의 필요성 주식 시장에서 ‘추세’를 읽는 것은 투자 생존과 직결됩니다. 하지만 HTS에 직접 긋는 추세선은 주관적일 수밖에 없죠. QQQ, TQQQ, SOXL 같은 변동성 높은 ETF나 빅테크 개별 주식을 다룰 때, 시장 참여자들의 심리가 만드는 추세의 이탈 시점을 계량적으로 포착하고 싶었습니다. 그래서 최소제곱법(OLS) 선형 회귀 공식을 이용해, 노이즈가 제거된 객관적 기울기를 계산해 주는 나만의 웹 분석기를 구글 앱스 스크립트(GAS) 기반으로 개발하기로 했습니다.

핵심 과제: 결측치 처리와 데이터 무결성 원칙 야후 파이낸스(Yahoo Finance) API를 통해 데이터를 가져올 때 가장 큰 문제는 ‘휴장일’이나 ‘지수(Index)’ 데이터의 거래량(Volume)이 누락되는 현상이었습니다. 이때 임의의 추정치를 억지로 끼워 넣으면 회귀분석의 기울기가 왜곡되는 치명적인 문제가 발생합니다.

따라서 데이터 신뢰성을 지키기 위해 “정확한 데이터가 없으면 대체 데이터를 찾지 않고 시스템 기본값을 대입한다”는 엄격한 정책을 코드에 적용했습니다.

💡 핵심 구현 코드 (데이터 수집 및 결측치 처리)

function fetchYahooData(ticker, startTime, endTime, days) {
const url = `https://query1.finance.yahoo.com/v8/finance/chart/${ticker}?period1=${startTime}&period2=${endTime}&interval=1d`;

// 데이터 신뢰성 정책: 임의 추정치 배제, 결측 시 기본값 0 대입
const DEFAULT_FALLBACK_PRICE = 0;

try {
const response = UrlFetchApp.fetch(url, { muteHttpExceptions: true });
const json = JSON.parse(response.getContentText());

const result = json.chart.result[0];
const timestamps = result.timestamp;
const quotes = result.indicators.quote[0];

const processed = [];
for (let i = 0; i < timestamps.length; i++) {
const dateStr = new Date(timestamps[i] * 1000).toISOString().split(‘T’)[0];
let close = quotes.close[i];

// 휴장일 또는 지수 데이터 누락 감지 및 기본값 처리
const isHoliday = (close === null || close === undefined);
if (isHoliday) close = DEFAULT_FALLBACK_PRICE;

processed.push({ date: dateStr, close: close, isHoliday: isHoliday });
}
return { success: true, data: processed.slice(-days) };
} catch (e) {
return { success: false, error: e.toString() };
}
}

결과적으로 이 로직 덕분에 코스피(^KS11)나 S&P 500(^GSPC) 같은 바탕 지수 데이터를 불러올 때 차트가 증발해 버리는 버그를 완벽하게 막아낼 수 있었습니다.

Tags:

GASOLS결측치처리구글앱스스크립트데이터전처리선형회귀분석야후파이낸스API웹개발주식보조지표주식차트구현퀀트투자
사진
작성자

youn3345

Follow Me
다른 기사
Previous

SEO 최적화와 체류 시간: 블로그 수익화를 위한 웹 유틸리티의 가치

Next

주식 탈출을 위한 기울기 분석기 제작기-2 (시스템최적화)

댓글 없음! 첫 댓글을 남겨보세요.

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글

  • 52주 적금, 연 7% 준다더니 왜 이자가 이거밖에 안 될까 [2편] 개발기
  • 52주 적금, 연 7% 준다더니 왜 이자가 이거밖에 안 될까 [1편]
  • 원리금균등 vs 원금균등, 총이자 얼마나 다를까 [2편] 개발기
  • 원리금균등 vs 원금균등, 총이자 얼마나 다를까 [1편]
  • 전세가 항상 유리할까? 전환율로 직접 검증해봤습니다 [2편] 개발기

카테고리

  • 📚 AI 자동화 & 프롬프트 가이드
  • 🛠️내 손으로 만든 웹 툴 (계산기/분석기)

    흥인 이란?

    • 개인정보처리방침 (Privacy Policy)
    • 문의하기 (Contact Us)
    • 운영자 소개 (About Us)

    Copyright 2026 — 흥인 (heung-in). All rights reserved.