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(왼쪽 테이블)과wells를date_time열 기준으로 병합하세요. 이때 가장 가까운 시간의 행끼리 매칭되도록 하고,suffixes=('', '_wells')로 설정합니다. 결과를jpm_wells에 저장하세요.merge_asof()를 사용하여jpm_wells(왼쪽 테이블)과bac를date_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()