inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Xây dựng hệ thống AI tự động phân tích chứng khoán Mỹ bằng Vibe Coding với Claude Code

📈 2-2: Xu hướng SPY — Phép màu của đường 200 ngày & Breadth & Cảm biến Lãi suất/Tín dụng

Breadth MMFI 404 에러

Đã giải quyết

39

AiwkBon

5 câu hỏi đã được viết

0

안녕하세요 Part 2 프롬프트 5번에서 MMFI 지표 바탕으로 Breadth 관련 지표를 두고 있는데, 404에러가 확인됩니다. (강사님 코드로도)

 

_breadth_signal 메서드를 추가해줘.
yfinance로 ^MMFI(NYSE 50일 MA 위 종목 비율)를 3개월치 가져와서:
- 70% 이상: risk_on
- 50~70%: neutral
- 30~50%: risk_off
- 30% 미만: crisis
데이터 수집 실패 시 {'breadth_pct': None, 'breadth_regime': 'neutral'} 반환.
logger.debug로 에러 로깅하되 시스템은 멈추지 않도록 해줘.

 

다른 대체 지표를 두고 해야할 것 같은데, 어떤게 좋을까요?

 

 

HTML/CSS python 머신러닝 인공지능(ai) 바이브코딩

Câu trả lời 1

0

skysungsisi0926

수강 감사합니다!

아래 부분한번 고려해주시겠나요!

 

방법 1: RSP/SPY 비율 (가장 쉬움)

def breadthsignal(self):

"""RSP(Equal Weight) / SPY 비율로 breadth 대체"""

try:

data = yf.download(['RSP', 'SPY'], period='3mo')['Close']

ratio = (data['RSP'] / data['SPY']).dropna()

current = ratio.iloc[-1]

avg = ratio.rolling(50).mean().iloc[-1]

# RSP/SPY > 평균: 소형주 강세 = breadth 좋음

pct = (current / avg - 1) * 100

if pct > 2: regime = 'risk_on'

elif pct > 0: regime = 'neutral'

elif pct > -2: regime = 'risk_off'

else: regime = 'crisis'

return {'breadth_pct': round(float(pct), 1), 'breadth_regime': regime}

except:

return {'breadth_pct': None, 'breadth_regime': 'neutral'}

방법 2: 직접 계산 (정확도 높음)

def breadthsignal(self):

"""S&P500 종목 중 50일선 위 비율 직접 계산"""

try:

import pandas as pd

sp500 = pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')[0]

tickers = sp500['Symbol'].tolist()[:100] # 상위 100개만 (속도)

data = yf.download(tickers, period='3mo')['Close']

above_50ma = 0

total = 0

for col in data.columns:

series = data[col].dropna()

if len(series) >= 50:

ma50 = series.rolling(50).mean().iloc[-1]

if series.iloc[-1] > ma50:

above_50ma += 1

total += 1

pct = (above_50ma / total * 100) if total > 0 else 50

# ^MMFI와 동일한 기준

if pct >= 70: regime = 'risk_on'

elif pct >= 50: regime = 'neutral'

elif pct >= 30: regime = 'risk_off'

else: regime = 'crisis'

return {'breadth_pct': round(pct, 1), 'breadth_regime': regime}

except:

return {'breadth_pct': None, 'breadth_regime': 'neutral'}

추천: 방법 1 (RSP/SPY 비율) — 코드 3줄이면 되고, ^MMFI와 같은 의미(시장 참여 폭)를 캡처합니다.

카드 뉴스 만들기..

0

9

0

기존 mcp를 플러그인으로 대체

0

11

1

바이브코딩을 하는 개발자(작업복잡도 판단의 어려움)

0

12

1

커서에서 클로드 코드 실행했는데 쉬프트 +엔터가 안먹히는데요.

0

9

1

claw code 에 대해서는 어떻게 생각하시나요?!

0

17

1

비개발자용 리서치나 논문검색 프로젝트 요청

0

13

1

Node 관련 질문입니다

0

9

2

커밋 명령에 대한 플랜모드 미적용

0

18

2

prd.md 관련

0

18

3

하네스 강의 관련

0

30

2

시니어 리뷰 모드

0

20

1

질문 드립니다.

0

30

2

갑자기 크루드가 실행이 안됩니다.

0

28

2

퍼플렉시티 최소 결제단위 50달러로 바뀐 것 같습니다.

0

29

2

claude plugin 방법 자세히 부탁드려요

0

33

2

파트3 13F부분도 짤린거같은데 확인해주세요

0

32

2

Gemini로 진행가능 여부 궁금합니다.

0

54

2

프롬프트 11 진행 완료

0

36

2

파트3 수급 부분

0

37

2

claude cowork에서 작업하는거와 차이는?

0

31

2

해당 프로젝트 깃헙 주소도 공유해주시나요?!

0

48

4

노션 문의

0

48

2

노션 주소 알려주세요

0

82

7

섹터4에서 끝나는건가요?

0

38

2