Python 如何显示mplfinance下载数据的时间(索引类型datetime)
我的代码如下:Python 如何显示mplfinance下载数据的时间(索引类型datetime),python,datetime,yahoo-finance,pandas-datareader,Python,Datetime,Yahoo Finance,Pandas Datareader,我的代码如下: import pandas_datareader as web import datetime as dt data = web.DataReader('AMZN', 'yahoo', dt.datetime(2021, 5, 3), dt.datetime(2021, 5, 5)) # read stock price of AMZN from Yahoo finance from 5/3/2021 to 5/5/2021 print(data) print(data.in
import pandas_datareader as web
import datetime as dt
data = web.DataReader('AMZN', 'yahoo', dt.datetime(2021, 5, 3), dt.datetime(2021, 5, 5))
# read stock price of AMZN from Yahoo finance from 5/3/2021 to 5/5/2021
print(data)
print(data.index)
print(data.index[0])
输出:
有趣的是,索引列不显示时间(其类型为datetime),请参见第一次打印。但是,如果我试图查看单个行,它确实包含时间(00:00:00,请参见第三次打印)。如何在将类型保持为datatime的同时将此时间包含到索引中?我不明白为什么索引栏里没有时间
除了好奇之外,我尝试这样做的第二个原因是我想查看数据的下载时间。首先是一些更正:
datetime.datetime
,而是numpy.datetime64
。也就是说,如果您试图将其提取为data.index[0]
,那么pandas将返回typepandas.Timestamp
。()“av intraday”
来获取日内数据
p.p.S.我不明白你为什么想知道你实际下载数据的时间。也就是说,您可以在下载时获取当前时间,并将其存储在某个位置,例如:
将数据读取器导入web
将日期时间导入为dt
data=web.DataReader(…)
下载\u time=dt.datetime.now().strftime(“%D%H:%M:%S”)
打印(下载时间)
05/23/21 11:05:02
非常感谢您的回答!首先,我需要查看下载时间的原因是我想在一小段时间内绘制图表,比如说,每10秒绘制一次。我想写一段代码来控制下载时间,并使用datetime.datetime.now()来显示下载时间。第二,我只是好奇,如果我想强制它显示时间00:00:00怎么办?在这里,我仍然希望类型是datetime64而不是string,因为我需要在以后绘制。您可以将时间转换为您想要的任何datetime类型。听起来你真的想要日内数据(每10秒一次)。你不应该重复要求每日数据,每10秒一次,只是时间戳到现在。“你不应该重复要求每日数据,每10秒一次,只是时间戳到现在。”——为了确认我正确理解你的观点,你的意思是我只是重复要求数据,而没有手动插入10秒“中断时间”?我使用[yfinance]()下载数据,最小时间间隔为1min,因此我想自己编写10秒的下载间隔。有没有更简单的方法?谢谢!我想说的是,在你问题的示例中,你要求的是每天3天的数据(不是当天)因此,无论您询问一次,还是每10秒询问一次,您都会得到3行数据,因此每10秒询问一次没有意义。如果您将yfinance
与interval='1m'
一起使用,那么您每分钟只会获得一次新数据,因此再次调用yf.download()也没有意义
每10秒一次。获取更频繁数据的方法有很多种,但我猜您可能需要为此频率付费。此外,如果您对每个数据进行交易决策的频率超过几分钟,您可能还需要查看买卖价格和大小。是的,您很可能只会获得交易价格和/或买卖价格(和大小),因此您必须选择一个间隔并构建自己的OHLC集(例如,请参见“”)