从python项目的API获取股票历史数据

从python项目的API获取股票历史数据,python,api,stock,historical-db,Python,Api,Stock,Historical Db,我正在做一个股票分析程序,但为此,我需要纽约证券交易所股票历史数据API 我到处都搜索过,但找不到有用的解决方案(即雅虎/谷歌财务API已关闭) 我尝试了Alpha Vantage API,但它似乎没有输出每个股票的收盘/开盘值 有没有其他方法可以让我无需直接从yahoo finance下载每只股票的.csv即可访问大众的历史数据 提前谢谢 您可以从准备好的数据集或其他网站获取股票数据 您可以在这里找到它: 或 试试看。它非常简单且易于使用,但您必须为某些库注册并获取API密钥 In [11]

我正在做一个股票分析程序,但为此,我需要纽约证券交易所股票历史数据API

我到处都搜索过,但找不到有用的解决方案(即雅虎/谷歌财务API已关闭)

我尝试了Alpha Vantage API,但它似乎没有输出每个股票的收盘/开盘值

有没有其他方法可以让我无需直接从yahoo finance下载每只股票的.csv即可访问大众的历史数据


提前谢谢

您可以从准备好的数据集或其他网站获取股票数据

您可以在这里找到它:

或 试试看。它非常简单且易于使用,但您必须为某些库注册并获取API密钥

In [11]: mydata = quandl.get('WFE/INDEXES_NYSE')

In [12]: mydata.head(5)
Out[12]: 
               Value
Date                
2016-01-31   9632.70
2016-02-29   9559.53
2016-03-31  10207.38
2016-04-30  10436.92
2016-05-31  10441.00
如果要指定日期范围,请使用以下命令

In [37]: quandl.get("WIKI/AMZN", start_date="2017-7-10", end_date="2018-7-10")
Out[37]: 
                Open       High      Low     ...       Adj. Low  Adj. Close  Adj. Volume
