Python,获取特定日期的股票数据

2024-10-01 07:15:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究从美国证券交易所获取一些python代码的数据,基本上我需要做的是及时导入一个股票名称和前一个日期,它会给我市场开放后10天的所有数据,这可能吗?在

market = input("Market:")
ticker = input("Ticker:")
ticker = ticker.upper()
ystartdate = (input("Start Date IN FORMAT yyyy-mm-dd:"))
day1=input("Day1 :")
day2=input("Day2 :")
day3=input("Day3 :")
day4=input("Day4 :")
day5=input("Day5 :")
day6=input("Day6 :")
day7=input("Day7 :")
day8=input("Day8 :")
day9=input("Day9 :")
day10=input("Day10:")

目前我必须自动输入所有的数据,但这是一个痛苦的做法,基本上我会把股票和日期,如2012年10月15日,它会去看看股票在该日期和未来10天。如果可能的话,它将是一个救生员!谢谢


Tags: 数据代码inputdate市场uppermarketstart
2条回答

您应该使用适当的时间格式,而不是字符串。在

例如,可以将pandas与datetime64一起使用。在

import pandas as pd

input = ("Starting Date: ")
dates = pd.date_range(start=start_date, periods=10)

还有一个datetime包,里面有timedelta的概念,如果你不想使用pandas,它可能会对你有所帮助。在

我想你的需要包括在熊猫身上。实际上,您希望使用pandas.bdate_rangepandas.date_range,并将freq参数设置为B(我认为两者或多或少是相同的)。这就产生了工作日,即不包括周末。bdate_range还允许您指定假日,因此我认为它可能更灵活一些。在

>>> import pandas as pd
>>> dates = pd.bdate_range(start='2018-10-25', periods=10)  # Start date is a Thursday
>>> print(dates)
DatetimeIndex(['2018-10-25', '2018-10-26', '2018-10-29', '2018-10-30',
           '2018-10-31', '2018-11-01', '2018-11-02', '2018-11-05',
           '2018-11-06', '2018-11-07'],
          dtype='datetime64[ns]', freq='B')

请注意这是如何排除27日(星期六)和28日(星期日)的。如果要指定假日,则需要指定freq='C'。在

把这些日期放在不同的变量中有点难看,但是如果你真的想,你可以像这样去解包它们:

^{pr2}$

相关问题 更多 >