【问题标题】:How to pull stock data for every stock on a given exchange [closed]如何为给定交易所的每只股票提取股票数据[关闭]
【发布时间】:2015-10-27 12:54:06
【问题描述】:

我正在使用 pandas 来提取股票数据。例如,下面的代码基本上是从网上找到的示例中提取的,运行良好。

我想做的是分析给定交易所上市的每只股票的价格数据。例如,在下面的代码中,理想情况下,名为“股票”的列表将填充来自纽约证券交易所的每个股票代码的代码。我找到了可以提取标准普尔 500 指数所有组成部分的股票代码的地方,但没有地方可以提取给定交易所的每只股票的股票代码。我认为它一定存在于某个地方——希望在熊猫已经很好玩的地方。非常感谢任何提示/建议。

import pandas.io.data as web
import datetime

start = datetime.datetime(2010,1,1)
end = datetime.datetime(2015,10,26)


stocks = ['F','IBM', 'WDC']
g=web.DataReader(stocks, 'yahoo', start, end)

h = g['Close']

# h contains the closing prices of every element of stocks
# for the time span from start to end 

【问题讨论】:

标签: python pandas finance stocks


【解决方案1】:

要获取美国市场的代码列表,您可以使用:

# NYSE
url_nyse = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download"
# Nasdaq
url_nasdaq = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download"
# AMEX
url_amex = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=amex&render=download"

import pandas as pd

df = pd.DataFrame.from_csv(url_nyse)
stocks = df.index.tolist()

【讨论】:

  • 那些成功了。非常感谢!只需进行一次小的编辑,我必须将您的 df.index.to_list() 行更改为 df.index.tolist() 才能使其正常工作。轻松修复。
  • 不客气!你对 tolist() 函数的错字是正确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
  • 1970-01-01
  • 2013-01-04
相关资源
最近更新 更多