ดึงข้อมูลของบริษัทการเงิน 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'].____().____()