開始使用免費開始

取得 3 家最大金融公司的資料

pd.MultiIndex() 物件每一列會有多個識別欄位。這讓你可以一次依多家公司的條件來取得資料。

現在把這項新技巧用在金融產業中規模最大的公司,抓取它們的股價。DataReaderdatepandas 作為 pdmatplotlib.pyplot 作為 plt 都已匯入,上一個練習的 listings DataFrame 也已載入。

本練習屬於課程

在 Python 中匯入與管理財務資料

檢視課程

練習說明

  • listings 的索引設為 'Stock Symbol',並指定給 listings_ss
  • 使用 .loc[] 篩選公司產業為 'Finance' 的列,並取出 'Market Capitalization' 欄位。套用 .nlargest(),將市值最大的 3 家公司指定給 top_3_companies
  • 將結果的索引轉為清單,指定給 top_3_tickers
  • 使用 date()start 設為 2015 年 1 月 1 日。
  • 使用 date()end 設為 2020 年 4 月 1 日。
  • 使用 DataReader(),自 start 起至 end,從 'iex' 取得 top_3_tickers 的股價資料,指定給 result
  • 套用 .stack() 方法,將代號移入索引,把 DataFrame 轉為長格式。
  • data 中選取 'close',套用 .unstack(),並用 .info() 檢視轉為寬格式後的 DataFrame。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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'].____().____()
編輯並執行程式碼