인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

배승혁님의 프로필 이미지
배승혁

작성한 질문수

(2024년) 파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석

페어 트레이딩을 위한 고상관 주식 조합 도출

PairsTrading_EDA 실습 과정중 오류가 발생합니다.

해결된 질문

작성

·

97

1

실습중에 오류가 발생하여 질문드립니다.

아래 이미지 캡쳐하였습니다.

 

image.png

 

image.png

 

답변 2

1

배승혁님의 프로필 이미지
배승혁
질문자

(문제원인) tz 타입 불일치

data_1d의 index 'Date'의 시간타입과 pydatetime의 시간타입이 불일치(비교불가)

(시간타입) tz-aware/tz-naive 정의

tz-aware: 시간대 정보가 포함된 날짜 및 시간 객체

  • 2024-09-19 23:59:59.595457+0200

tz-naive: 시간대 정보가 없는 날짜 및 시간 객체

  • 2024-09-19 23:59:59

(해결방안) 타입 일치 시키기

# data_1d.index = data_1d.index.to_pydatetime()

# data_1d.index = data_1d.index.tz_localize(None)


혹시 저와 같은 문제 발생시 참고하시면 좋겠습니다.

 

 

다니엘님의 프로필 이미지
다니엘
지식공유자

승혁님! Welcome to the real world.

지금 하시고 계신 방법이 진정한 학습 방법입니다. 그리고 현실 세계에서도 기존 작동하던 코드에서 에러가 나는 상황은 너무도 빈번하구요.

 

강의자로서 완벽히 agile하기는 어렵지만 여러 개선 사항들을 정리해 두었다가 한 번씩 정기적인 업데이트를 하도록 하겠습니다.

 

다시 한 번 감사드립니다.

다니엘 드림

 

0

다니엘님의 프로필 이미지
다니엘
지식공유자

안녕하세요! 승혁님!

캡처해 주신 내용을 보니, 원인은 다양하게 있을 것 같은데, 우선적으로 가장 의심이 되는 부분은

pandas의 새로운 버전에서 pd.DateOffset이 datetime object와 호환이 안 되는 상황이 있을 수 있을 것 같습니다.

 

그래서 제가 제안을 드리는 상황은 아래의 2가지입니다.

  1. 1:1 세션을 통해서 해결할 수 있습니다. 저는 현재 클라이언트 시각에 맞추어서 한국 시각 밤 12부터 일하고 있으니 그 전에 미팅 시각을 잡으면 도와 드릴 수 있을 것 같습니다.

     

  2. 승혁님께서 직접 한 번 Trouble Shooting을 해 보시는 것을 추천 드립니다. 말씀 드린 것처럼, pandas나 yfinance가 계속 Version Up되고 있기 때문에 기존에 작동하던 코드가 작동이 안 될 수도 있고, 이 것은 현업에서도 많이 겪게 되는 상황입니다. 그렇기 때문에 conda environment를 통하거나 Docker 또는 여러 unit test 방법들이 있습니다. 우리의 본론으로 가면 스스로 트러블 슛팅을 하는 과정 속에서 배워지는 것들이 있을 겁니다. 제가 제안을 좀 드리면, 우선 아래와 같이 Index의 type을 확인하신 후에

     

    data_1d.info()
    
    <class 'pandas.core.frame.DataFrame'>
    DatetimeIndex: 544 entries, 2022-07-11 to 2024-09-06
    Columns: 471 entries, A to ZTS
    dtypes: float64(471)
    memory usage: 2.0 MB

    필요한 경우에 data_1d의 index의 type을 변환하시면 될 것 같습니다.

# convert pandas timestamp to datetime
data_1d.index = data_1d.index.to_pydatetime()

하지만 말씀 드린 것처럼, 언제든지 1:1 세션이 가능하니, 부담 갖지 마시고 연락 주세요.

감사합니다.

다니엘 드림

배승혁님의 프로필 이미지
배승혁
질문자

친절하고 자세한 답변 감사드립니다. 제안주신 사항중에 두번째안으로 직접 트러블 슈팅을 해보겠습니다. 충분히 고민해보고 해결이 안된다면 그때 1:1 세션을 진행하겠습니다.

 

cf. part3 강의는 언제 개설이 될까요?? ㅎㅎ

다니엘님의 프로필 이미지
다니엘
지식공유자

안녕하세요 승혁님!

강의에 관심을 가져주셔서 감사합니다. 파트 3 강의가 많이 지연이 되었죠?

현재 인프런에 강의를 제출했습니다. 내부 검토를 거쳐 이번 주 말이나 다음주 초 정도에 개설이 될 것 같습니다.

 

감사합니다.

다니엘 드림

배승혁님의 프로필 이미지
배승혁

작성한 질문수

질문하기