首页 > 解决方案 > 将股票 OHLCV 数据存储到自己的列表中 (Python)

问题描述

我正在尝试将 pandas_datareader 提取的股票数据(开盘价、最高价、最低价、收盘价、成交量)存储到 5 个相应命名的不同列表中。我是 Python 新手,想知道我哪里出错了。我让它循环遍历整数值的一维列表并将它们分配给每个列表,但不确定如何处理 f.head 输出的附加维度。我曾两次收到一个回溯错误,指示索引值超出范围,但我知道我犯了一个超出简单索引范围的错误。

Open, High, Low, Close, Vol = [], [], [], [], []
col_data = [Open, High, Low, Close, Vol]

stock = 'BABA'

# data period
yStart = 2017
mStart = 11
dStart = 14
yEnd = 2018
mEnd = 2
dEnd = 14

import pandas as p
p.core.common.is_list_like = p.api.types.is_list_like
import pandas_datareader.data as pdr

from datetime import datetime
start = datetime(yStart,mStart,dStart)
end = datetime(yEnd,mEnd,dEnd)

f = pdr.DataReader(stock, 'morningstar', start, end)
f.head()

a = 0
b = 0
while a < len(col_data):
    b = 0
    while b < len(f):
        cur = (f.loc[f.index[b], col_data[a]])
        col_data[a].append(cur)
        b += 1
    a += 1

我希望最终能够打印单个列表(例如 print(Open) 并检索开盘价列表)。任何可能有帮助的建议/其他资源将不胜感激。

标签: pythonlistnested-listsfinancialpandas-datareader

解决方案


推荐阅读