Date                                         ...                                        
2017-07-10   985.000   999.4392   983.50     ...         983.50     996.470    3462884.0
2017-07-11   993.000   995.9900   983.72     ...         983.72     994.130    2947479.0
2017-07-12  1000.650  1008.5500   998.10     ...         998.10    1006.510    3491988.0
2017-07-13  1004.620  1006.8800   995.90     ...         995.90     999.855    2864533.0
2017-07-14  1002.400  1004.4500   996.89     ...         996.89    1001.810    2066362.0
2017-07-17  1004.690  1014.7500  1003.81     ...        1003.81    1010.040    3636801.0
2017-07-18  1006.000  1026.0300  1004.00     ...        1004.00    1024.380    3957892.0
2017-07-19  1025.000  1031.5900  1022.50     ...        1022.50    1026.870    2936902.0
2017-07-20  1031.590  1034.9700  1022.52     ...        1022.52    1028.700    2964341.0
2017-07-21  1021.280  1026.1000  1011.00     ...        1011.00    1025.670    2677517.0
2017-07-24  1028.340  1043.0100  1027.43     ...        1027.43    1038.950    3212499.0
2017-07-25  1038.050  1043.3300  1032.48     ...        1032.48    1039.870    2432328.0
2017-07-26  1043.200  1053.2000  1043.20     ...        1043.20    1052.800    2828980.0
2017-07-27  1069.550  1083.3100  1040.18     ...        1040.18    1046.000    9905158.0
2017-07-28  1012.140  1032.8500  1001.00     ...        1001.00    1020.040    7624498.0
2017-07-31  1019.050  1019.0500   987.02     ...         987.02     987.780    7246638.0
2017-08-01   996.110  1006.4000   991.58     ...         991.58     996.190    4421395.0
2017-08-02  1001.770  1003.2100   981.73     ...         981.73     995.890    4017780.0
2017-08-03   999.470   999.5000   984.59     ...         984.59     986.920    3203134.0
2017-08-04   989.680   991.6720   982.00     ...         982.00     987.580    2704026.0
2017-08-08   994.350   996.2800   985.79     ...         985.79     989.840    2847527.0
2017-08-09   982.600   988.0000   975.27     ...         975.27     982.010    3434077.0
2017-08-10   976.295   979.8600   954.68     ...         954.68     956.920    5560388.0
2017-08-11   960.000   970.3900   951.38     ...         951.38     967.990    3431423.0
2017-08-14   978.410   985.5000   976.19     ...         976.19     983.300    3008007.0
2017-08-15   988.900   991.7400   982.00     ...         982.00     982.740    2513139.0
2017-08-16   981.650   986.4605   973.22     ...         973.22     978.180    3096051.0
2017-08-17   977.840   977.8400   960.32     ...         960.32     960.570    3396045.0
2017-08-18   961.400   965.4300   954.65     ...         954.65     958.470    3248677.0
2017-08-21   957.570   961.2000   945.46     ...         945.46     953.290    3008450.0
...              ...        ...      ...     ...            ...         ...          ...
2018-02-13  1385.930  1419.7200  1383.53     ...        1383.53    1414.510    5858860.0
2018-02-14  1406.250  1452.0600  1403.36     ...        1403.36    1451.050    5881238.0
2018-02-15  1466.890  1468.9400  1436.84     ...        1436.84    1461.760    5598111.0
2018-02-16  1457.370  1465.8000  1446.56     ...        1446.56    1448.690    4410879.0
2018-02-20  1446.490  1488.7700  1446.49     ...        1446.49    1468.350    6388374.0
2018-02-21  1485.000  1503.4900  1478.92     ...        1478.92    1482.920    6216694.0
2018-02-22  1495.360  1502.5400  1475.76     ...        1475.76    1484.760    4732555.0
2018-02-23  1495.340  1500.0000  1486.50     ...        1486.50    1500.000    4327008.0
2018-02-26  1509.200  1522.8400  1507.00     ...        1507.00    1521.950    4909053.0
2018-02-27  1524.500  1526.7800  1507.21     ...        1507.21    1511.980    4708378.0
2018-02-28  1519.510  1528.7000  1512.00     ...        1512.00    1512.450    4426580.0
2018-03-01  1513.600  1518.4900  1465.00     ...        1465.00    1493.450    6835230.0
2018-03-02  1469.100  1501.0500  1455.01     ...        1455.01    1500.250    6587564.0
2018-03-05  1494.240  1525.3800  1481.00     ...        1481.00    1523.610    5233934.0
2018-03-06  1533.200  1542.1300  1528.00     ...        1528.00    1537.640    4561718.0
2018-03-07  1526.520  1545.9000  1522.51     ...        1522.51    1545.000    4174123.0
2018-03-08  1550.000  1554.8800  1545.25     ...        1545.25    1551.860    3512528.0
2018-03-09  1563.500  1578.9400  1559.08     ...        1559.08    1578.890    4417059.0
2018-03-12  1592.600  1605.3300  1586.70     ...        1586.70    1598.390    5115886.0
2018-03-13  1615.960  1617.5400  1578.01     ...        1578.01    1588.180    6427066.0
2018-03-14  1597.000  1606.4400  1590.89     ...        1590.89    1591.000    4164395.0
2018-03-15  1595.000  1596.9100  1578.11     ...        1578.11    1582.320    4026744.0
2018-03-16  1583.450  1589.4400  1567.50     ...        1567.50    1571.680    5145054.0
2018-03-19  1554.530  1561.6600  1525.35     ...        1525.35    1544.930    6376619.0
2018-03-20  1550.340  1587.0000  1545.41     ...        1545.41    1586.510    4507049.0
2018-03-21  1586.450  1590.0000  1563.17     ...        1563.17    1581.860    4667291.0
2018-03-22  1565.470  1573.8500  1542.40     ...        1542.40    1544.100    6177737.0
2018-03-23  1539.010  1549.0200  1495.36     ...        1495.36    1495.560    7843966.0
2018-03-26  1530.000  1556.9900  1499.25     ...        1499.25    1555.860    5547618.0
2018-03-27  1572.400  1575.9600  1482.32     ...        1482.32    1497.050    6793279.0

