커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
같은 코드로 Google Colab창을 새로 열어서 실행하면 안됩니다.
[왕초보] ChatGPT 300% 활용하기 v0
2주차
북마크
박*순
댓글
3
추천
0
조회수
12
조회수
12
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.



만든 코드로 Google Colab창에서 처음에 실행하면 그래프가 생성이 되는데

새로운 Google Colab창을 열어서 같은 코드로 실행하면 안됩니다

한글로 작성한 글씨도 깨져서 나옵니다.



스파르타 즉문즉답




작성한 코드 및 에러 메세지

import requests

from bs4 import BeautifulSoup

import pandas as pd


# 현대자동차의 재무제표 페이지 URL

url = 'https://finance.naver.com/item/main.nhn?code=005380'


# 페이지 요청

response = requests.get(url)

html = response.text


# BeautifulSoup을 사용하여 HTML 파싱

soup = BeautifulSoup(html, 'html.parser')


# 재무제표 테이블 찾기

table = soup.find_all('table', {'class': 'tb_type1 tb_num tb_type1_ifrs'})


# 첫 번째 테이블이 재무제표 테이블임을 확인

financial_table = table[0]


# 테이블을 데이터프레임으로 변환

df = pd.read_html(str(financial_table))[0]


# 출력

print("현대자동차 재무제표:")

print(df)


import FinanceDataReader as fdr

import pandas as pd

import matplotlib.pyplot as plt


# 현대자동차 종목코드 가져오기

hyundai_code = "005380"


# 현재 날짜 기준으로 1년 전 날짜 계산

end_date = pd.Timestamp.now()

start_date = end_date - pd.DateOffset(years=1)


# 현대자동차 종가 데이터 가져오기

hyundai_close_data = fdr.DataReader(hyundai_code, start_date, end_date)['Close']


# 20일 이동평균선 계산

ma20 = hyundai_close_data.rolling(window=20).mean()

# 60일 이동평균선 계산

ma60 = hyundai_close_data.rolling(window=60).mean()


# 골드크로스와 데드크로스 판별

golden_cross = (ma20 > ma60) & (ma20.shift(1) < ma60.shift(1))

dead_cross = (ma20 < ma60) & (ma20.shift(1) > ma60.shift(1))


# 그래프 그리기

plt.figure(figsize=(10, 6))

plt.plot(hyundai_close_data.index, hyundai_close_data, label='Close', color='black')

plt.plot(ma20.index, ma20, label='20-Day MA', color='red')

plt.plot(ma60.index, ma60, label='60-Day MA', color='blue')


# 골드크로스와 데드크로스 표시

plt.plot(hyundai_close_data[golden_cross].index, hyundai_close_data[golden_cross], '^', markersize=10, color='g', lw=0, label='Golden Cross')

plt.plot(hyundai_close_data[dead_cross].index, hyundai_close_data[dead_cross], 'v', markersize=10, color='r', lw=0, label='Dead Cross')


plt.title('현대자동차 주식 가격 및 이동평균')

plt.xlabel('Date')

plt.ylabel('Price (KRW)')

plt.legend()

plt.grid(True)

plt.show()류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </>

스파르타 즉문즉답스파르타 즉문즉답

아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