【问题标题】:Python, Getting stock data on particular daysPython,获取特定日期的股票数据
【发布时间】:2018-10-20 14:39:36
【问题描述】:

我正在研究从美国证券交易所获取一些 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天。如果可能的话,这将是一个救生员!谢谢

【问题讨论】:

  • 我不完全确定股票数据的来源。您只想循环多个日期吗?正如 Alexis 所指出的,这可以使用 pandas 或 datetime 来完成。或者您是否试图从某个地方获取实际数据。您的问题似乎暗示后者,但是您需要告诉 use 这个“某处”在哪里。
  • 熊猫可以。我只需要一种输入代码的方法,它会自动设置所有变量

标签: python pandas stock stocks


【解决方案1】:

您应该使用正确的时间格式,而不是字符串。

您可以将 pandas 与 datetime64 一起使用。

import pandas as pd

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

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

【讨论】:

  • 我如何将这个直接输入到日变量中?并添加一个代码?
【解决方案2】:

我认为您的需求包含在 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'

将这些日期放在单独的变量中有点难看,但如果你真的想要,你可以像这样去解压它们:

>>> day1, day2, day3, day4, day5, day6, day7, day8, day9, day10 = dates

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    相关资源
    最近更新 更多