본문 바로가기

Python42

[주식 분석 프로젝트] 3편 - 기술적 지표 입문 (볼린저 밴드 & RSI) 📌 이번 실습 목표볼린저 밴드로 주가의 과매수/과매도 구간 탐지RSI로 매수/매도 강도 측정주가 + 보조지표 종합 시각화 대시보드 구현📊 볼린저 밴드란?볼린저 밴드는 20일 이동평균선을 중심으로, 그 위/아래에 표준편차를 2배 곱한 밴드를 추가하여 만든 지표입니다.주가는 평균에서 크게 벗어나지 않는다는 성질을 이용하여, 과매수/과매도 구간을 시각적으로 파악할 수 있습니다.✔ 구성중심선: 20일 이동평균선 (MA20)상단선: MA20 + (2 × 표준편차)하단선: MA20 - (2 × 표준편차)📌 해석 방법주가가 상단 밴드를 돌파 → 과매수 경고주가가 하단 밴드를 이탈 → 과매도 경고1. 볼린저 밴드 계산df['MA20'] = df['Close'].rolling(window=20).mean()df['.. 2025. 4. 24.
[주식 분석 프로젝트] 2편 – 이동평균선과 골든/데드크로스 📌 이번 실습 목표이동평균선(MA)의 개념과 용도 이해골든크로스/데드크로스의 의미와 투자 시점 판단법 학습yfinance로 실시간 주가 데이터 조회 + 시각화 실습📘 이동평균선(MA)이란?이동평균선(Moving Average)은 일정 기간 동안의 종가 평균을 구해 선으로 이어붙인 보조지표입니다.예를 들어 20일 이동평균선은 최근 20일 간 종가의 평균이며, 매일 새로 계산되어 갱신됩니다.✔ 이동평균선의 주요 역할주가의 방향성을 부드럽게 보여준다노이즈(단기 변동)를 제거하고 전체적인 추세를 파악할 수 있다다른 이동평균선과의 교차를 통해 매매 타이밍을 포착할 수 있다⚡ 골든크로스와 데드크로스란?🟢 골든크로스 (Golden Cross)단기 이동평균선(MA20)이 장기 이동평균선(MA60)을 아래에서 위로.. 2025. 4. 23.
[주식 분석 프로젝트] 1편 – Jupyter Notebook으로 한국/미국 주식 데이터 조회하기 📌 이번 실습 목표한국 주식 & 미국 주식 데이터 조회 방법 익히기.tail()으로 최신 데이터 확인수익률 계산 및 시각화matplotlib 한글 폰트 깨짐 해결🛠️ 1. 필수 라이브러리 설치pip install yfinance pandas matplotlib seaborn finance-datareader🧰 2. 라이브러리 불러오기 + 한글 폰트 설정import yfinance as yfimport FinanceDataReader as fdrimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns# 한글 폰트 설정plt.rcParams['font.family'] = 'Malgun Gothic' # Windowsplt.rcPa.. 2025. 4. 22.
Django 웹앱 UI 개선하기 – Bootstrap으로 반응형 페이지 만들기 0. 이 글은 누구를 위한 글인가요? 내 Django 웹앱이 너무 심심해 보여요… 버튼이나 테이블이 좀 더 예쁘게 나왔으면 좋겠어요. Bootstrap을 Django 템플릿에서 적용하는 방법을 배우고 싶어요.1. 실습 목표 개선 항목설명 Bootstrap 기본 템플릿 적용페이지 전체에 Bootstrap 스타일 입히기 네비게이션 바 추가로그인/로그아웃/마이페이지 링크 폼 & 버튼 스타일 적용검색폼, 분석폼 꾸미기 결과 테이블 스타일링테두리, 반응형 테이블, 색상 적용2. Bootstrap CDN 추가3. base.html 템플릿 구성 뉴스분석기 {% if user.is_authenticated %} 마이페이지 로그아웃 .. 2025. 4. 21.
Django 뉴스 분석 웹앱 성능 & UX 개선 – 로딩 표시 + 비동기 처리 (AJAX) 0. 이 글은 누구를 위한 글인가요? 뉴스 분석 시간이 길어 웹이 멈춘 것처럼 보여 걱정되는 분 분석 중 메시지나 로딩 애니메이션을 표시하고 싶은 분 새 페이지로 이동하지 않고 페이지 내에서 결과를 바로 보고 싶은 분1. 실습 목표 기능설명 로딩 표시분석 중일 때 “분석 중입니다” 문구 표시 AJAX 처리결과 페이지로 이동하지 않고 비동기 요청 처리 결과 표시페이지 내 결과영역에 분석 결과표 표시2. 기본 흐름 구조[키워드 입력] ↓[AJAX 요청 → /analyze/] ↓[서버에서 분석 실행 → JSON 응답] ↓[결과 템플릿을 페이지 내에 삽입]3. URLconf 수정# analyzer/urls.pypath('analyze/', views.analyze_ajax, name='a.. 2025. 4. 20.
Django 마이페이지에 CSV 다운로드 기능 추가하기 (검색 결과 저장) 0. 이 글은 누구를 위한 글인가요? 내 분석 기록을 파일로 저장하고 싶어요. 지금 필터링된 검색 결과만 CSV로 받고 싶어요. Django에서 CSV 파일을 동적으로 생성해 다운로드하는 법을 배우고 싶어요.1. 실습 목표이번 글의 목표는 마이페이지에서 현재 필터링된 검색 결과를 CSV 파일로 바로 다운로드하는 기능을 추가하는 것입니다. 사용자가 조회한 결과만 저장되며, 정적인 파일이 아니라 요청 시 동적으로 생성된 CSV가 다운로드됩니다. 기능설명 검색 결과 저장현재 마이페이지에서 필터링된 내역만 저장 CSV 동적 생성Django가 HttpResponse로 실시간 CSV 생성 버튼 클릭 즉시 다운로드브라우저에서 자동 저장됨2. URL 연결 추가 (urls.py)# analyzer/urls... 2025. 4. 19.