Код воскресения - страница 3
Алексей напрягся:
– Но мы же договорились о конфиденциальности.
– Спокойно, молодой человек, – Державин улыбнулся. – Я лишь упомянул, что у нас есть интересная разработка в области предиктивной аналитики. Никаких деталей. Кстати, об этом, – он взял со стола папку. – Новое соглашение о неразглашении. Прочтите внимательно.
Следующие пятнадцать минут прошли в тишине. Алексей внимательно изучал документ, отмечая про себя новые пункты. Особое внимание привлек параграф о правах на интеллектуальную собственность – компания хотела получить полный контроль над алгоритмом.
– У меня вопрос по пункту 5.3, – Алексей поднял глаза от документа. – Здесь говорится о передаче всех прав на технологию. Но мы обсуждали только права на использование.
– А, вы заметили, – Державин откинулся в кресле. – Видите ли, Алексей, ситуация изменилась. Ваш алгоритм показал такие результаты, что совет директоров принял решение о полной интеграции технологии в нашу инфраструктуру. Мы готовы предложить вам компенсацию – скажем, два процента акций компании и должность технического директора.
Алексей почувствовал, как Михаил толкнул его коленом под столом – сигнал соглашаться.
– Мне нужно время подумать, – ответил он.
– Конечно, – Державин встал. – У вас есть три дня. А пока – займитесь подготовкой к конференции в Дубае. Мы хотим представить прототип международному сообществу.
Выйдя из кабинета, Михаил схватил Алексея за локоть:
– Ты с ума сошел? Такое предложение нужно принимать не думая!
– Нужно всё просчитать, – Алексей высвободил руку. – Что-то здесь не так. Почему такая спешка?
– Какая спешка? Три года разработки – это спешка? Лёш, очнись! Тебе предлагают место в совете директоров крупнейшей финтех-компании страны!
– Именно. Слишком щедро для простого алгоритма.
В своем кабинете Алексей первым делом открыл код. Строчки, ставшие для него второй природой, успокаивали. Здесь всё было логично и предсказуемо – никаких скрытых мотивов, только чистая математика и алгоритмы.
python
class PredictiveEngine:
def __init__(self):
self.lstm_model = self._build_lstm()
self.transformer = self._build_transformer()
self.market_data = MarketDataCollector()
def _build_lstm(self):
model = Sequential([
LSTM(128, return_sequences=True),
Dropout(0.2),
LSTM(64),
Dense(32, activation='relu'),
Dense(1, activation='linear')
])
return model
Основа алгоритма была простой – комбинация нейронной сети LSTM для анализа временных рядов и трансформера для обработки новостного потока. Но его инновация заключалась в системе весов, которая автоматически корректировалась в зависимости от рыночной ситуации.
python
def adjust_weights(self, market_state):
volatility = self.calculate_volatility()
sentiment = self.analyze_sentiment()
if market_state == 'crisis':
self.sentiment_weight = 0.7
self.technical_weight = 0.3
elif market_state == 'stable':
self.sentiment_weight = 0.3
self.technical_weight = 0.7
Алгоритм учился на своих ошибках, постоянно оптимизируя веса и подстраиваясь под изменения рынка. За три года тестирования он ни разу не показал отрицательной доходности на периоде больше месяца.
– Лёша, ты здесь? – Катя стояла в дверях кабинета. Он не слышал, как она вошла.
– Привет, – он улыбнулся. – Ты что тут делаешь?
– Уже восемь вечера. Мы договаривались поужинать, помнишь?
Алексей посмотрел на часы – действительно, восемь. Весь день пролетел незаметно за анализом кода и подготовкой документации.