2016-06-01 5 views
1

나는 팬더 (그리고 일반적으로 코딩)에 익숙하지만, Yahoo Finance에서 주식 데이터를 가져 오는 것을 정말 좋아하고 있습니다.야후의 통화 및 거래소 이름

재고가 나열된 교환기의 이름 (예 : LSE, NYSE, AIM 등)은 물론 Yahoo가 주식을 보유하고있는 통화도 가져올 수 있는지 궁금한가요?

이 (나는 직장에서 다시 오늘 밤에있을 때 나는 약간 축 레이블을 추가하는 작업을 것입니다) 지금까지 내 코드입니다 :

import pandas as pd 
import sys 
import matplotlib 
import matplotlib.pyplot as plt 
import pandas_datareader.data as web 
print('Python version ' + sys.version) 
print('Pandas version ' + pd.__version__) 
print('Matplotlib version ' + matplotlib.__version__) 

symbols_list = ['ORCL', 'AAPL', 'TSLA'] 
d = {} 
for x in symbols_list: 
    d[x] = web.DataReader(x, "yahoo", '2012-12-01') 
ticker = pd.Panel(d) 
df1 = ticker.minor_xs('Adj Close') 
print df1 

fig = plt.figure() 
fig.suptitle("Stock Prices", fontsize=36, fontweight='bold') 

plt.plot(df1) 
plt.legend(ticker, loc='best', shadow=True, fontsize=36) 
plt.show() 

답변

0

나는 당신이 할 수있는 생각 read_csvlink, 필터 열 다음 concat에서 그들을 df. 그럼 당신은 maping에 대한 loc를 사용할 수 있습니다

import pandas as pd 
import sys 
import matplotlib 
import matplotlib.pyplot as plt 
import pandas_datareader.data as web 
print('Python version ' + sys.version) 
print('Pandas version ' + pd.__version__) 
print('Matplotlib version ' + matplotlib.__version__) 



df_NASDAQ = pd.read_csv('http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NASDAQ&render=download', 
         usecols=['Symbol', 'Name']) 
#print (df_NASDAQ.head()) 

df_NYSE = pd.read_csv('http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=NYSE&render=download', 
         usecols=['Symbol', 'Name']) 
#print (df_NYSE.head()) 

df_AMEX = pd.read_csv('http://www.nasdaq.com/screening/companies-by-industry.aspx?exchange=AMEX&render=download', 
         usecols=['Symbol', 'Name']) 
#print (df_AMEX.head()) 

df = pd.concat([df_NASDAQ, df_NYSE, df_AMEX]).set_index('Symbol') 
print (df.head()) 
              Name 
Symbol           
TFSC      1347 Capital Corp. 
TFSCR      1347 Capital Corp. 
TFSCU      1347 Capital Corp. 
TFSCW      1347 Capital Corp. 
PIH  1347 Property Insurance Holdings, Inc. 
symbols_list = ['ORCL', 'AAPL', 'TSLA'] 
d = {} 
for x in symbols_list: 
    print (x, df.loc[x, 'Name']) 
ORCL Oracle Corporation 
AAPL Apple Inc. 
TSLA Tesla Motors, Inc. 

    #d[ x ] = web.DataReader(x, "yahoo", '2012-12-01') 
    d[ df.loc[x, 'Name'] ] = web.DataReader(x, "yahoo", '2012-12-01') 
ticker = pd.Panel(d) 
df1 = ticker.minor_xs('Adj Close') 
print (df1.head()) 

fig = plt.figure() 
fig.suptitle("Stock Prices", fontsize=36, fontweight='bold') 

plt.plot(df1) 
plt.legend(ticker, loc='best', shadow=True, fontsize=36) 
plt.show() 
+0

나도 통화를 확인하려고 노력하지만, 항상 보인다 달러이다. – jezrael

+0

그리고 지금 나는 당신의 질문을 다시 읽으려고 노력하고 나는 그것을 올바르게 이해하는지 확신 할 수 없다. 그래서 대답을 확인하십시오. 그리고 뭔가 잘못되었을 때, 나는 그것을 repait하려고합니다. – jezrael

+0

아, 나는 영국에 기반을두고 있는데 어딘가에서 통화를 포함시킬 수 있다면 정말 유용 할 것입니다. 나는 계속 볼거야! 오늘 밤에 귀하의 솔루션을 점검하여 어딘가에 거래소를 개설 할 것입니다 - NYSE/NASDAQ/AMEX에 열거 된 사람들 만 표시 할 것으로 보이지만 LSE/AIM 관련 데이터를 가져 오기 위해 작성한 코드를 편집 할 수 있습니다. 너무. 답장을 보내 주셔서 감사합니다! – Andy