시작하기무료로 시작하기

merge_asof()로 주가 분석하기

주식 시장 가격을 기록하는 피드가 있습니다. 5분마다 가격을 추적하려 하지만, 네트워크 지연으로 인해 실제 기록 간격은 약 5분 정도입니다. JP Morgan(JPM), Wells Fargo(WFC), Bank Of America(BAC), 세 은행의 가격 로그를 가져왔습니다. 나머지 두 은행의 가격 변동을 JP Morgan과 비교하려면, 세 로그를 하나의 테이블로 병합해야 합니다. 그런 다음 pandas.diff() 메소드로 시간에 따른 가격 변동을 계산하고, 마지막으로 분석 결과를 그래프로 시각화합니다.

세 개의 로그 파일은 jpm, wells, bac라는 테이블로 미리 불러와져 있습니다.

이 연습은 강의의 일부입니다

pandas로 데이터 조인하기

강의 보기

연습 안내

  • merge_asof()를 사용하여 jpm(왼쪽 테이블)과 wellsdate_time 열 기준으로 병합하세요. 이때 가장 가까운 시간의 행끼리 매칭되도록 하고, suffixes=('', '_wells')로 설정합니다. 결과를 jpm_wells에 저장하세요.
  • merge_asof()를 사용하여 jpm_wells(왼쪽 테이블)과 bacdate_time 열 기준으로 병합하세요. 이때 가장 가까운 시간의 행끼리 매칭되도록 하고, suffixes=('_jpm', '_bac')로 설정합니다. 결과를 jpm_wells_bac에 저장하세요.
  • price_diffs에서 close_jpm, close_wells, close_bac의 종가를 그래프로 시각화하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Use merge_asof() to merge jpm and wells
jpm_wells = ____


# Use merge_asof() to merge jpm_wells and bac
jpm_wells_bac = ____


# Compute price diff
price_diffs = jpm_wells_bac.diff()

# Plot the price diff of the close of jpm, wells and bac only
price_diffs.plot(y=[____, ____, ____])
plt.show()
코드 편집 및 실행