Если у вас есть робот и нейросеть, а также оригинальная формула подсчета курсов, то почему бы не открыть собственную фондовую биржу? Например, Биржу мемов, как это сделал N + 1 при поддержке Тинькофф банка. У нас можно инвестировать (в специальной валюте — тинькойнах), следить за курсами, пополнять портфель или сбрасывать мемы. Кстати, еще не поздно поучаствовать в нашем конкурсе инвесторов. Но этот блог — не о преимуществах инвестиций в мемы, а о технических сложностях, подстерегающих оператора независимой онлайн-биржи.
Во-первых, безопасность. Из-за довольно серьезной нагрузки на сервер и долгих расчетов злоумышленник мог воспользоваться возможностью эксплуатации Race Conditions. Даже смешно — мы сами от себя не ожидали, что оставим такую уязвимость. К счастью, воспользоваться ею никто не успел — заметили свои, и проблему удалось закрыть локом на операцию.
Во-вторых, слишком профессиональные инвесторы. Некоторые пользователи (как правило, с хорошим техническим образованием и десятком научных пабликов в подписках) нащупали периодичность колебания цен. Вскоре у нас появилось несколько легальных миллионеров, которые анализировали рынок и играли на курсах. Мы много спорили, что делать в этой ситуации. С одной стороны, банить пользователей за хорошую игру нельзя. Но с другой, интерес остальных инвесторов к сделкам с мемами стал угасать.
В итоге нам пришлось ввести суточное ограничение на объем торгов для каждого пользователя. Это принесло результат: портфели наших миллионеров перестали пухнуть как на дрожжах. Практически всем топ-инвесторам пришлось резко менять стратегию — внимательно следить за графиками и тщательно взвешивать, какие мемы покупать, а какие продавать в первую очередь. Играть стало интереснее всем.
В-третьих, ограничения алгоритма. На нашей бирже курсы обновлялась раз в сутки, причем в какой-то момент цена мемов была детерминирована. Понятно, что на настоящей бирже так не бывает, поэтому мы стали думать, как обеспечить дневные колебания курсов. Это должно было выглядеть реалистично, причем для каждого момента времени курс каждого мема должен был быть свой.
Мы сгенерировали карту случайных значений от 0 до 1, которую затем сгладили — для большей реалистичности (ведь обычно на фондовом рынке цена акций меняется плавно). Теперь наш алгоритм, в зависимости от ряда параметров, выбирает на этой карте определенное значение и умножает на него разницу в ценах мема за вчера и сегодня. Благодаря этому курс меняется плавно и непредсказуемо для игроков. Это единственная часть нашего алгоритма ценообразования, которая довольно слабо зависит от данных нейросети.
Если у нас на бирже произойдут еще какие-нибудь технические новшества, мы обязательно вам об этом расскажем. А если вы полагаете, что на настоящих фондовых биржах алгоритмы работают без сбоев, то вы ошибаетесь.