2017-02-24 3 views
2

一覧は以下のとおりです。Pandas-Datareaderで分析された証券を元の順序で注文する方法は?私の有価証券の

tickers = ['TLW.L','WEIR.L','RMG.L','TSCO.L','STAN.L','CNA.L'] 

私はADJを抽出するために、パンダのDataReaderを呼び出すとき。それぞれの近くに、私はすべてのティッカーをアルファベット順に解析されるデータフレームを取得する:私は、後に乗算するために定義されたリストtickersのようにティッカーの元の順序でソートされたデータフレームを取得するため

hist_prices = web.DataReader(tickers, 'yahoo', start, today)['Adj Close'] 
hist_prices.head() 

      CNA.L RMG.L STAN.L TLW.L TSCO.L WEIR.L 
Date       
2016-01-04 200.185 417.352 541.7 170.1 142.25 920.617 
2016-01-05 202.733 417.543 532.3 164.4 144.40 897.940 
2016-01-06 201.600 423.082 515.6 152.7 141.55 876.227 
2016-01-07 198.391 418.880 505.8 150.0 139.20 842.452 
2016-01-08 196.126 419.644 505.5 138.9 146.90 823.152 

ことが重要です集計値を取得し、以降のポートフォリオ分析を行うために

n_shares = [1000000, 200000, 1500000, 500000, 2000000, 1500000] 

:ポートフォリオに保有する株式の数に対応することにより、それぞれの価格。

私は元の(アルファベットではない)状態で資産を解析するためにドキュメントを検索しましたが、解決策を見つけることができませんでした。

私は忘れずに手動で乗算を行うことができますが、たとえば100個のアセットのリストがあればそれは実現しにくいでしょう。

私は元の状態でティッカーを解析するのに役立ちますか、より良い代替ソリューションがある場合は、私はそれを聞いてみたいです!

ありがとうございます!

答えて

2

あなたが所望の順序であなたの列を選択するために、tickersリストを使用することができますと同じloc

In [6]: from pandas_datareader import data as web 

In [7]: hist_prices = web.DataReader(tickers, 'yahoo', '2016-01-01', '2016-01-08') \ 
         .loc['Adj Close'] \ 
         [tickers] # <------- NOTE 

In [8]: hist_prices 
Out[8]: 
      TLW.L WEIR.L RMG.L TSCO.L STAN.L CNA.L 
Date 
2016-01-04 170.1 920.617 417.352 142.25 541.7 200.185 
2016-01-05 164.4 897.940 417.543 144.40 532.3 202.733 
2016-01-06 152.7 876.227 423.082 141.55 515.6 201.600 
2016-01-07 150.0 842.452 418.880 139.20 505.8 198.391 
2016-01-08 138.9 823.152 419.644 146.90 505.5 196.126 
1

使用tickers'Adj Close'

hist_prices = web.DataReader(
    tickers, 'yahoo', '2016-01-01', '2016-01-08' 
).loc['Adj Close', :, tickers] 

hist_prices.head() 

      TLW.L WEIR.L RMG.L TSCO.L STAN.L CNA.L 
Date               
2016-01-04 170.1 920.617 417.352 142.25 541.7 200.185 
2016-01-05 164.4 897.940 417.543 144.40 532.3 202.733 
2016-01-06 152.7 876.227 423.082 141.55 515.6 201.600 
2016-01-07 150.0 842.452 418.880 139.20 505.8 198.391 
2016-01-08 138.9 823.152 419.644 146.90 505.5 196.126 
関連する問題