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/


Интересные статьи

Интересные статьи

Работая над проектом far2l (порта Far Manager) для Linux, я наткнулся на один очень красивый баг, который в итоге удалось починить только с помощью нейросети ChatGPT. Причём баг оказался не столько в ...
Я начинал работать с php, когда еще не потерял популярность его 4 выпуск, с тех пор произошли огромные изменения. На мой взгляд, последние несколько лет преобразили разработку на нем довольно сильно.&...
Всем привет! Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире. Госорганы...
Всем привет! Продолжаем обзоры новостей свободного и открытого ПО (и немного коронавируса). Всё самое главное про пингвинов и не только, в России и мире. В выпуске №7 за 9–15 марта 2020...
Привет, Хабравчане! Отфильтровав для вас большое количество источников и подписок — собрал все наиболее значимые новости из мира машинного обучения и искусственного интеллекта за сентябрь. Не заб...