반응형
📊 퀀트 투자 실습 — 미국 주식 시장 구조와 데이터 수집 심화 (Week2)
1. 학습 목표
이번 주차에서는 단일 종목이 아닌 여러 종목과 주요 지수 데이터를 한 번에 수집·비교하는 방법을 다뤘습니다.
또한, 이동평균선(MA20, MA60)을 적용해 단기·장기 추세 분석까지 진행했습니다.
2. 미국 주식 시장 구조 이해
2.1 주요 거래소
| 거래소 | 약자 | 특징 |
| 뉴욕증권거래소 | NYSE | 전통 대기업 다수, 시총 상위 종목 중심 |
| 나스닥 | NASDAQ | IT·성장주 중심, 기술기업 비중 높음 |
| 아멕스 | AMEX | 소규모·특수상품, ETF 상장 활발 |
2.2 주요 지수(Index)
- S&P 500 (^GSPC): 미국 대형주 500종목
- NASDAQ 100 (^IXIC): 나스닥 상위 100개 비금융 종목
- 다우존스 산업평균 (^DJI): 전통 대기업 30종목
3. 데이터 수집 실습 (Colab)
3.1 기술주 4종 종가 비교
import yfinance as yf
import matplotlib.pyplot as plt
# 분석할 종목
tickers = ['AAPL', 'MSFT', 'TSLA', 'AMZN']
# 최근 1년 종가 데이터
df = yf.download(tickers, period="1y")['Close']
# 그래프 그리기
plt.figure(figsize=(12,6))
for ticker in tickers:
plt.plot(df.index, df[ticker], label=ticker)
plt.title('Tech Stocks Close Price - 1Y')
plt.xlabel('Date')
plt.ylabel('Price (USD)')
plt.legend()
plt.grid(True)
plt.show()
📌 해석
- MSFT: 비교적 안정적인 우상향
- TSLA: 변동성 크고 급등락 빈번
- AAPL·AMZN: 완만한 변동, 장기 보유 적합 가능성

3.2 미국 주요 지수 비교
index_tickers = ['^GSPC', '^IXIC', '^DJI']
df_index = yf.download(index_tickers, period="1y")['Close']
plt.figure(figsize=(12,6))
for ticker in index_tickers:
plt.plot(df_index.index, df_index[ticker], label=ticker)
plt.title('Major US Indexes - 1Y')
plt.xlabel('Date')
plt.ylabel('Index Value')
plt.legend()
plt.grid(True)
plt.show()
📌 해석
- 2025년 3월 전후 모든 지수 하락 → 거시경제 요인 가능성
- S&P500과 NASDAQ의 변동성 차이가 기술주 비중에서 기인

4. 이동평균선(MA20, MA60) 분석
4.1 코드
ma_periods = [20, 60]
ma_df = df.copy()
for period in ma_periods:
for ticker in tickers:
ma_df[(ticker, f"MA{period}")] = df[ticker].rolling(period).mean()
plt.figure(figsize=(14,10))
for i, ticker in enumerate(tickers):
plt.subplot(2, 2, i+1)
plt.plot(df.index, df[ticker], label=f"{ticker} Close")
plt.plot(ma_df.index, ma_df[(ticker, "MA20")], label="MA20", linestyle='--')
plt.plot(ma_df.index, ma_df[(ticker, "MA60")], label="MA60", linestyle='-.')
plt.title(f"{ticker} - Close with MA20 & MA60")
plt.xlabel('Date')
plt.ylabel('Price (USD)')
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()

4.2 해석
- Golden Cross: 단기선(MA20)이 장기선(MA60) 상향 돌파 → 상승 신호 가능성
- Death Cross: 단기선이 장기선 하향 돌파 → 하락 신호 가능성
- TSLA: 변동성 가장 크고, 교차가 잦음 → 단기 매매 기회 많음
- MSFT: 추세가 길게 유지 → 안정적 상승 흐름
- AAPL·AMZN: 중간 수준의 변동성과 추세 전환 패턴
5. 결과 저장 (Google Drive)
from google.colab import drive
drive.mount('/content/drive')
plt.savefig('/content/drive/MyDrive/Quant/tech_stocks_1y.png', dpi=150, bbox_inches='tight')
plt.savefig('/content/drive/MyDrive/Quant/indexes_1y.png', dpi=150, bbox_inches='tight')
- 생성된 그래프를 Google Drive Quant 폴더에 저장 → 공공 PC에서도 자료 보관 가능
6. 이번 주차 핵심 포인트
- 여러 종목/지수 데이터를 한 번에 수집 가능
- 시각화로 종목별·시장별 특성 비교
- 이동평균선 적용으로 추세와 변동성 한눈에 파악
- 저장 자동화로 학습 자료 관리 용이
📌 다음 단계:
이동평균선 전략을 이용한 매수·매도 시그널 생성 및 백테스트로 전략의 수익률과 위험도를 검증합니다.
반응형
'컴퓨터 활용 > 노년에 즐기는 코딩' 카테고리의 다른 글
| Inno Setup 이용 VC++ 런타임 포함형 VirtualBox 설치파일 만들기 (6) | 2025.08.19 |
|---|---|
| simadang.kr이 AdSense 승인 (0) | 2025.08.18 |
| Django + MySQL 웹서비스 개발 (3) | 2025.08.16 |
| MySQL 데이터베이스 백업 (7) | 2025.08.13 |
| “브랜치 운용 규칙 + 커밋/릴리스 체계”를 실전용으로 정리 (8) | 2025.08.12 |
댓글