Как использовать python для проверки, может ли число попасть в серию чисел по X раз? - PullRequest
0 голосов
/ 07 июня 2019

Как мне использовать python для следующих действий? Для фиксированного периода данных временных рядов, если возможно, чтобы любая горизонтальная линия (фиксированная цена) пересекала фиолетовую линию (серию цены) 4 раза, верните True, как показано на следующем рисунке.

enter image description here

Если невозможно иметь горизонтальную линию (фиксированную цену), пересекающую фиолетовую линию (серию цен) 4 раза, верните False, как показано на следующем рисунке. Благодаря.

enter image description here

1 Ответ

1 голос
/ 07 июня 2019

Если вы можете описать фиолетовую линию математически, тогда вам нужно найти ay = f (x), где для данного y у вас есть четыре или более удовлетворяющих x.

Теперь давайте сделаем это с помощью метода грубой силы:

max_y = 10.0 # the biggest y the purple line has
min_y = 5.0 # the smallest y purple line has
min_x = 0 # the x the purple line starts
max_x = 100 # the x the purple line ends
delta = 0.01 # the step value for testing every line

def in_purple(x, y):
    # returns if the point (x, y) is in the purple line
    pass

for y in range(min_y, max_y + delta, delta):
    counter = 0
    for x in range(min_x, max_x + delta, delta):
        if in_purple(x, y):
            counter += 1
    if counter >= 4:
        print(y) # prints the y where you have 4 or more coincidences
        break
...