커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
2주차 숙제를 며칠간 고민하다가 간신히 이동평균선에 대한 그래프까지 생성하고
[왕초보] ChatGPT 300% 활용하기 v0
2주차
북마크
정*희
댓글
2
추천
0
조회수
34
조회수
34
답변 완료

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

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


결과값이 부족하지만 제출을 하긴 했는데요


"완벽한 코드를 생성하는 것이 아니라,


"ChatGPT에 원하는 결과가 나오도록 질문을 하는 것이 주 목적이다"라는 강사님 말씀에!!


갑자기 반짝 떠오르는 추가질문을 해봤더니


골든, 데드크로스까지 코드생성이 잘 되어 그래프가 생성되기는 했습니다


그런데

실행결과 하단에 ERROR라는 문구가 나옵니다

그래프도 잘 나온 것 같은데 어디 부분이 오류인가요?


====== ChatGPT 질문은 다음 순서로 진행하였습니다


1) finance data reader를 사용해서 최근 1년간의 녹십자의 주식 데이터를 가져오는 파이썬 코드를 만들어줘

  • 자꾸 없다거나 panda나 yahoo 로 코드를 제시하고 그 코드들은 실행해도 오류이거나 전혀 다른 형태의 그래프가 나왔습니다
  • 수차례 로그아웃, 재로그인을 반복한 후 포기할까... 하는 거의 마지막 시점에 그제서야 제대로 응답을 했습니다ㅠㅠ 원래 그런가요

2) 이 데이터로 20일 이동평균선과 60일 이동평균선을 그려주는 파이썬 코드를 만들어줘

3) 그 이동평균선에 골든크로스와 데드크로스를 표시하는 파이썬 코드를 만들어줘

  • 1)항이 해결되니 2)항은 쉬웠고 3)항만 원하는 결과를 얻기위해 질문을 여러차례 바꿔야 했습니다.


작성한 코드 및 에러 메세지

!pip inimport FinanceDataReader as fdr


import matplotlib.pyplot as plt


# 주식 코드 및 시작일, 종료일 설정
stock_code = '005250'  # 녹십자 주식 코드
start_date = '2022-01-01'
end_date = '2023-01-01'


# FinanceDataReader를 사용하여 주식 데이터 가져오기
stock_data = fdr.DataReader(stock_code, start_date, end_date)




# 이동평균 계산
stock_data['MA20'] = stock_data['Close'].rolling(window=20).mean()
stock_data['MA60'] = stock_data['Close'].rolling(window=60).mean()


# 골든크로스와 데드크로스 신호 계산
stock_data['GoldenCross'] = (stock_data['MA20'] > stock_data['MA60']) & (stock_data['MA20'].shift(1) <= stock_data['MA60'].shift(1))
stock_data['DeadCross'] = (stock_data['MA20'] < stock_data['MA60']) & (stock_data['MA20'].shift(1) >= stock_data['MA60'].shift(1))


# 그래프 그리기
plt.figure(figsize=(12, 6))
plt.plot(stock_data['Close'], label='주가', alpha=0.7)
plt.plot(stock_data['MA20'], label='20일 이동평균선', linestyle='--')
plt.plot(stock_data['MA60'], label='60일 이동평균선', linestyle='--')


# 골든크로스와 데드크로스 표시
plt.scatter(stock_data.index[stock_data['GoldenCross']], stock_data['MA20'][stock_data['GoldenCross']], marker='^', color='g', label='Golden Cross')
plt.scatter(stock_data.index[stock_data['DeadCross']], stock_data['MA20'][stock_data['DeadCross']], marker='v', color='r', label='Dead Cross')


# 그래프 스타일 및 범례 설정
plt.title('녹십자 주식가격 및 이동평균선 (1년간) with Golden Cross and Dead Cross')
plt.xlabel('날짜')
plt.ylabel('가격 (원)')
plt.legend()
plt.grid(True)
plt.show()


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