【问题标题】:Stock data download python no library股票数据下载python无库
【发布时间】:2019-12-23 14:35:18
【问题描述】:

我正在为学校(A-Level)编写一个项目,需要能够下载股票数据并绘制图表。我可以使用 matplotlib 绘制数据图表。但是我只能使用一定数量的库。

我需要在不导入库的情况下获取数据,但无法做到。我尝试从 https://query1.finance.yahoo.com/v7/finance/download/ticker 下载,但 crumb 值不断变化,所以我不断收到错误 cookie 的错误。

我该如何解决这个问题?还是有更简单的数据站点?

我的代码:

import requests

r = requests.get("query1.finance.yahoo.com/v7/finance/download/…)

file = open(r"MSFT.csv", 'w')

file.write(r.text) file.close()

【问题讨论】:

标签: python finance yahoo-finance


【解决方案1】:

从https://datahub.io下载数据,否则您可以订阅来自不同交易所的第三方供应商的实时数据馈送。

【讨论】:

  • 谢谢,但没有英国股票数据。
【解决方案2】:

您说:“我只能使用一定数量的图书馆。”这意味着什么?您应该能够使用您需要使用的任何库,对吧。运行下面的脚本。它将从 Yahoo 下载股票数据并绘制时间序列。

import pandas as pd  
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import scipy.optimize as sco
import datetime as dt
import math
from datetime import datetime, timedelta
from pandas_datareader import data as wb
from sklearn.cluster import KMeans
np.random.seed(777)


start = '2019-4-30'
end = '2019-10-31'
# N = 90
# start = datetime.now() - timedelta(days=N)
# end = dt.datetime.today()



tickers = ['MMM',
'ABT',
'ABBV',
'ABMD',
'AAPL',
'XEL',
'XRX',
'XLNX',
'XYL',
'YUM',
'ZBH',
'ZION',
'ZTS'] 

thelen = len(tickers)

price_data = []
for ticker in tickers:
    prices = wb.DataReader(ticker, start = start, end = end, data_source='yahoo')[['Adj Close']]
    price_data.append(prices.assign(ticker=ticker)[['ticker', 'Adj Close']])

df = pd.concat(price_data)
df.dtypes
df.head()
df.shape

pd.set_option('display.max_columns', 500)

df = df.reset_index()
df = df.set_index('Date')
table = df.pivot(columns='ticker')
# By specifying col[1] in below list comprehension
# You can select the stock names under multi-level column
table.columns = [col[1] for col in table.columns]
table.head()

plt.figure(figsize=(14, 7))
for c in table.columns.values:
    plt.plot(table.index, table[c], lw=3, alpha=0.8,label=c)
plt.legend(loc='upper left', fontsize=12)
plt.ylabel('price in $')

【讨论】:

    猜你喜欢
    • 2018-11-20
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    相关资源
    最近更新 更多