inflearn logo
강의

講義

知識共有

Pythonアルゴリズムトレーディング パート2: Interactive Brokers APIを活用したリアルタイムアルゴリズムトレーディング

sp500 데이타 가져올 때 문제가 있어요

解決済みの質問

368

jacobha0717

投稿した質問数 4

1

안녕하세요. 추가 질문 드립니다.

 

sp500 데이타 가져오는 부분에서 오류가 나서 그런지 그래프가 안그려지네요.

아마 강의 당시와 지금(2024.2)과 환경 차이가 있어서 그런지 잘 모르겠습니다.

data_1d 값을 어떠한 예외 처리를 해야 하는지 문의 드립니다.

image.png

 

image.png

 

image.png

감사합니다.

python 객체지향 퀀트

回答 3

0

jacobha0717

네, 이 문제 잘 해결했습니다.
그런데, 그 다음에서도 계속 오류들이 발생하네요. 전반적으로 최초 생성 시와 지금 실행 간의 차이가 좀 있는 듯 합니다.

아무튼, 한단계씩 진행하며 재미를 느낍니다. 감사합니다.

0

danielyouk

안녕하세요, jacob님!

답변이 늦어져서 죄송합니다. daily로 run되는 kaggle 노트북의 최근 log 기록을 보니 대략 6일 정도 전부터 문제가 발생된 걸 확인했습니다.

yfinance를 version 지정 없이 가장 최근 버전으로 설치하시면 문제가 해결됩니다.

또한 'Adj Close'가 아닌 'Close' 행을 선택해야 문제 없이 데이터가 필요한 형태로 load되는 것을 확인하였습니다.

원인을 생각해보면 yf api가 접근하는 raw data의 format이 변경이 된 것으로 보이고 기존 yfinance version인 0.2.36은 작동하지 않는 것으로 보입니다.

 

requirements.txt를 수정하시거나 기존 conda 환경에 yfinance를 최근 버전으로 재설치하시는 것을 추천드립니다. 관련해서 강의 자료를 수정하도록 하겠습니다.

 

감사합니다.

다니엘 드림

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

jacob.ha님, S&P 500 데이터를 가져올 때 발생하는 문제에 대해 불편을 드려 죄송합니다. 말씀하신 “Expecting value: line 1 column 1 (char 0)” 오류는 데이터 소스에서 데이터를 가져오지 못할 때 발생할 수 있으며, 여러 가지 원인으로 인해 발생할 수 있습니다. 다음 몇 가지 사항들을 확인해보세요:

  1. 라이브러리 업데이트: 사용하는 yfinance 라이브러리 버전을 확인하고 최신 버전으로 업데이트 해보세요. pip install --upgrade yfinance를 통해 업데이트할 수 있습니다.

  2. 티커 심볼 확인: 사용하는 티커 심볼이 유효한지 확인하세요. 잘못된 티커 심볼은 데이터를 불러오는 데 문제를 일으킬 수 있습니다.

  3. API 제한 사항: API 제공자의 서비스 제한(요청 수 제한 등)을 확인하세요. 많은 양의 데이터를 한 번에 요청할 경우 제한에 막힐 수 있습니다.

  4. 연결 문제: 네트워크 연결 상태가 정상인지 확인하세요. 네트워크 문제로 인해 데이터 요청이 실패할 수 있습니다.

  5. 로그 사용: 데이터 요청 시 발생하는 응답을 잘 로그에 기록하여, 구체적인 오류 메시지를 확보하고 분석하는 데 도움이 될 수 있습니다. try-except 블록을 활용하여 오류 발생 시 메시지를 출력해 보세요.

예외 처리 부분에서는 다음과 같은 구조로 시도할 수 있습니다:

import yfinance as yf

tickers = ["AAPL", "GOOG", "INVALID_TICKER"]  # 예제 티커 리스트

for ticker in tickers:
    try:
        data = yf.download(ticker, period="26mo")
        if data.empty:
            print(f"No data found for {ticker}")
        else:
            print(f"Data for {ticker} downloaded successfully")
    except Exception as e:
        print(f"Error downloading data for {ticker}: {e}")

이 코드 예시는 데이터 다운로드 시 발생할 수 있는 오류를 잡아내고, 접근하는 티커에 대한 정보를 출력하도록 합니다. 이와 같이 오류를 처리하고, 각각의 티커에 대해 문제를 개별적으로 진단해 보시기 바랍니다.

궁금하신 점이 더 있으시다면 언제든지 문의해 주세요. 감사합니다!

imageURLs:
- https://cdn.inflearn.com/public/files/posts/e08cf517-210d-4373-a962-b9bdae35503e/72e2da96-da3e-4016-b751-3a43b406a76f.png
- https://cdn.inflearn.com/public/files/posts/f00ac611-b762-4d8c-bed3-d93f0308033b/a58f05b6-42ba-47fe-8940-f1ccb9b1e80f.png
- https://cdn.inflearn.com/public/files/posts/dea3dda7-5616-4c3d-95a4-40d7e68eb5ed/b8becb5c-5b39-4d86-a6e3-26dc9d83ab10.png

작업형 1 (삭제예정, 구 버전)

0

22

1

강의노트는 어디있나요?

0

9

0

노션 학습 자료 권한 요청

0

10

1

수강기간 연장 문의드립니다.

0

16

1

Singleton 관련 질문입니다.

1

25

2

2유형 레이블 인코딩 VS 원핫 인코딩

0

18

3

part2강의 문의사항입니다.

0

14

2

수강기간 연장 문의드립니다.

0

26

1

인덱스 슬라이싱

0

25

2

코드를 첨부해야하는 이유가 있나요?

0

20

2

코드 자료

0

21

2

주문 하는것도 강의내용에 잇나요

0

60

1

margin_init 수정필요한 것 아닌가요?

0

62

1

섹션4에서 실시간 거래 준비

0

98

1

섹션2에서 ib.connect() 연결

0

129

2

myenv-finance.yml 실행 시 오류

0

172

3

open position 설정

0

142

2

docker port

0

163

2

interactive brokers 로그인할 때 에러가 발생합니다.

1

357

2

타임시리즈 데이터 가져오기에서 에러원인이 무엇인가요?

0

207

2

환경세팅에서 막히네요....

0

261

1

api연결하기 영상이 재생이 안되네요

0

219

1

IBKR Desktop Global Configuration 설정

1

400

2

환경설정

1

277

1