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