Эмулятор биржевого стакана цен

Эмулятор биржевого стакана цен

В прошлой статье мы создали инструмент для выгрузки и обработки данных стакана. И закрыли вопрос касаемо, где брать эти данные. Теперь, когда данные выгружены в...
В прошлой статье мы создали инструмент для выгрузки и обработки данных стакана. И закрыли вопрос касаемо, где брать эти данные. Теперь, когда данные выгружены в виде своего рода датасетов, мы можем написать эмулятор, который будет транслировать эти данные. Существует разное множество баз данных для работы с временными рядами, к примеру InfluxDB и ей подобные. Я же, решил, что мне будет удобней работать с ElasticDB. Если посмотреть схематично на реализацию, то она будет состоять из следующих компонентов:- Конфиг для docker-compose для деплоя Elasticsearch и Kibana (второе необязательно)- Скрипт загрузки данных из файлов в базу- WebSocketServer который собственно и будет транслировать наши...
Сбор данных биржевого стакана на python

Сбор данных биржевого стакана на python

Давно хотелось обучить нейросеть для работы в биржевом стакане цен, но как-то все откладывалось и переносилось. Вообще, данный кейс открывает ряд вопросов, таких как: Как...
Давно хотелось обучить нейросеть для работы в биржевом стакане цен, но как-то все откладывалось и переносилось. Вообще, данный кейс открывает ряд вопросов, таких как: Как хранить данные ?Где взять такие наборы данных ?Как эмулировать не только данные, но и интервалы между ними ? Я произвел поверхностный ресёрч по данному вопросу и понял, что бесплатно, в нужном объеме и нужные данные я не получу.  Вариант собирать в реал-тайм показался мне очень долгим и не гарантированным, ведь если будет даун-тайм, то ничего писаться не будет и это плохо отразится на итоговых данных. Есть еще вариант выгрузить с биржи и обработать так как...
Discord.py инфо бот

Discord.py инфо бот

Мне нужно в дискорд вывести некоторую информацию в виде среза статистики. Как вариант создать несколько каналов, залочить их и средствами бота, обновлять имя канала с...
Мне нужно в дискорд вывести некоторую информацию в виде среза статистики. Как вариант создать несколько каналов, залочить их и средствами бота, обновлять имя канала с какой-то периодикой новыми метриками. Обновлять я буду инфу по количеству нод в проекте noder.one. Сам проект на джанго, но связку именно в среде джанго делать наверное нет смысла, поэтому опишу здесь обособленный вариант. Регистрация приложения и бота Первым делом идем https://discord.com/developers и создаем приложение. Далее, проваливаемся в наше приложение, и слева, в разделе Bot, добавляем бота. Сохраняем токен к себе, через него мы будем взаимодействовать с каналом. Если токен не появился при первичном добавлении, то...
Деревья Меркла

Деревья Меркла

Деревья Меркла представляют собой древовидную структуру, в которой каждый узел дерева представлен значением, являющимся результатом криптографической хеш-функции. Такие деревья имеют 3 типа узлов:1. Листовые узлы...
Деревья Меркла представляют собой древовидную структуру, в которой каждый узел дерева представлен значением, являющимся результатом криптографической хеш-функции. Такие деревья имеют 3 типа узлов:1. Листовые узлы (листья) - данные узлы находятся в самом низу и их значения это результат хеширования исходных данных. Количество листовых узлов ровняется количеству значений исходных данных.2. Родительские узлы (ветви) - результат выполнения хеш-функции над двумя узлами ниже, это может быть как листовые узлы, так и родительские, в зависимости от размера дерева.3. Корневой узел (корень) - находится в самом верху дерева и получается из хеша конкатенированных хешей двух родительских узлов, которые находятся под ним. Применение Деревья Меркла используются...
Безопасно настраиваем /etc/network/interfaces

Безопасно настраиваем /etc/network/interfaces

Проблема При настройке сети, в том же proxmox может возникнуть ситуация, когда теряется доступность сервера и это может быть большой головной болью, если у вас...
Проблема При настройке сети, в том же proxmox может возникнуть ситуация, когда теряется доступность сервера и это может быть большой головной болью, если у вас нет возможности подойти физически к серверу и исправить. Идея Обойтись небольшим скриптом, который бы проверял через какое-то время изменения в конфигурации интерфейсов сети и в случае изменения пробовал проверить доступность сети. В случае если сеть после изменений оставалась работоспособной, то создавал бэкап конфига, в случае если сеть падала, ресторил бы из последнего удачного конфига. Решенение Создадим файл и сделаем исполняемым cd $HOME && touch ./check_network.sh && chmod +x ./check_network.sh И добавим следующий код, в котором...
Создаем виртуалки на VDS Hetzner

Создаем виртуалки на VDS Hetzner

