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 дней мне нужно было бы посмотреть на эти данные. Если это возможно, это будет спасатель жизни! Спасибо

2 ответа

Вы должны работать с правильным форматом времени, а не строками для этого.

Вы можете использовать панд, например, с datetime64.

import pandas as pd

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

Существует также пакет datetime, в котором есть концепции timedelta, которые могут помочь вам, если вы не хотите использовать панд.

Я думаю, что ваша потребность включена в панд. На самом деле, вы хотите использовать либо pandas.bdate_range или же pandas.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
Другие вопросы по тегам