Gộp chuỗi thời gian với các ngày khác nhau
Thị trường cổ phiếu và trái phiếu ở Mỹ đóng cửa vào các ngày khác nhau. Ví dụ, thị trường trái phiếu nghỉ vào Ngày Columbus (khoảng 12/10) và Ngày Cựu chiến binh (khoảng 11/11), nhưng thị trường cổ phiếu vẫn mở cửa các ngày đó. Một cách để xem những ngày thị trường cổ phiếu mở còn thị trường trái phiếu đóng là chuyển cả hai chỉ mục ngày thành tập hợp (set) và lấy phần hiệu giữa các tập hợp.
Phương thức .join() của pandas là công cụ tiện lợi để gộp hai DataFrame cổ phiếu và trái phiếu theo các ngày mà cả hai thị trường đều mở.
Giá cổ phiếu và lợi suất trái phiếu Chính phủ Mỹ kỳ hạn 10 năm, được tải xuống từ FRED, đã được nạp sẵn trong các DataFrame stocks và bonds.
Bài tập này là một phần của khóa học
Phân tích chuỗi thời gian với Python
Hướng dẫn bài tập
- Chuyển các ngày trong
stocks.indexvàbonds.indexthành các tập hợp (set). - Lấy hiệu giữa tập hợp cổ phiếu trừ đi tập hợp trái phiếu để có những ngày thị trường cổ phiếu có dữ liệu còn thị trường trái phiếu thì không.
- Gộp hai DataFrame thành một DataFrame mới,
stocks_and_bonds, bằng phương thức.join()với cú phápdf1.join(df2).- Để lấy giao của các ngày, dùng đối số
how='inner'.
- Để lấy giao của các ngày, dùng đối số
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Import pandas
import pandas as pd
# Convert the stock index and bond index into sets
set_stock_dates = set(stocks.index)
set_bond_dates = set(___)
# Take the difference between the sets and print
print(set_stock_dates - ___)
# Merge stocks and bonds DataFrames using join()
stocks_and_bonds = ___