通过 Pandas Datareader (Python) 连接到 Iex API

Connecting to Iex API via Pandas Datareader (Python)

我尝试通过 Pandas Datareader 连接到 "iex" 以检索一些历史股票数据。 在四处搜索并尝试了几种方法后,我在这里想出了这段代码:

from datetime import datetime
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader as pdr
import os


#How to get historical Stock data

symbols = "FB" #Stock Kürzel
start = datetime(2018, 9, 1)
end = datetime(2018, 10, 2)

DataframeStock = pdr.DataReader(symbols, data_source = "iex", start = start, end = end, api_key = "pk_1234")

print(DataframeStock)

据我所知,一切看起来都很好,和教程中的一样(例如这里:https://pandas-datareader.readthedocs.io/en/latest/remote_data.html#remote-data-iex) (I registered on https://iexcloud.io/docs/api/,我正在使用我自己的 public 密钥)。 不幸的是,我收到此错误消息:

SSLError: HTTPSConnectionPool(host='cloud.iexapis.com', port=443): Max retries exceeded with url: /stable/stock/market/batch?symbols=FB&types=chart&range=2y&token=pk_8dfc5c0ae37940e78a2a0037bed89d5b (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))

听起来我经常尝试,但应该没有太多限制,总的来说我尝试了不到 30 次,今天尝试了 2 次就停止了。

我也找不到任何关于 API 最近更改的信息(据我所知最后一次是 2018 年)并且代码应该适用于当前版本。

我想我找到了问题的答案。在更改我的 OS 并给予我的 Python IDE (Anconda/Spyder) 完全管理控制后,它对我来说工作得很好。 另一个提示,请始终检查您的来源当前是否仍然开放或以某种方式受到限制。 "morningstar" 发生在我身上。 祝您交易愉快:)