글

라벨이 파이썬웹크롤링인 게시물 표시

주봉 MACD 골든크로스란? 6·13·5 설정으로 ETF 추세 읽는 법

이미지
 ETF를 살 때 가장 고민되는 건 “언제 사야 하나” 입니다. 좋은 ETF를 골랐어도 하락이 이어지는 중간에 사면 한참을 버텨야 합니다. 그래서 저는 매수 후보를 고를 때 주봉 MACD 골든크로스 를 확인합니다. 이 글에서는 MACD가 무엇인지, 왜 일봉이 아니라 주봉을 보는지, 그리고 왜 기본값(12·26·9) 대신 6·13·5를 쓰는지 정리해 보겠습니다. 1. MACD는 “두 평균선의 거리”입니다 MACD는 이름이 어렵지만 원리는 간단합니다. 짧은 평균선에서 긴 평균선을 빼서 , 두 선이 얼마나 벌어져 있는지 보는 지표입니다. MACD선 = 짧은 지수이동평균(EMA) − 긴 지수이동평균 시그널선 = MACD선을 다시 평균 낸 선 히스토그램 = MACD선 − 시그널선 (막대로 표시) 최근 가격이 오르면 짧은 평균선이 긴 평균선보다 먼저 올라가서 MACD가 커집니다. 반대로 내리면 MACD가 작아집니다. 즉 MACD는 추세의 힘이 세지는지, 약해지는지 를 보여주는 지표입니다. 2. 골든크로스는 “힘이 다시 붙기 시작했다”는 신호 MACD선이 시그널선을 아래에서 위로 뚫고 올라가는 순간 을 골든크로스라고 합니다. 히스토그램으로 보면 막대가 0 아래(음수)에서 0 위(양수)로 바뀌는 지점입니다. 쉬운 비유를 들면 이렇습니다. 자동차가 느려지다가 다시 가속 페달을 밟기 시작한 순간입니다. 아직 속도가 빠르지는 않지만, 방향이 바뀌었다는 뜻이죠. 반대로 위에서 아래로 뚫고 내려가면 데드크로스 라고 하고, 힘이 빠지기 시작했다는 신호로 봅니다. 3. 왜 일봉이 아니라 주봉인가 일봉(하루 단위) MACD는 신호가 자주 나옵니다. 하루 이틀 오르면 골든크로스, 다시 이틀 내리면 데드크로스가 나오는 식이라, 신호를 따라가다 보면 사고팔기만 반복하기 쉽습니다. 주봉(일주일 단위)은 일주일치 움직임을 한 막대로 묶기 때문에 자잘한 흔들림이 걸러집니다 . 신호는 드물지만, 한 번 나오면 방향이 비교적 오래 이어지는 편입니다. ETF처럼 여러...

6편. 실전 자동화 2: 특정 키워드 뉴스 기사 매일 아침 수집하기 (웹 크롤링 실전 코드)

이미지
매일 아침 출근길이나 업무 시작 전, 관심 있는 비즈니스 키워드나 경쟁사의 최신 뉴스를 확인하는 것은 필수적입니다. 하지만 매번 포털 사이트에 접속해 검색어를 입력하고, 수많은 기사 중 진짜 필요한 정보만 골라내는 과정은 꽤 번거롭습니다. 지난 글에서 웹 크롤링의 기본 개념과 윤리적 주의사항을 가볍게 살펴보았다면, 오늘은 파이썬(Python)을 이용해 실제로 뉴스 기사 제목과 링크를 수집하는 '나만의 뉴스 수집 봇' 코드를 직접 작성해 보겠습니다. 복잡한 프로그램 설치 없이, 우리가 2편에서 세팅했던 리플릿(Replit) 브라우저 화면만 켜두시면 됩니다. 비전공자도 따라 할 수 있도록 가장 직관적인 두 가지 도구 상자(Requests, BeautifulSoup)를 활용하여 뼈대부터 하나씩 조립해 보겠습니다. 1단계: 크롤링 도구 상자 불러오기 파이썬에서 웹 크롤링을 할 때는 두 가지 라이브러리가 환상의 짝꿍으로 쓰입니다. 인터넷 브라우저처럼 특정 웹 주소(URL)에 접속해 데이터를 가져오는 '접속 담당' requests 와, 가져온 복잡한 HTML 문서 안에서 우리가 원하는 글자만 예쁘게 다듬어주는 '추출 담당' BeautifulSoup 입니다. 리플릿의 빈 화면에 아래 코드를 입력해 도구를 불러옵니다. import requests from bs4 import BeautifulSoup 2단계: 사람처럼 위장하여 접속하기 (가장 중요) 제가 처음 크롤링을 시도했을 때 가장 당황했던 부분입니다. 완벽하게 코드를 짰다고 생각했는데, 빈 화면만 나오거나 에러가 났습니다. 이유는 대형 포털 사이트들이 로봇(매크로)의 무단 접근을 막아두었기 때문입니다. 이를 해결하려면 컴퓨터에게 "나 로봇 아니고, 크롬 브라우저 쓰는 진짜 사람이야!"라고 신분증을 쥐여주어야 합니다. 이것을 '헤더(Headers)' 설정이라고 합니다. 우리가 검색할 키워드와 포털 뉴스의 주소 search_word = "파...