2017-02-24 1 views
2

목록은 다음과 같습니다Pandas-Datareader에서 파싱 된 증권을 원래 순서대로 만드는 방법은 무엇입니까? 내 유가 증권의

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

내가 형용사를 추출 팬더 DataReader를 호출합니다. 각 가까운, 나는 모든 시세는 알파벳 순서로 분석된다 dataframe를 얻을 : 내가 나중에 곱셈을 위해 정의 된 목록 tickers 같이 시세의 원래 순서대로 정렬 된 dataframe을 얻을 수 있도록

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 
관련 문제