[179 rows x 12 columns]

有很多服务。 例如,进行谷歌搜索:

支付

免费的


还可以查看这个

python yahoofinancials模块可以轻松地为您处理这个问题。除了每月、每日等历史股票数据外,它还可以为您获取雅虎财经上任何公司的所有基本财务数据(资产负债表、损益表、现金流量、比率等)

您可以使用pip install yahoofinancials安装它。它不依赖于封闭的Yahoo API,也不需要配置web驱动程序来工作。另外,不需要注册或API密钥。它通过散列每个yahoo finance网页中的数据存储对象来工作

您可以将单个股票/指数代码作为字符串传入,也可以将一组代码字符串传入,以便一次提取多个股票/指数。数据也很容易放入熊猫数据框架进行分析

$ pip install yahoofinancials
多股票代码拉取示例:

from yahoofinancials import YahooFinancials

tech_stocks = ['AAPL', 'MSFT', 'INTC']
bank_stocks = ['WFC', 'BAC', 'C']

yahoo_financials_tech = YahooFinancials(tech_stocks)
yahoo_financials_banks = YahooFinancials(bank_stocks)

tech_cash_flow_data_an = yahoo_financials_tech.get_financial_stmts('annual', 'cash')
bank_cash_flow_data_an = yahoo_financials_banks.get_financial_stmts('annual', 'cash')

banks_net_ebit = yahoo_financials_banks.get_ebit()
tech_stock_price_data = tech_cash_flow_data.get_stock_price_data()
daily_bank_stock_prices = yahoo_financials_banks.get_historical_stock_data('2008-09-15', '2017-09-15', 'daily')
用法示例:

from yahoofinancials import YahooFinancials

yahoo_financials = YahooFinancials('WFC')
print(yahoo_financials.get_historical_stock_data("2017-09-10", "2017-10-10", "monthly"))
JSON输出:

{
    "WFC": {
        "prices": [
            {
                "volume": 260271600,
                "formatted_date": "2017-09-30",
                "high": 55.77000045776367,
                "adjclose": 54.91999816894531,
                "low": 52.84000015258789,
                "date": 1506830400,
                "close": 54.91999816894531,
                "open": 55.15999984741211
            }
        ],
        "eventsData": [],
        "firstTradeDate": {
            "date": 76233600,
            "formatted_date": "1972-06-01"
        },
        "isPending": false,
        "timeZone": {
            "gmtOffset": -14400
        },
        "id": "1mo15050196001507611600"
    }
}

昆德尔?我试过了,即使注册了Hanks,它也只能提供有限的API,但我需要最新的数据。我从你的链接中发现的最早时间是5个月。嗯,我确实注册并获得了API密钥,但我似乎不知道如何输出日期、开始值和结束值。这将取决于你使用的库。这一个只显示
日期
,但其他人会让OLHCI显示所有值,但似乎我尝试的每种股票的数据都会在3/27停止,这不是很理想。你在使用什么库?这是我正在使用的代码,刚刚导入quandl,对其他库不太确定。。。导入熊猫作为pd导入操作系统导入quandl导入时间auth_tok=“TOKEN”data=quandl.get(“WIKI/AMZN”,trim_start=“2017-7-10”,trim_end=“2018-7-10”,authtoken=auth_tok)打印(数据)谢谢,IEX看起来很有希望,但它看起来只返回JSON文件?使用WebSocket它返回JSON字符串,而不是文件。您可以像python字典一样轻松地处理这些字符串。而且,对于如何使用它也不太确定。例如,我是否只在代码中直接运行GET/stock/{symbol}/chart/{range},并填写参数?手册上似乎没有这方面的内容。你应该在这里检查以回答你的问题。这就是我要查找的地方,但它没有告诉我是否应该导入任何内容,只是为了获取数据而使用的命令。看起来“获取历史股票数据”不再是选项。您只能通过“获取历史价格数据”获取价格数据(如高/低)。除非我遗漏了一些明显的东西……@Darcy“获取历史股票数据”和“获取历史价格数据”有什么区别?