Я потратил целый день на настройку дедика, а потому решил написать инструкцию, чтобы не забыть. Итак, нам необходимо заказать на аукционе в Hetzner (немецкий хостер)...
Я потратил целый день на настройку дедика, а потому решил написать инструкцию, чтобы не забыть. Итак, нам необходимо заказать на аукционе в Hetzner (немецкий хостер) VDS сервер, так же, для того чтобы на этом сервере поднимать свои независимые VPS нам понадобится публичные ip адреса и да, они тоже стоят денег. Летим по рефералке и регаемся на hetzner - получаем 20 евро в виде облачных кредитов, либо без рефералки здесь. В разделе аукциона выбираем подходящий сервер. После, понадобится какое-то время, в зависимости от того что вы выбрали, в моем случае установка была произведена за сутки, хотя по таблице в которой указывается...
Интеграция смарт-контракта в телеграм бот

Интеграция смарт-контракта в телеграм бот

Для web3 есть одноименная библиотека написанная для разных языков, в том числе для python, называется web3py. Здесь мы интегрируем наши 2 проекта в наш телеграм...
Для web3 есть одноименная библиотека написанная для разных языков, в том числе для python, называется web3py. Здесь мы интегрируем наши 2 проекта в наш телеграм бот. У нас будет игра "Камень, ножницы, бумага" на внутренние токены, смарт-контракт на solidity писали тут и реализуем генерацию ethereum кошельков тык.Взаиподействие с telegram api переложим на python-telegram-bot. Создадим проект и склонируем репозиторий телеграм бота. cd ~ && mkdir tgbot && cd tgbot python -m venv .venv source .venv/bin/activate pip install python-telegram-bot coincurve pysha3 web3 git clone https://github.com/python-telegram-bot/python-telegram-bot --recursive cd python-telegram-bot python setup.py install && cd .. && mv -f * ../ && touch start.py...
Пишем блокчейн игру на Solidity

Пишем блокчейн игру на Solidity

Напишем смарт-контракт всем известной игры "Камень, ножницы, бумага". Контракт будет иметь свой нативный токен, которым будут вестись все расчеты между участниками, игра будет на внутренние...
Напишем смарт-контракт всем известной игры "Камень, ножницы, бумага". Контракт будет иметь свой нативный токен, которым будут вестись все расчеты между участниками, игра будет на внутренние токены, смарт-контракт напишем для сети Polygon исключительно из соображений экономии комиссии за деплой контракта, это обойдется нам меньше 1$, в то время как в Ethereum комса встать может нам в 200$. Тут мы напишем сам смарт-контракт без его последующей интеграции в какой-то UI, то-есть взаимодействовать с ним можно будет только по средствам вызова нужных функций. Часть где мы будем использовать данный смарт контракт вместе с например телеграм ботом или какой-то вебкой я опишу отдельно. Вкратце...
Машинное обучение с Python и Sklearn

Машинное обучение с Python и Sklearn

В данной серии статей мы рассмотрим конкретный кейс по прогнозированию стоимости актива с использованием языка программирования Python и простенькой библиотеки к нему sklearn. Мы будем...
В данной серии статей мы рассмотрим конкретный кейс по прогнозированию стоимости актива с использованием языка программирования Python и простенькой библиотеки к нему sklearn. Мы будем использовать самый простой и в тоже время самый наглядный алгоритм KNN (k-nearest neighbors) или по-русски k-ближайших соседей. Данный алгоритм относится к категории классификации, в нашем кейсе мы будем предсказывать, будет ли цена выше или ниже актива через заданный промежуток времени. Ок, создадим проект, виртуальное окружение и активируем его. mkdir predict && cd predict python -m venv .venv && source .venv/bin/activate Установим через менеджер пакетов следующие модули, они нам пригодятся для работы. pip install requests pandas...
Генерация Ethereum адресов на Python

Генерация Ethereum адресов на Python

Хоть Python из-за медленного интерпритатора не является оптимальным выбором для данной задачи, я разберу генерацию именно на нем. Для текущей задачи из модулей нам понадобятся:coincurve...
Хоть Python из-за медленного интерпритатора не является оптимальным выбором для данной задачи, я разберу генерацию именно на нем. Для текущей задачи из модулей нам понадобятся:coincurve - Кроссплатформенные привязки python CFFI для libsecp256k1pysha3 - оболчка SHA-3 для python (с поддержкой алгоритма keccak) Генерация адреса в сети Ethereum происходит в 3 этапа:1. Генерация закрытого ключа2. Получение открытого ключа из закрытого3. Получение адреса из открытого ключа Нужно понимать, что открытый ключ и адрес Etherium - это разные вещи. Адреса - это хэши открытых ключей и отправить средства на открытый ключ невозможно. Шаг 1: Создаем закрытый ключ Генерация закрытых ключей происходит с использованием алгоритма...