始める無料で始める

最大のConsumer Services企業のティッカーを取得する

条件式でデータをインデックス指定する代わりに、.loc[row_selector, column_selector] で特定の値に基づいてフィルタリングすることもできます。さらに、.set_index() で一意の値を持つ特定の列をDataFrameのインデックスに設定できます。また、.idxmax() を使うと最大値のインデックスを返せます。

この演習では、これらの選択方法を使って、3つの取引所のいずれかに上場しているConsumer Services分野で最も価値の高い企業を見つけ、そのティッカーで株価の推移をプロットします。DataReaderdatepandaspdmatplotlib.pyplotplt としてインポート済みで、前の演習からの listings DataFrame も読み込まれています。

この演習はコースの一部です

Pythonでの金融データのインポートと管理

コースを見る

演習の手順

  • .set_index() を使って、listings のインデックスを 'Stock Symbol' 列に設定し、listings_ss に代入します。
  • .loc[] を使い、'Sector''Consumer Services' に等しい行をフィルタし、列 'Market Capitalization' を選択して .idxmax() を適用し、最大のConsumer Services企業のティッカーを ticker に代入します。
  • date() を使い、start を 2015年1月1日に設定します。
  • DataReader() を使って、start 以降の ticker の株価データを 'yahoo' から取得し、data に保存します。
  • data 内の 'close''volume' をプロットし、引数として secondary_y='volume'title=ticker を指定します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Set the index of listings to Stock Symbol
listings_ss = listings.____(____)

# Get ticker of the largest Consumer Services company
ticker = listings_ss.____[____, ____].____()

# Set the start date
start = ____

# Import the stock data
data = ____

# Plot close and volume
data[['close', 'volume']].plot(secondary_y=____, title=____)

# Show the plot
plt.show()
コードを編集して実行