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

ดึงข้อมูลของบริษัทการเงิน 3 อันดับแรกที่มีขนาดใหญ่ที่สุด

ออบเจกต์ pd.MultiIndex() มีตัวระบุมากกว่าหนึ่งตัวต่อแถว ซึ่งช่วยให้สามารถดึงข้อมูลของหลายบริษัทพร้อมกันโดยอิงจากเงื่อนไขต่าง ๆ ได้

มาลองนำทักษะนี้ไปใช้เพื่อดึงราคาหุ้นของบริษัทที่มีขนาดใหญ่ที่สุดในภาคการเงินกัน โดย DataReader, date, pandas ในชื่อ pd และ matplotlib.pyplot ในชื่อ plt ได้ถูก import ไว้แล้ว รวมถึง DataFrame listings จากแบบฝึกหัดที่แล้วด้วย

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

การนำเข้าและจัดการข้อมูลทางการเงินใน Python

ดูคอร์ส

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

  • กำหนด 'Stock Symbol' เป็น index ของ listings แล้วกำหนดผลลัพธ์ให้กับ listings_ss
  • ใช้ .loc[] เพื่อกรองแถวที่ภาคธุรกิจของบริษัทเป็น 'Finance' และดึงคอลัมน์ 'Market Capitalization' จากนั้นใช้ .nlargest() เพื่อกำหนดบริษัทที่มีมูลค่าตลาดสูงสุด 3 อันดับแรกไว้ใน top_3_companies
  • แปลง index ของผลลัพธ์ให้เป็น list แล้วกำหนดให้กับ top_3_tickers
  • ใช้ date() เพื่อกำหนด start เป็นวันที่ 1 มกราคม 2015
  • ใช้ date() เพื่อกำหนด end เป็นวันที่ 1 เมษายน 2020
  • ใช้ DataReader() เพื่อดึงข้อมูลหุ้นของ top_3_tickers จาก 'iex' ในช่วง start ถึง end แล้วกำหนดให้กับ result
  • ใช้เมธอด .stack() เพื่อแปลง DataFrame ให้อยู่ในรูปแบบ long format โดยย้าย ticker เข้าไปใน index
  • เลือก 'close' จาก data แล้วใช้ .unstack() จากนั้นตรวจสอบ DataFrame ที่ได้ซึ่งอยู่ในรูปแบบ wide format ด้วย .info()

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

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

# Set Stock Symbol as the index
listings_ss = listings.____

# Get ticker of 3 largest finance companies
top_3_companies = listings_ss.loc[____].____(n=____)

# Convert index to list
top_3_tickers = top_3_companies.____.____()

# Set start date
start = ____

# Set end date
end = ____

# Import stock data
result = ____

# Apply stack method 
data = ____

# Unstack and inspect result
data['close'].____().____()
แก้ไขและรันโค้ด