เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การ Merge Time Series ที่มีวันที่ต่างกัน

ตลาดหุ้นและตลาดพันธบัตรในสหรัฐฯ ปิดทำการในวันที่แตกต่างกัน ตัวอย่างเช่น แม้ว่าตลาดพันธบัตรจะปิดทำการในวัน Columbus Day (ประมาณ 12 ต.ค.) และวัน Veterans Day (ประมาณ 11 พ.ย.) แต่ตลาดหุ้นยังคงเปิดทำการตามปกติในวันเหล่านั้น วิธีหนึ่งในการดูว่าตลาดหุ้นเปิดแต่ตลาดพันธบัตรปิดในวันใดบ้าง คือการแปลง index ของวันที่ทั้งสองชุดให้เป็น set แล้วหาผลต่างระหว่างกัน

เมธอด .join() ของ pandas เป็นเครื่องมือที่ใช้งานง่ายสำหรับการ merge DataFrame ของหุ้นและพันธบัตรเฉพาะวันที่ตลาดทั้งสองเปิดทำการพร้อมกัน

ราคาหุ้นและอัตราผลตอบแทนพันธบัตรรัฐบาลสหรัฐฯ อายุ 10 ปี ซึ่งดาวน์โหลดมาจาก FRED ถูกโหลดไว้แล้วใน DataFrame stocks และ bonds

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์อนุกรมเวลาด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • แปลงวันที่ใน stocks.index และ bonds.index ให้เป็น set
  • หาผลต่างของ set หุ้นลบด้วย set พันธบัตร เพื่อดูว่าวันใดที่ตลาดหุ้นมีข้อมูลแต่ตลาดพันธบัตรไม่มี
  • Merge สอง DataFrame ให้เป็น DataFrame ใหม่ชื่อ stocks_and_bonds โดยใช้เมธอด .join() ซึ่งมีรูปแบบการใช้งานคือ df1.join(df2)
    • เพื่อให้ได้เฉพาะวันที่ที่ตรงกันทั้งสองชุด ให้ใช้อาร์กิวเมนต์ how='inner'

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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 = ___
แก้ไขและรันโค้ด