Telegram-бот для инвесторов c аналитикой, рассылкой изменения цен и анализом новостей от ChatGPT

от автора

Бот @RussianInvestbot автоматизирует процессы сбора информации о трендах в реальном времени. Возможна подписка на получение списка акций с резким изменения тренда. Так же он позволяет получать финансовые новости с анализом от ChatGPT.

Если вы хотите посмотреть какие акции дорожали в течение недели или месяца, но не хотите заходить на биржу и тратить на это время, то бот это может сделать за вас. Вам необходимо перейти в пункт меню «Обзор трендов» и выбрать недельный или месячный тренд. Бот отправит вам информацию обо всех растущих акциях за выбранный период выросших более одного процента. Информация обновляется каждые 20 минут.

Пример кода

def analyze_trend_week():      str_send = "Растущий тренд у следующих акций:\n"      cnt = 0     try:         for i in figi:             close, open, time_, vol, high,low = close_open(i, 7, 5)              if len(close) < 5:                 cnt += 1                  continue              cnt_trend = 0             for number_ in range(len(close)):                  if float(close[number_ ])  < float(close[ -1]):                     #markup = types.ReplyKeyboardMarkup(resize_keyboard=True)                     cnt_trend += 1              if cnt_trend > 4:                     data = float(close[-1])  - float(close[0])                     data = data / float(close[0]) * 100.0                     if data > 0.5:                         str_send +=  name[cnt] + " " + str(round(data)) + "%" + "\n"                                     cnt += 1          except Exception as e:         print(e)     print("запрос")     return str_send

Если вы хотите постоянно держать руку на пульсе рынка и смотреть резкие изменения, то вы можете подписаться на рассылку «Подписка на пробой». Бот каждую минуту мониторит рынок и сравнивает последнею цену акции с предыдущими ценами за 5 минут. При изменение цены на 1 процент бот отправляет вам сообщение. Можно подписаться как на рост так и на падение. Кнопка отписки отключает сразу две подписки.

Пример кода

def detect():     global cnt_all, list_share_ready     global chat_id     cnt = 0     output = {}     out_str_up = ""     out_str_down = ""     try:         for i in figi:             close, open, time_, vol, high,low = close_open(i, 1, 1)              if len(close) > 5:                  try:                     list_share_ready.index(i)                 except:                     cnt_all = cnt_all                 else:                     cnt_all += 1                     cnt += 1                      continue                                      if close[-1] == list_last_price[cnt]:                     cnt += 1                      continue                 for number_ in range(1,5):                      if float(close[number_ * -1]) - float(close[-1])  > float(close[number_ * -1]) * 0.01:                         out_str_down += "Пробой на понижение " + name[cnt] +  "  " + str(float(close[-1]) )+ "\n"                         list_share_ready.append(i)                         break                      if float(close[-1]) - float(close[number_ * -1])  > float(close[number_ * -1]) * 0.01:                         out_str_up += "Пробой на повышение " + name[cnt] + " " + str(float(close[-1])) + "\n"                         list_share_ready.append(i)                         break                                        list_last_price[cnt] = close[-1]             cnt += 1                  if cnt_all == 7:                 list_share_ready.clear()                    cnt_all = 0                     except Exception as e:          print(e)     print("запрос")     return out_str_up, out_str_down

Ну и последняя возможность — это возможность получить новости из мира финансов с анализом от ChatGPT. Бот мониторит сайт РБК и из раздела про фондовую биржу парсит новости. Далее он отправляет новость ChatGPT и получает ответ. В ответе он дает оценку хорошая это или плохая новость. Пишет три последствия для российского рынка акций и пишет список акции которые затронет эта новости.

Пример кода

    url = "https://quote.rbc.ru/tag/stocks"      pages = requests.get(url)      soup = BeautifulSoup(pages.text, "lxml")      news_head = []     for link in soup.find_all('a', class_ = "q-item__link"):         news_head.append(link.get('href'))      news_head = list(dict.fromkeys(news_head))      print(news_head)

Бот доступен в телеграмме @RussianInvestbot


ссылка на оригинал статьи https://habr.com/ru/articles/743400/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *