<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>matt333</title><subtitle>Дневник разработчика алгоритмических торговых систем на Python &amp; Stellar. Реальный опыт без маркетинга.</subtitle><author><name>matt333</name></author><id>https://teletype.in/atom/matt333</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/matt333?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@matt333?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/matt333?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-11-11T18:26:49.321Z</updated><entry><id>matt333:PFXLIN8bdRg</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/PFXLIN8bdRg?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>SDEX MM Bot — HODL 314 → 407 AQUA за 13 минут. Всё работает идеально</title><published>2026-11-11T16:42:02.753Z</published><updated>2026-11-11T16:42:02.753Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/05/75/0575de52-b962-4129-a52b-1892cf27b876.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/37/ee/37ee075a-3f8f-4c60-9d42-1eaf1c56535b.jpeg&quot;&gt;Очередной сильный рывок.</summary><content type="html">
  &lt;figure id=&quot;h3AL&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/37/ee/37ee075a-3f8f-4c60-9d42-1eaf1c56535b.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;tixe&quot;&gt;Очередной сильный рывок.&lt;/p&gt;
  &lt;p id=&quot;ANUz&quot;&gt;&lt;strong&gt;Ключевые цифры (18:59 → 19:12)&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;Y7KD&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/26/3f/263f384c-e525-45be-b199-2bc53944e3d4.png&quot; width=&quot;660&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;zh2V&quot;&gt;Что произошло за 13 минут&lt;/h3&gt;
  &lt;p id=&quot;XP1x&quot;&gt;&lt;strong&gt;1. Восстановление позиции&lt;/strong&gt;&lt;br /&gt; owned_share снизился с 53.78% до идеальных 50.03%. Бот продал часть XLM через ASK, когда рынок пошёл вверх. Механизм балансировки отработал точно.&lt;/p&gt;
  &lt;p id=&quot;d80I&quot;&gt;&lt;strong&gt;2. HODL защищает уже 407 AQUA&lt;/strong&gt;&lt;br /&gt; Каждый подтверждённый profit сразу уходит в резерв. +93 AQUA за 13 минут активного рынка — это не mark-to-market, а реально защищённая прибыль. Даже при сильном проливе завтра эти 407 AQUA останутся.&lt;/p&gt;
  &lt;p id=&quot;Krlx&quot;&gt;&lt;strong&gt;3. REPRICE работает чисто&lt;/strong&gt;&lt;br /&gt; Обе стороны выставлены на полную мощность (ASK 12.16 XLM / BID 7250 AQUA), scale = 1.0. Весь доступный капитал в деле.&lt;/p&gt;
  &lt;p id=&quot;k6Fg&quot;&gt;&lt;strong&gt;4. Atomic removal сработал&lt;/strong&gt;&lt;br /&gt; При STRONG_UP (+11.77 bps) бот корректно снял ASK-заявки. В 18:59 был FAILED, сейчас — OK. Это правильное поведение: не продавать XLM в момент сильного роста.&lt;/p&gt;
  &lt;p id=&quot;ICf1&quot;&gt;&lt;strong&gt;5. DISABLE_ASK — нормальная реакция&lt;/strong&gt;&lt;br /&gt; Рынок продолжает расти → ASK временно отключён, BID работает. Бот покупает на возможных откатах и не мешает росту. Через cooldown gate ASK вернётся, когда velocity нормализуется.&lt;/p&gt;
  &lt;h3 id=&quot;5YbH&quot;&gt;Итог по всей сессии (с 10.11 22:54)&lt;/h3&gt;
  &lt;figure id=&quot;75ps&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e5/6f/e56f1d2a-b3da-43a5-90f0-6263654b1c6a.png&quot; width=&quot;657&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;vdmz&quot;&gt;Stage 13.4 подтвердил свою эффективность: обе стороны работают, BID активен при слабости, ASK защищён при сильном росте. Adverse gate — не баг, а нужная защита.&lt;/p&gt;
  &lt;figure id=&quot;Uavk&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/58/2a/582a5f86-7bbe-4962-8009-1e9281a4503f.png&quot; width=&quot;838&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;t6KU&quot;&gt;Что дальше&lt;/h3&gt;
  &lt;p id=&quot;t4yT&quot;&gt;&lt;strong&gt;Сейчас → вечер&lt;/strong&gt;&lt;br /&gt; Ничего не трогаем. Наблюдаем. Все ключевые индикаторы в зелёной зоне.&lt;/p&gt;
  &lt;p id=&quot;WN1s&quot;&gt;&lt;strong&gt;Завтра утром (09:00–10:00 MSK)&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;TFJj&quot;&gt;
    &lt;li id=&quot;6TQ7&quot;&gt;Stage 16 (mid с исключением своих ордеров)&lt;/li&gt;
    &lt;li id=&quot;ZEIG&quot;&gt;Stage 17 (fee accounting)&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;WUTX&quot;&gt;&lt;strong&gt;Послезавтра&lt;/strong&gt;&lt;br /&gt; Stage 18 (path_payment), затем чистка и оставшиеся доработки.&lt;/p&gt;
  &lt;p id=&quot;qeTJ&quot;&gt;Бот в отличной форме. HODL растёт, баланс держится, защиты срабатывают. Даём работать.&lt;/p&gt;
  &lt;tt-tags id=&quot;IT7c&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>matt333:GVDFrdNOUkv</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/GVDFrdNOUkv?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>SDEX MM Bot — Пик формы: +105 AQUA realized, OUTPERFORM</title><published>2026-11-11T15:14:38.471Z</published><updated>2026-11-11T15:14:38.471Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/2d/82/2d82f855-5535-4d36-b96e-638603c32d9a.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/ea/69/ea6956c5-4aa8-4b9c-908c-b8c7e3017ee7.jpeg&quot;&gt;Бот сейчас работает на максимуме своих возможностей.</summary><content type="html">
  &lt;figure id=&quot;o5nf&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ea/69/ea6956c5-4aa8-4b9c-908c-b8c7e3017ee7.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;li2r&quot;&gt;Бот сейчас работает на максимуме своих возможностей.&lt;/p&gt;
  &lt;figure id=&quot;amuJ&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bb/c1/bbc146f7-e222-4872-b122-396347830115.png&quot; width=&quot;660&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;SzyQ&quot;&gt;Прямой APR&lt;/h3&gt;
  &lt;p id=&quot;02R2&quot;&gt;За последние 2 часа активного рынка:&lt;/p&gt;
  &lt;ul id=&quot;L3VH&quot;&gt;
    &lt;li id=&quot;9RrK&quot;&gt;&lt;strong&gt;+36.12 AQUA / 2ч = +18.06 AQUA/час&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;UuS5&quot;&gt;На портфеле ~191 290 AQUA → &lt;strong&gt;0.00944%/час&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;80u8&quot;&gt;Annualized: &lt;strong&gt;≈ 82.7% APR&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;2teM&quot;&gt;Ночью было тихо (~10.5% APR), днём рынок активный (82%).&lt;br /&gt; Средний по всей сессии ≈ &lt;strong&gt;17% APR&lt;/strong&gt; — отличный результат для market maker.&lt;/p&gt;
  &lt;p id=&quot;uhqv&quot;&gt;Для сравнения: банковские депозиты 3–5%, долгосрочный S&amp;amp;P 500 ~10%, топовые DeFi-пулы обычно 5–15%.&lt;/p&gt;
  &lt;h3 id=&quot;jDjF&quot;&gt;Что важно в цифрах&lt;/h3&gt;
  &lt;p id=&quot;sA4w&quot;&gt;&lt;strong&gt;realized_gross = +105 AQUA&lt;/strong&gt;&lt;br /&gt; Это уже реализованная прибыль от fills, а не mark-to-market. За 2 часа бот закрыл позиции на +67 AQUA.&lt;/p&gt;
  &lt;p id=&quot;UHxU&quot;&gt;&lt;strong&gt;HODL = 104.50&lt;/strong&gt;&lt;br /&gt; 55% прибыли защищено в резерве. Эти 104 AQUA не участвуют в BID. Даже если рынок завтра сильно просядет — они останутся.&lt;/p&gt;
  &lt;p id=&quot;NJj6&quot;&gt;&lt;strong&gt;owned_share = 51.04%&lt;/strong&gt;&lt;br /&gt; В безопасной полосе 46–54%. IF_ALL_BID_FILL = 53.80% — чуть ниже hard cap. Бот автоматически снизил BID_scale (0.072 → 0.063). Защита работает.&lt;/p&gt;
  &lt;p id=&quot;RKgF&quot;&gt;&lt;strong&gt;bot vs HODL = +86.39 (OUTPERFORM)&lt;/strong&gt;&lt;br /&gt; recon_ok=True. Сравнение валидно и подтверждено.&lt;/p&gt;
  &lt;p id=&quot;kXPg&quot;&gt;Асимметрия fills корректна: бот активно продаёт при share &amp;gt; 51%, восстанавливая баланс.&lt;/p&gt;
  &lt;h3 id=&quot;dCKh&quot;&gt;Текущий статус&lt;/h3&gt;
  &lt;figure id=&quot;QHJO&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b8/02/b802e157-03e9-4a08-8b89-6046bcce7202.png&quot; width=&quot;658&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;i7o8&quot;&gt;План&lt;/h3&gt;
  &lt;p id=&quot;5xvv&quot;&gt;&lt;strong&gt;Сейчас → 18:30 MSK&lt;/strong&gt; — ничего не трогаем. Чистый сбор статистики.&lt;/p&gt;
  &lt;figure id=&quot;Pt3y&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4c/9a/4c9ac03c-d2d3-40a0-9581-ef45f06ac512.png&quot; width=&quot;659&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;RhPZ&quot;&gt;Итог&lt;/h3&gt;
  &lt;p id=&quot;LbOt&quot;&gt;Бот работает на пике.&lt;br /&gt; +86 AQUA vs HODL за ~23 часа.&lt;br /&gt; Средний APR ~17%, на активном рынке — 82%.&lt;br /&gt; HODL-резерв защищён. OUTPERFORM подтверждён.&lt;br /&gt; Все системы в зелёной зоне.&lt;/p&gt;
  &lt;figure id=&quot;BBW7&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b3/c1/b3c192e8-4922-4680-8a77-87926620a1db.png&quot; width=&quot;840&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pW64&quot;&gt;Не трогать до вечера. Дать рынку наполнить кассу.&lt;/p&gt;
  &lt;tt-tags id=&quot;8oMA&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>matt333:W3u2sv63mWs</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/W3u2sv63mWs?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>SDEX MM Bot — День 3–4: Почему 25 bps не работали и что изменилось на 40</title><published>2026-11-09T11:10:39.350Z</published><updated>2026-11-09T11:10:39.350Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/d1/50/d150fbef-8eb0-4153-bcdc-3f43f5235b94.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/33/d5/33d5886a-e228-41af-b8fb-de134469ea57.jpeg&quot;&gt;Два дня почти без обновлений. Не потому что бот стоял - наоборот. Шёл активный сбор данных и один важный эксперимент.</summary><content type="html">
  &lt;figure id=&quot;rdid&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/33/d5/33d5886a-e228-41af-b8fb-de134469ea57.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;yCIX&quot;&gt;Два дня почти без обновлений. Не потому что бот стоял - наоборот. Шёл активный сбор данных и один важный эксперимент.&lt;/p&gt;
  &lt;h3 id=&quot;NAmc&quot;&gt;Коротко о том, где мы были&lt;/h3&gt;
  &lt;p id=&quot;1cmn&quot;&gt;На 25 bps бот стабильно обгонял простой HODL (bot vs HODL уходил в плюс на 25–36 AQUA), но абсолютный realized PnL был глубоко отрицательным.&lt;/p&gt;
  &lt;p id=&quot;qUj5&quot;&gt;Классическая картина: стратегия «лучше холда», но всё равно теряет деньги в абсолюте.&lt;/p&gt;
  &lt;p id=&quot;wYyX&quot;&gt;Разбор сделок за 17 часов на 25 bps показал причину довольно ясно:&lt;/p&gt;
  &lt;ul id=&quot;flsL&quot;&gt;
    &lt;li id=&quot;oJxk&quot;&gt;Захваченный спред получился отрицательным (&lt;strong&gt;–6.1 bps&lt;/strong&gt;).&lt;/li&gt;
    &lt;li id=&quot;Kutd&quot;&gt;Крупные fill’ы (&amp;gt;1 XLM) имели особенно плохой edge.&lt;/li&gt;
    &lt;li id=&quot;OdSX&quot;&gt;Adverse selection в среднем съедал ~2.2 bps на сделку.&lt;/li&gt;
    &lt;li id=&quot;2aSv&quot;&gt;Бот net набирал XLM, часто покупая дороже, чем потом продавал.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;Jidr&quot;&gt;&lt;strong&gt;25 bps оказались слишком узкими&lt;/strong&gt; для текущей токсичности потока на паре XLM/AQUA.&lt;/p&gt;
  &lt;h3 id=&quot;7jF2&quot;&gt;Что сделали&lt;/h3&gt;
  &lt;p id=&quot;y3Oz&quot;&gt;9 ноября перешли на фиксированные &lt;strong&gt;40 bps&lt;/strong&gt; и сделали чистый baseline (новый T0).&lt;/p&gt;
  &lt;p id=&quot;KsPq&quot;&gt;Результаты за первые ~5.5 часов:&lt;/p&gt;
  &lt;figure id=&quot;8Nw1&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/61/41/6141cc07-e40a-4225-8da0-e00d130ca569.png&quot; width=&quot;660&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;wX5U&quot;&gt;Знак realized перевернулся. Причём inventory при этом вернулся ближе к 50% - то есть это не просто «повезло с направлением рынка», а нормальный MM-цикл.&lt;/p&gt;
  &lt;h3 id=&quot;quH3&quot;&gt;Что ещё видно&lt;/h3&gt;
  &lt;ul id=&quot;uDpR&quot;&gt;
    &lt;li id=&quot;tRw1&quot;&gt;Спред 40 bps сейчас почти совпадает с рыночным (часто 37–39 bps). Бот стоит чуть снаружи, а не внутри.&lt;/li&gt;
    &lt;li id=&quot;ktEe&quot;&gt;Inventory Guard отрабатывает корректно: при уходе к 48.9% ask’и отключаются, остаются только bids.&lt;/li&gt;
    &lt;li id=&quot;fnBx&quot;&gt;Появился небольшой recon drift (&lt;code&gt;delta_xlm ≈ –0.00009&lt;/code&gt;). На PnL это ~0.05 AQUA - косметика. Чинить в середине 24-часового теста не стали, чтобы не ломать continuity.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;Nqhu&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e8/83/e883b29a-6c92-401e-a8fc-e2d00d245bd1.png&quot; width=&quot;1199&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;S9iJ&quot;&gt;Текущий статус эксперимента&lt;/h3&gt;
  &lt;p id=&quot;jYLo&quot;&gt;Мы сознательно ничего не трогаем до завтрашнего контрольного замера (примерно 24 часа с момента перехода на 40 bps).&lt;/p&gt;
  &lt;p id=&quot;LaZc&quot;&gt;Цель - получить чистые цифры по &lt;code&gt;exec_edge&lt;/code&gt; и понять:&lt;/p&gt;
  &lt;ul id=&quot;JtcP&quot;&gt;
    &lt;li id=&quot;UZiU&quot;&gt;Хватает ли 40 bps, чтобы стабильно перекрывать adverse selection.&lt;/li&gt;
    &lt;li id=&quot;9mDK&quot;&gt;Или нужно идти ещё шире / добавлять асимметричный спред и size-multiplier от волатильности.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;hWkr&quot;&gt;&lt;strong&gt;Пока предварительный вывод простой:&lt;/strong&gt;&lt;br /&gt; 25 bps на этой паре - слишком агрессивно.&lt;br /&gt; 40 bps уже дают положительный realized edge при сохранении контроля над inventory.&lt;/p&gt;
  &lt;p id=&quot;HeMi&quot;&gt;Завтра будут более точные цифры.&lt;/p&gt;
  &lt;tt-tags id=&quot;BHGQ&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>matt333:NaYHRR--6Da</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/NaYHRR--6Da?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>Дневник. SDEX Market Maker - SHADOW №1: логика подтверждена</title><published>2026-11-06T15:00:04.464Z</published><updated>2026-11-06T15:00:04.464Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/7e/4b/7e4b2351-5a42-4a92-9e7d-40e2b1b51af4.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><tt:hashtag>shadowtest</tt:hashtag><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/96/6d/966dca04-4ef6-4abf-8e91-d6a03434807d.jpeg&quot;&gt;Получили полноценный результат первого теневого эксперимента.
 SHADOW №1 прошёл проверку логики NORMAL / REBALANCE.
 Перед переносом в LIVE нужно дополнить систему учётом доступного инвентаря.
 И главное: за этот период SPREAD25 показал результат лучше простого удержания портфеля.</summary><content type="html">
  &lt;figure id=&quot;pIWq&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/96/6d/966dca04-4ef6-4abf-8e91-d6a03434807d.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pjI2&quot;&gt;Получили полноценный результат первого теневого эксперимента.&lt;br /&gt; &lt;strong&gt;SHADOW №1 прошёл проверку логики NORMAL / REBALANCE.&lt;/strong&gt;&lt;br /&gt; Перед переносом в LIVE нужно дополнить систему учётом доступного инвентаря.&lt;br /&gt; И главное: за этот период SPREAD25 показал результат лучше простого удержания портфеля.&lt;/p&gt;
  &lt;h3 id=&quot;7z0x&quot;&gt;1. InventoryMode — результат положительный&lt;/h3&gt;
  &lt;p id=&quot;Yest&quot;&gt;За 3 часа 5 минут наблюдения:&lt;/p&gt;
  &lt;figure id=&quot;NxXT&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9f/71/9f715ec9-f36f-40c1-bf96-aa0d9cef5d23.png&quot; width=&quot;348&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;zwwf&quot;&gt;Три полных цикла REBALANCE:&lt;/p&gt;
  &lt;figure id=&quot;NlsF&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/49/61/49612aad-91d3-4a7d-bfe2-5dd3be741b04.png&quot; width=&quot;312&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;SRK4&quot;&gt;Что особенно хорошо:&lt;/p&gt;
  &lt;ul id=&quot;M13f&quot;&gt;
    &lt;li id=&quot;bcVj&quot;&gt;При избытке XLM уменьшался именно &lt;strong&gt;BID&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;hSf4&quot;&gt;ASK оставался на 100%&lt;/li&gt;
    &lt;li id=&quot;DTWV&quot;&gt;При усилении перекоса ограничение становилось сильнее&lt;/li&gt;
    &lt;li id=&quot;vxBf&quot;&gt;Возврат в NORMAL происходил без хаотичных переключений&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;2dn9&quot;&gt;Самый показательный эпизод: при 70.07% XLM размер BID упал до 49.6%, после восстановления доли до 56.97% модель спокойно вернулась в NORMAL.&lt;/p&gt;
  &lt;p id=&quot;9Uni&quot;&gt;PROTECT пока не проверен (максимум был 70.1%, порог — 75%).&lt;/p&gt;
  &lt;h3 id=&quot;vktr&quot;&gt;2. Что реально сделал SPREAD25&lt;/h3&gt;
  &lt;p id=&quot;wkuh&quot;&gt;Реальные исполнения на Stellar (не виртуальные решения):&lt;/p&gt;
  &lt;figure id=&quot;RtrR&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b2/06/b206b4db-b2f4-4ec3-ad8a-5c12409fe6ba.png&quot; width=&quot;253&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;GyrQ&quot;&gt;Средние цены (VWAP):&lt;/p&gt;
  &lt;figure id=&quot;2H3K&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1d/a5/1da53221-2723-4730-8ba0-18f5bbe848fb.png&quot; width=&quot;172&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ByAr&quot;&gt;Хороший результат исполнения: средняя цена продажи заметно выше средней цены покупки.&lt;/p&gt;
  &lt;h3 id=&quot;Qqug&quot;&gt;3. Изменение стоимости портфеля&lt;/h3&gt;
  &lt;figure id=&quot;L0vN&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/db/c3/dbc3aa6d-7188-4726-84a5-bbdc2795fb7b.png&quot; width=&quot;284&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;wOtg&quot;&gt;&lt;strong&gt;+40.06 AQUA&lt;/strong&gt; (+0.1433% mark-to-market)&lt;/p&gt;
  &lt;p id=&quot;vnvY&quot;&gt;Сравнение с пассивным удержанием:&lt;/p&gt;
  &lt;ul id=&quot;WXqL&quot;&gt;
    &lt;li id=&quot;Wqdp&quot;&gt;Преимущество над удержанием начальных количеств: &lt;strong&gt;+27.21 AQUA&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;ifIh&quot;&gt;Дополнительные зачисления AQUA ≈ 5.20&lt;/li&gt;
    &lt;li id=&quot;bH82&quot;&gt;Преимущество после их исключения: &lt;strong&gt;≈ +22.01 AQUA&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;mtZv&quot;&gt;Это предварительное преимущество торговой активности над Buy &amp;amp; Hold. Не окончательная доказанная реализованная прибыль, но уже сильный позитивный сигнал.&lt;/p&gt;
  &lt;p id=&quot;wzg9&quot;&gt;Балансовая сверка почти закрыта (остаток XLM −0.003 — скорее всего комиссии).&lt;/p&gt;
  &lt;h3 id=&quot;8NH2&quot;&gt;4. Важный архитектурный вывод&lt;/h3&gt;
  &lt;p id=&quot;8tgR&quot;&gt;Существующий Fill Guard уже контролирует не только общую долю XLM, но и &lt;strong&gt;доступный&lt;/strong&gt; инвентарь с учётом открытых ордеров.&lt;/p&gt;
  &lt;p id=&quot;48Dt&quot;&gt;Поэтому нельзя просто заменить старый Inventory Guard новым InventoryMode. Нужно чётко разделить слои:&lt;/p&gt;
  &lt;ul id=&quot;wNwL&quot;&gt;
    &lt;li id=&quot;q1kb&quot;&gt;&lt;strong&gt;InventoryMode&lt;/strong&gt; — экономическое направление (когда и насколько ограничивать покупки/продажи)&lt;/li&gt;
    &lt;li id=&quot;XQez&quot;&gt;&lt;strong&gt;Fill Guard&lt;/strong&gt; — техническая безопасность (доступные остатки + прогноз полного исполнения)&lt;/li&gt;
    &lt;li id=&quot;nQM5&quot;&gt;&lt;strong&gt;Execution Layer&lt;/strong&gt; — формирует реальные размеры ордеров только после прохождения обеих проверок&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;C0BG&quot;&gt;Эти слои не должны отменять защиту друг друга.&lt;/p&gt;
  &lt;h3 id=&quot;sZWr&quot;&gt;Вердикт и следующий этап&lt;/h3&gt;
  &lt;figure id=&quot;4OUx&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d9/88/d9882a13-2249-48ec-8968-f5c7df4747c7.png&quot; width=&quot;539&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;HcYt&quot;&gt;&lt;strong&gt;Переходим к SHADOW №2&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;a5Ld&quot;&gt;Сохраняем фиксированный спред 25 bps и добавляем три механизма:&lt;/p&gt;
  &lt;ol id=&quot;MEfc&quot;&gt;
    &lt;li id=&quot;vBb2&quot;&gt;&lt;strong&gt;Inventory Cost&lt;/strong&gt; — учёт себестоимости XLM (новые покупки отдельно от старого остатка)&lt;/li&gt;
    &lt;li id=&quot;I1HS&quot;&gt;&lt;strong&gt;Inventory Age&lt;/strong&gt; — сколько времени каждая партия XLM находится в портфеле&lt;/li&gt;
    &lt;li id=&quot;nTtV&quot;&gt;&lt;strong&gt;Markout&lt;/strong&gt; — оценка качества исполнения через 1 / 5 / 15 минут после реальных сделок&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;QZUm&quot;&gt;Это позволит понять не только то, что бот покупает дешевле, чем продаёт, но и действительно ли он выбирает удачные моменты и сколько капитала «замораживается» из-за долгого удержания инвентаря.&lt;/p&gt;
  &lt;p id=&quot;5e0v&quot;&gt;SPREAD25 не трогаем. Динамический спред откладываем.&lt;/p&gt;
  &lt;tt-tags id=&quot;L6af&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;shadowtest&quot;&gt;#shadowtest&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>matt333:BAAqPhMslni</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/BAAqPhMslni?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>Дневник. SDEX Market Maker — результаты за 12.2 часа</title><published>2026-11-05T07:25:12.793Z</published><updated>2026-11-05T07:25:12.793Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/32/04/3204dd7e-5487-4e17-bcf3-b46595e40526.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/09/b7/09b73d61-9df9-4e27-8214-6da42736a972.jpeg&quot;&gt;Разбор очередного контрольного периода после пополнения капитала.</summary><content type="html">
  &lt;figure id=&quot;Mm2o&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/09/b7/09b73d61-9df9-4e27-8214-6da42736a972.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Oc1j&quot;&gt;Разбор очередного контрольного периода после пополнения капитала.&lt;/p&gt;
  &lt;figure id=&quot;xFMC&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e0/05/e0051a4e-9f0a-4b87-8296-1d4f2f69eada.png&quot; width=&quot;219&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;dUg5&quot;&gt;Почти три четверти времени бот котировал обе стороны. Это заметно лучше, чем сразу после пополнения.&lt;/p&gt;
  &lt;figure id=&quot;crmx&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1e/fa/1efa2904-5894-4c02-b671-7916514c0900.png&quot; width=&quot;474&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;tq6E&quot;&gt;3. Поток и результат&lt;/p&gt;
  &lt;figure id=&quot;4wFD&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e7/8c/e78c37a5-d867-4a6f-873a-5ad661daa99d.png&quot; width=&quot;456&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;u5bt&quot;&gt;При цене ≈ 598–600 AQUA/XLM:&lt;/p&gt;
  &lt;ul id=&quot;51Lp&quot;&gt;
    &lt;li id=&quot;ICcx&quot;&gt;8698 AQUA ≈ 14.52 XLM&lt;/li&gt;
    &lt;li id=&quot;VGRu&quot;&gt;Итого после комиссий — &lt;strong&gt;почти ноль&lt;/strong&gt; (очень слабый плюс).&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;KpxE&quot;&gt;4. Поведение инвентаря&lt;/h3&gt;
  &lt;p id=&quot;XbFs&quot;&gt;Бот по-прежнему ходит от одного края band (30%) к другому (70%), но уже не зависает на одной стороне надолго. Маятник остаётся, но амплитуда стала управляемее.&lt;/p&gt;
  &lt;h3 id=&quot;DXTp&quot;&gt;Итоговая оценка периода&lt;/h3&gt;
  &lt;figure id=&quot;SLIK&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bc/70/bc70a4a7-ff03-483a-941f-c53a5db986af.png&quot; width=&quot;556&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;B7cA&quot;&gt;Вывод&lt;/h3&gt;
  &lt;p id=&quot;HPIW&quot;&gt;После пополнения бот стал заметно стабильнее — почти ¾ времени обе стороны в рынке.&lt;br /&gt; Чистый результат пока около нуля.&lt;br /&gt; Капитала уже хватает, чтобы не сидеть постоянно на одной стороне, но запас всё ещё тонкий для совсем спокойной работы без крайних перекосов.&lt;/p&gt;
  &lt;p id=&quot;QCKE&quot;&gt;&lt;strong&gt;Рекомендация на сейчас:&lt;/strong&gt;&lt;br /&gt; Не добавлять капитал.&lt;br /&gt; Понаблюдать ещё один такой же период (10–12 часов) и сравнить те же метрики.&lt;br /&gt; Если доля времени с обеими сторонами удержится выше 70%, а P&amp;amp;L будет стабильно около нуля или лучше — тогда можно будет решать, стоит ли наращивать позицию.&lt;/p&gt;
  &lt;p id=&quot;DbAG&quot;&gt;Параметры не трогаем.&lt;/p&gt;
  &lt;tt-tags id=&quot;Eb7H&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>matt333:SKTzQ8sxgTO</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/SKTzQ8sxgTO?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>Дневник. SDEX Market Maker — сверка закрыта, первая полезная оценка эффективности</title><published>2026-11-04T17:26:46.334Z</published><updated>2026-11-04T17:26:46.334Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/d0/c6/d0c67587-3d9e-4bb1-bf12-0b52a5bb0061.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/85/19/85197515-b401-4e35-a6b3-8843dbf92f3d.jpeg&quot;&gt;Хорошие новости по двум направлениям.</summary><content type="html">
  &lt;figure id=&quot;1SUj&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/85/19/85197515-b401-4e35-a6b3-8843dbf92f3d.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;d0wK&quot;&gt;Хорошие новости по двум направлениям.&lt;/p&gt;
  &lt;h3 id=&quot;QX2D&quot;&gt;1. Контрольный интервал полностью сверен&lt;/h3&gt;
  &lt;p id=&quot;tySU&quot;&gt;Период 4 ноября 08:57:48 – 09:18:39 UTC закрыт без остаточного расхождения.&lt;/p&gt;
  &lt;p id=&quot;ryB8&quot;&gt;&lt;strong&gt;Комиссии нашего кошелька:&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;xHhd&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/57/80575b55-2715-42b9-8b88-9a8f8ba11430.png&quot; width=&quot;384&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;vwNC&quot;&gt;Сверка XLM:&lt;/p&gt;
  &lt;figure id=&quot;epoj&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9d/27/9d27dedd-5624-42ae-9d54-3cf89a5e3376.png&quot; width=&quot;282&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Eo7E&quot;&gt;Сверка AQUA:&lt;/p&gt;
  &lt;figure id=&quot;QMBs&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/80/9d/809d731f-671a-4b83-b379-6b9254c654c4.png&quot; width=&quot;292&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0og0&quot;&gt;21 сделка + 1 входящий перевод + 4 комиссии нашего аккаунта полностью объясняют движение балансов. Необъяснённой потери средств в этом интервале нет.&lt;/p&gt;
  &lt;p id=&quot;gFxY&quot;&gt;Это важный методологический результат: при правильном учёте стороны сделки, переводов и комиссий сверка сходится до нуля.&lt;/p&gt;
  &lt;h3 id=&quot;CovZ&quot;&gt;2. Первая полезная оценка эффективности стратегии&lt;/h3&gt;
  &lt;p id=&quot;g5t4&quot;&gt;Теперь по более длинному периоду появилась действительно рабочая картина.&lt;/p&gt;
  &lt;p id=&quot;6Ggl&quot;&gt;&lt;strong&gt;Средние цены:&lt;/strong&gt;&lt;/p&gt;
  &lt;ul id=&quot;eYFt&quot;&gt;
    &lt;li id=&quot;8tbo&quot;&gt;Средневзвешенная цена BUY XLM: &lt;strong&gt;595.546870 AQUA&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;av0u&quot;&gt;Средневзвешенная цена SELL XLM: &lt;strong&gt;596.001985 AQUA&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;2zRQ&quot;&gt;Разница: &lt;strong&gt;+7.642 bps&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;pCpB&quot;&gt;Валовой ценовой дифференциал положительный. Средняя цена продажи выше средней цены покупки — хороший сигнал для маркет-мейкера. Пока это ещё не чистая прибыль (сделки происходили в разное время), но направление правильное.&lt;/p&gt;
  &lt;p id=&quot;gocS&quot;&gt;Бот закончил период с чуть меньшим XLM и большим AQUA. Поэтому оценивать результат только по количеству монет нельзя — нужна рыночная оценка остаточной позиции.&lt;/p&gt;
  &lt;p id=&quot;FA25&quot;&gt;&lt;strong&gt;Комиссии:&lt;/strong&gt; 0.0350077 XLM (по 528 транзакциям).&lt;/p&gt;
  &lt;p id=&quot;4CBf&quot;&gt;&lt;/p&gt;
  &lt;h3 id=&quot;ZV8z&quot;&gt;Промежуточный вердикт&lt;/h3&gt;
  &lt;figure id=&quot;FHoy&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/0d/d7/0dd71fcd-bf3c-4a1a-b3e0-c3e91646e50c.png&quot; width=&quot;423&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;pS45&quot;&gt;Оснований объявлять стратегию убыточной нет. Но и объявлять прибыльной до полной оценки инвентаря рано.&lt;/p&gt;
  &lt;h3 id=&quot;XRU3&quot;&gt;Что осталось в Этапе 2&lt;/h3&gt;
  &lt;p id=&quot;0RRF&quot;&gt;Три ключевых расчёта:&lt;/p&gt;
  &lt;ol id=&quot;zZ4w&quot;&gt;
    &lt;li id=&quot;rH1d&quot;&gt;&lt;strong&gt;Realized P&amp;amp;L&lt;/strong&gt; — результат завершённых циклов с учётом комиссий&lt;/li&gt;
    &lt;li id=&quot;oEcN&quot;&gt;&lt;strong&gt;Unrealized P&amp;amp;L&lt;/strong&gt; — рыночная стоимость остаточного инвентаря&lt;/li&gt;
    &lt;li id=&quot;3Rww&quot;&gt;&lt;strong&gt;Buy &amp;amp; Hold&lt;/strong&gt; — сколько стоил бы тот же стартовый портфель без торговли&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;Jv6P&quot;&gt;Rewards учитываем отдельной строкой.&lt;/p&gt;
  &lt;p id=&quot;oo5t&quot;&gt;Торговые параметры не меняем (Spread 20 bps, Target 50%, Band 30–70%, Cooldown 60 сек).&lt;/p&gt;
  &lt;p id=&quot;rRCB&quot;&gt;Следующий шаг — собрать единый P&amp;amp;L-отчёт с оценкой портфеля на начало и конец. После этого можно будет наконец ответить на главный вопрос: приносит ли SDEX Market Maker экономическую прибыль после всех расходов.&lt;/p&gt;
  &lt;tt-tags id=&quot;bLBR&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>matt333:TV4ip88eoUP</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/TV4ip88eoUP?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>Дневник. SDEX Market Maker - сверка дорожной карты (4 ноября)</title><published>2026-11-04T06:53:07.214Z</published><updated>2026-11-04T06:53:07.214Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/c8/55/c855f835-93da-4e69-a894-b2f7c921ff54.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/9b/46/9b468bf0-92a3-4514-9b0b-299e01c85941.jpeg&quot;&gt;Сверил фактическое состояние бота с дорожной картой. Главный вывод: мы уже хорошо продвинулись по Этапу 1, но пока не закрыли его полностью. Переходить к настройке стратегии или тем более к ML/RL пока рано.</summary><content type="html">
  &lt;figure id=&quot;ttsk&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9b/46/9b468bf0-92a3-4514-9b0b-299e01c85941.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;H74V&quot;&gt;Сверил фактическое состояние бота с дорожной картой. Главный вывод: мы уже хорошо продвинулись по Этапу 1, но пока не закрыли его полностью. Переходить к настройке стратегии или тем более к ML/RL пока рано.&lt;/p&gt;
  &lt;h3 id=&quot;r4dh&quot;&gt;Подготовительный этап — техническая надёжность&lt;/h3&gt;
  &lt;figure id=&quot;BK2o&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/8e/ec/8eece1c7-ac78-4de3-823c-da6c0b12cafd.png&quot; width=&quot;461&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;aWQb&quot;&gt;По технической части сейчас нет причин что-то менять.&lt;/p&gt;
  &lt;h3 id=&quot;Jdxr&quot;&gt;Этап 1. Execution Ledger — выполнен частично&lt;/h3&gt;
  &lt;p id=&quot;Yc7L&quot;&gt;Уже есть восстановленный файл sdex_fills_merged.csv:&lt;/p&gt;
  &lt;ul id=&quot;FwLD&quot;&gt;
    &lt;li id=&quot;uCO1&quot;&gt;3095 уникальных исполнений&lt;/li&gt;
    &lt;li id=&quot;EkvS&quot;&gt;Период: 2 ноября 19:11 — 4 ноября 04:36 UTC&lt;/li&gt;
    &lt;li id=&quot;GDHG&quot;&gt;Есть offer_id, сторона, объёмы, цена, timestamp, transaction hash, operation ID&lt;/li&gt;
    &lt;li id=&quot;qH5z&quot;&gt;Дубликатов нет&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;Uwiu&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/19/d2/19d24a2e-90de-482b-ab06-cb434f7a65a3.png&quot; width=&quot;362&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;93hG&quot;&gt;Важно: комиссия списывается за транзакцию, а не за каждое исполнение внутри неё. Поэтому нельзя вычитать одну и ту же комиссию из каждой строки Fill Ledger.&lt;/p&gt;
  &lt;p id=&quot;nLW9&quot;&gt;&lt;strong&gt;Что осталось по Этапу 1:&lt;/strong&gt;&lt;/p&gt;
  &lt;ol id=&quot;wxr3&quot;&gt;
    &lt;li id=&quot;INt1&quot;&gt;Обновить историю исполнений после 04:36 UTC&lt;/li&gt;
    &lt;li id=&quot;XSpC&quot;&gt;Проверить полноту данных через Horizon&lt;/li&gt;
    &lt;li id=&quot;DbS0&quot;&gt;Связать transaction_hash с реально списанными комиссиями&lt;/li&gt;
    &lt;li id=&quot;umsl&quot;&gt;Проверить частичные исполнения&lt;/li&gt;
    &lt;li id=&quot;aFoy&quot;&gt;Сделать постоянный автоматический Execution Ledger (чтобы не восстанавливать вручную)&lt;/li&gt;
  &lt;/ol&gt;
  &lt;h3 id=&quot;ljHa&quot;&gt;Этап 2. Измерение эффективности — данные есть, расчёты не завершены&lt;/h3&gt;
  &lt;p id=&quot;dpHb&quot;&gt;Уже известно:&lt;/p&gt;
  &lt;figure id=&quot;oYDo&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a7/2d/a72d6e91-bf6a-46da-a771-072e90120ab5.png&quot; width=&quot;237&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;2SjI&quot;&gt;Окончательный P&amp;amp;L пока не посчитан. Старый pnl_report.py использует неправильный файл и упрощённую формулу.&lt;/p&gt;
  &lt;p id=&quot;aJNO&quot;&gt;Нужно корректно посчитать:&lt;/p&gt;
  &lt;ul id=&quot;5bce&quot;&gt;
    &lt;li id=&quot;0NJa&quot;&gt;фактически заработанный спред&lt;/li&gt;
    &lt;li id=&quot;qW4R&quot;&gt;средние цены покупки/продажи&lt;/li&gt;
    &lt;li id=&quot;iZta&quot;&gt;комиссии в едином эквиваленте&lt;/li&gt;
    &lt;li id=&quot;R0sA&quot;&gt;проскальзывание&lt;/li&gt;
    &lt;li id=&quot;ebW3&quot;&gt;прибыль по завершённым циклам&lt;/li&gt;
    &lt;li id=&quot;8qDx&quot;&gt;нереализованный результат открытой позиции&lt;/li&gt;
    &lt;li id=&quot;oLsk&quot;&gt;rewards отдельно от торговой прибыли&lt;/li&gt;
    &lt;li id=&quot;a6OK&quot;&gt;сравнение с Buy &amp;amp; Hold&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;ZZHJ&quot;&gt;Этап 3 и 4 — пока не трогаем&lt;/h3&gt;
  &lt;p id=&quot;RlZG&quot;&gt;Параметры оставляем без изменений:&lt;/p&gt;
  &lt;ul id=&quot;3DNk&quot;&gt;
    &lt;li id=&quot;4lhY&quot;&gt;Target 50%&lt;/li&gt;
    &lt;li id=&quot;0BD1&quot;&gt;Inventory Band 30–70%&lt;/li&gt;
    &lt;li id=&quot;DIf7&quot;&gt;Insurance 18 XLM / 1200 AQUA&lt;/li&gt;
    &lt;li id=&quot;B1mi&quot;&gt;Spread 20 bps&lt;/li&gt;
    &lt;li id=&quot;BU8O&quot;&gt;Cooldown 60 сек&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;urr6&quot;&gt;К экспериментам со спредом, размерами уровней и тем более к ML/RL переходим только после качественной статистики Этапа 2.&lt;/p&gt;
  &lt;h3 id=&quot;JK2l&quot;&gt;Что делаем дальше (приоритеты)&lt;/h3&gt;
  &lt;ol id=&quot;MoiK&quot;&gt;
    &lt;li id=&quot;jIVc&quot;&gt;Завершить восстановление истории исполнений&lt;/li&gt;
    &lt;li id=&quot;2QKD&quot;&gt;Довести Execution Ledger до конца (комиссии + частичные исполнения)&lt;/li&gt;
    &lt;li id=&quot;p2ul&quot;&gt;Сделать корректный P&amp;amp;L-отчёт&lt;/li&gt;
    &lt;li id=&quot;0x2r&quot;&gt;Наблюдать на текущих параметрах&lt;/li&gt;
    &lt;li id=&quot;vA1s&quot;&gt;Только потом — экономическая оценка и возможные изменения стратегии&lt;/li&gt;
    &lt;li id=&quot;Cp1k&quot;&gt;ML/RL и Walk-Forward - в самом конце, когда накопится чистая история&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;TTim&quot;&gt;&lt;strong&gt;Итог:&lt;/strong&gt;&lt;br /&gt; Техническая надёжность уже на хорошем уровне. Сейчас самое важное - превратить поток сделок в полноценный финансовый журнал. Иначе мы видим сотни исполнений и rewards, но до сих пор не знаем точную цифру: сколько бот реально заработал после всех издержек.&lt;/p&gt;
  &lt;p id=&quot;fLeS&quot;&gt;Следующий конкретный шаг - продолжить работу с recover_and_merge.py, обновить историю и закрыть Этап 1.&lt;/p&gt;
  &lt;p id=&quot;r9mg&quot;&gt;Торговые настройки не трогаем.&lt;/p&gt;
  &lt;tt-tags id=&quot;FaH4&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>matt333:jxND834Og6N</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/jxND834Og6N?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>Дневник. SDEX Market Maker - разбор 6 часов и критический баг</title><published>2026-11-03T07:29:04.067Z</published><updated>2026-11-03T07:29:04.067Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/3f/ee/3fee8068-d675-4845-983b-029b6e3121c9.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/db/1f/db1fe748-55cc-4dd0-88a2-78b4b23adbf8.jpeg&quot;&gt;Проанализировал шестичасовой период работы маркет-мейкера. Картина получилась показательной: есть признаки рабочего ценового преимущества, но существенной чистой прибыли пока нет. И главное - обнаружен конкретный сбой защиты XLM, который важнее любой оптимизации доходности.</summary><content type="html">
  &lt;figure id=&quot;t9yz&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/db/1f/db1fe748-55cc-4dd0-88a2-78b4b23adbf8.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;f2pi&quot;&gt;Проанализировал шестичасовой период работы маркет-мейкера. Картина получилась показательной: есть признаки рабочего ценового преимущества, но существенной чистой прибыли пока нет. И главное - обнаружен конкретный сбой защиты XLM, который важнее любой оптимизации доходности.&lt;/p&gt;
  &lt;h3 id=&quot;ghPs&quot;&gt;1. Качество данных&lt;/h3&gt;
  &lt;p id=&quot;FQVb&quot;&gt;Сначала очистил статистику от дублей:&lt;/p&gt;
  &lt;p id=&quot;Yyer&quot;&gt;&lt;/p&gt;
  &lt;figure id=&quot;49Bw&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c0/e3/c0e38bb8-0772-48df-8902-e7de5d4a9d0e.png&quot; width=&quot;436&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TqwC&quot;&gt;39 точных повторов в исполнениях и 8 в транзакциях. Без очистки статистика сильно искажалась бы (лишние 5,17 XLM продаж и 0,97 XLM покупок).&lt;/p&gt;
  &lt;p id=&quot;f69N&quot;&gt;Есть и неполнота: CSV с исполнениями обрывается в 05:27 UTC, а журнал бота идёт до 09:24. Последние ~57 минут периода в файл не попали. Именно в конце этого окна произошёл заметный сдвиг балансов (XLM вырос, AQUA упал), которого нет в fills.&lt;/p&gt;
  &lt;h3 id=&quot;Srtr&quot;&gt;2. Качество исполнения&lt;/h3&gt;
  &lt;figure id=&quot;2bK2&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/73/cd/73cdadae-8b78-41e1-a3c0-a3bba25e6d0c.png&quot; width=&quot;446&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;U2bQ&quot;&gt;Средняя цена продажи выше средней цены покупки на &lt;strong&gt;0,40 AQUA/XLM&lt;/strong&gt; (~6,66 bps).&lt;/p&gt;
  &lt;p id=&quot;yoY5&quot;&gt;Ещё интереснее сравнение с предыдущим mid:&lt;/p&gt;
  &lt;ul id=&quot;50ur&quot;&gt;
    &lt;li id=&quot;Sppu&quot;&gt;Покупки XLM исполнялись в среднем на &lt;strong&gt;+11,55 bps&lt;/strong&gt; лучше предыдущего mid&lt;/li&gt;
    &lt;li id=&quot;RDOt&quot;&gt;Продажи XLM - на &lt;strong&gt;+8,28 bps&lt;/strong&gt; лучше&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;wMvk&quot;&gt;Это хороший сигнал: котировки в целом дают ожидаемое ценовое преимущество. Пока нет оснований сужать или расширять спред 20 bps.&lt;/p&gt;
  &lt;h3 id=&quot;TuAo&quot;&gt;3. Финансовый результат&lt;/h3&gt;
  &lt;p id=&quot;loK6&quot;&gt;Оценка торгового капитала бота:&lt;/p&gt;
  &lt;ul id=&quot;k26f&quot;&gt;
    &lt;li id=&quot;iB7B&quot;&gt;Начало периода: ≈ 7250,22 AQUA&lt;/li&gt;
    &lt;li id=&quot;xfrs&quot;&gt;Конец периода: ≈ 7252,91 AQUA&lt;/li&gt;
    &lt;li id=&quot;mqG3&quot;&gt;Изменение: &lt;strong&gt;+2,69 AQUA&lt;/strong&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;NBqa&quot;&gt;Полная оценка портфеля по рынку даёт примерно от +1,84 до +4,96 AQUA на капитале ~19 142 AQUA. Это &lt;strong&gt;+0,01–0,03%&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;7R7O&quot;&gt;Стратегия за эти шесть часов была близка к безубыточной. Есть качество исполнения, но пока нет убедительной чистой доходности.&lt;/p&gt;
  &lt;h3 id=&quot;sY2r&quot;&gt;4. Критический баг: пробит страховой пол XLM&lt;/h3&gt;
  &lt;p id=&quot;CUjq&quot;&gt;Это главный вывод анализа.&lt;/p&gt;
  &lt;p id=&quot;4O9l&quot;&gt;В 09:08:47 бот выставил ASK на 3,9914 XLM.&lt;br /&gt; Уже через 10 секунд расчёт показал:&lt;/p&gt;
  &lt;figure id=&quot;84hm&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c1/55/c155bae5-ad33-4fd8-8fcf-491313493ece.png&quot; width=&quot;574&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;5Vk0&quot;&gt;Предупреждение было, но ASK оставался в рынке. Только через минуту бот решил отключить ASK, а к 09:10:11 фактический баланс уже составлял &lt;strong&gt;17,70 XLM&lt;/strong&gt; - ниже установленного минимума 18.&lt;/p&gt;
  &lt;p id=&quot;2Zkt&quot;&gt;Ниже пола бот пробыл в семи подряд снимках.&lt;/p&gt;
  &lt;p id=&quot;eEoM&quot;&gt;&lt;strong&gt;Что нужно исправить&lt;/strong&gt;&lt;br /&gt; Проверка должна быть жёсткой и учитывать не только текущий баланс, но и весь открытый ASK:&lt;/p&gt;
  &lt;figure id=&quot;iUez&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f5/37/f5374cde-7633-4e95-9f4c-1088a0b28f58.png&quot; width=&quot;352&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;aUCH&quot;&gt;Если условие нарушается — ASK нужно блокировать или немедленно сокращать. Одного предупреждения в логе недостаточно.&lt;/p&gt;
  &lt;h3 id=&quot;Gify&quot;&gt;5. Перекос инвентаря&lt;/h3&gt;
  &lt;p id=&quot;4b9I&quot;&gt;Доля XLM в торговом капитале снизилась с 65% до 58% - движение в сторону целевых 50%.&lt;br /&gt; Но при полном исполнении всех открытых ордеров проекция уходит до 43% и ниже (в одном снимке даже до 37%).&lt;/p&gt;
  &lt;p id=&quot;yan4&quot;&gt;Текущая защита 30–70% слишком широкая. Нужно лучше контролировать сценарий «если исполнятся все заявки».&lt;/p&gt;
  &lt;h3 id=&quot;Bz19&quot;&gt;6. Инфраструктура&lt;/h3&gt;
  &lt;p id=&quot;4lk4&quot;&gt;За период:&lt;/p&gt;
  &lt;ul id=&quot;s86f&quot;&gt;
    &lt;li id=&quot;pxuz&quot;&gt;57 успешных перестановок&lt;/li&gt;
    &lt;li id=&quot;ulXy&quot;&gt;5 неуспешных транзакций&lt;/li&gt;
    &lt;li id=&quot;ZNom&quot;&gt;Несколько переключений Horizon и две паузы из-за рассинхронизации снимков&lt;/li&gt;
    &lt;li id=&quot;h32n&quot;&gt;Failover и реконсиляция отработали, бот не остановился&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;VbUs&quot;&gt;Работает, но идеальной стабильности ещё нет.&lt;/p&gt;
  &lt;h3 id=&quot;O6VL&quot;&gt;Приоритеты&lt;/h3&gt;
  &lt;ol id=&quot;8ukL&quot;&gt;
    &lt;li id=&quot;3htU&quot;&gt;&lt;strong&gt;Обязательно&lt;/strong&gt; - исправить защиту страхового остатка XLM (учитывать ASK liability).&lt;/li&gt;
    &lt;li id=&quot;mwTC&quot;&gt;Усилить контроль сценария полного исполнения сетки относительно целевой доли 50%.&lt;/li&gt;
    &lt;li id=&quot;qGhi&quot;&gt;Только после этого заново оценивать прибыльность на полных данных.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;VRuP&quot;&gt;Параметры (спред 20 bps, cooldown 60 сек, три уровня) пока не трогаем.&lt;/p&gt;
  &lt;p id=&quot;Tqm6&quot;&gt;Итог: ценовое преимущество есть, чистой прибыли пока почти нет, а вот дыра в защите XLM - реальная и требует немедленного закрытия.&lt;/p&gt;
  &lt;tt-tags id=&quot;yDml&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>matt333:ZPcmVmhOARs</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/ZPcmVmhOARs?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>Дневник. SDEX Market Maker — обновление состояния</title><published>2026-11-02T10:30:14.061Z</published><updated>2026-11-02T10:30:14.061Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/6a/c5/6ac59c49-2c12-409d-a936-457298ae98b6.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/06/4d/064d791d-a306-4f21-b269-e8579fa202c6.jpeg&quot;&gt;Прошло несколько часов после запуска. Разбираем, что происходит на самом деле.</summary><content type="html">
  &lt;figure id=&quot;AAP2&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/06/4d/064d791d-a306-4f21-b269-e8579fa202c6.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;R37f&quot;&gt;Прошло несколько часов после запуска. Разбираем, что происходит на самом деле.&lt;/p&gt;
  &lt;h3 id=&quot;x6Pn&quot;&gt;&lt;/h3&gt;
  &lt;figure id=&quot;0NtN&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d1/b1/d1b15cfe-8dc7-49c0-bb2d-00d7419a5582.png&quot; width=&quot;1358&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;OLDB&quot;&gt;Реальные балансы&lt;/p&gt;
  &lt;p id=&quot;HEee&quot;&gt;XLM &lt;strong&gt;26.25&lt;/strong&gt; / AQUA &lt;strong&gt;3460&lt;/strong&gt; — стабильно.&lt;/p&gt;
  &lt;p id=&quot;1Ryl&quot;&gt;Ранее мелькавшая цифра 27.08 оказалась устаревшим кэшем Lobstr. К 12:54 данные синхронизировались, и баланс вернулся к реальному значению. Никакого «слива» или аномалии не было.&lt;/p&gt;
  &lt;h3 id=&quot;xwGH&quot;&gt;Текущее состояние ордеров&lt;/h3&gt;
  &lt;figure id=&quot;mjvS&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/83/09/8309bc0f-00fc-4e3d-882d-a677ebc10007.png&quot; width=&quot;417&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;LalZ&quot;&gt;Floors в порядке:&lt;/p&gt;
  &lt;ul id=&quot;gjBq&quot;&gt;
    &lt;li id=&quot;bLlT&quot;&gt;XLM free ≈ 12.62 ✅&lt;/li&gt;
    &lt;li id=&quot;Fn7V&quot;&gt;AQUA free ≈ 1336 ✅&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;AOqA&quot;&gt;Активность за 24 часа&lt;/h3&gt;
  &lt;ul id=&quot;b9Hh&quot;&gt;
    &lt;li id=&quot;XPs1&quot;&gt;&lt;strong&gt;Rewards&lt;/strong&gt;: 9.21 AQUA — стабильно капают&lt;/li&gt;
    &lt;li id=&quot;lW5A&quot;&gt;&lt;strong&gt;Fills&lt;/strong&gt;: в основном BID (около 200 мелких сделок)&lt;/li&gt;
    &lt;li id=&quot;com9&quot;&gt;Последний fill: 08:17 (более 4,5 часов назад)&lt;/li&gt;
    &lt;li id=&quot;Ly39&quot;&gt;ASK fills в видимом окне практически отсутствуют&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;d2El&quot;&gt;Рынок заметно затих. Bid-ы продолжают изредка исполняться мелкими объёмами, Ask стоит выше рынка и ждёт покупателя, готового заплатить премию +0.3%.&lt;/p&gt;
  &lt;h3 id=&quot;wGRp&quot;&gt;Почему XLM почти не вырос&lt;/h3&gt;
  &lt;p id=&quot;9Jfr&quot;&gt;Несмотря на 200 bid-филлов, прирост XLM минимальный. Причины:&lt;/p&gt;
  &lt;ol id=&quot;Ax2y&quot;&gt;
    &lt;li id=&quot;wtOo&quot;&gt;Филлы очень мелкие (в среднем доли XLM).&lt;/li&gt;
    &lt;li id=&quot;x9rd&quot;&gt;Часть более ранних ask-филлов могла произойти за пределами 24-часового окна.&lt;/li&gt;
    &lt;li id=&quot;WNKr&quot;&gt;Возможны path_payment-сделки, которые не всегда корректно отражаются в стандартной выдаче /trades.&lt;/li&gt;
  &lt;/ol&gt;
  &lt;p id=&quot;oRMB&quot;&gt;В любом случае текущий баланс 26.25 XLM выглядит устойчивым и согласованным.&lt;/p&gt;
  &lt;h3 id=&quot;p6ki&quot;&gt;Вывод&lt;/h3&gt;
  &lt;p id=&quot;caE9&quot;&gt;Бот работает штатно:&lt;/p&gt;
  &lt;ul id=&quot;nL61&quot;&gt;
    &lt;li id=&quot;kZFu&quot;&gt;Обе стороны рынка представлены&lt;/li&gt;
    &lt;li id=&quot;IOqL&quot;&gt;Защитные floors держатся&lt;/li&gt;
    &lt;li id=&quot;zznW&quot;&gt;Rewards продолжают начисляться&lt;/li&gt;
    &lt;li id=&quot;94ms&quot;&gt;Инфраструктура (Ledger Guard + Horizon failover) отрабатывает без сбоев&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;xocd&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b6/5d/b65da9ad-d20a-46c0-998e-bded0a9e6e74.png&quot; width=&quot;1331&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;TWqw&quot;&gt;Ask не заполняется — это нормальная ситуация для маркет-мейкера. Ордера стоят чуть выше рынка и ждут своего покупателя. Когда цена подойдёт к 599–600, цикл закроется, AQUA вернётся, и бот продолжит работу.&lt;/p&gt;
  &lt;p id=&quot;90Os&quot;&gt;Пока ничего не трогаем. Ждём статистики по более длинному окну и первым полноценным двусторонним циклам.&lt;/p&gt;
  &lt;tt-tags id=&quot;rM1V&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>matt333:ESwCj63rnlx</id><link rel="alternate" type="text/html" href="https://teletype.in/@matt333/ESwCj63rnlx?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=matt333"></link><title>Дневник. Новый проект: SDEX Market Maker v1.0</title><published>2026-11-02T07:05:07.098Z</published><updated>2026-11-02T07:05:07.098Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/41/e2/41e21375-c235-4d86-924e-3db7884cac09.png"></media:thumbnail><tt:hashtag>stellar</tt:hashtag><tt:hashtag>xlm</tt:hashtag><tt:hashtag>aqua</tt:hashtag><tt:hashtag>sdex</tt:hashtag><tt:hashtag>marketmaker</tt:hashtag><tt:hashtag>algotrading</tt:hashtag><tt:hashtag>liquidity</tt:hashtag><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/88/e8/88e880f0-68f6-41cd-9eba-1dda4e6de553.jpeg&quot;&gt;Пока грид-бот по XLM/USDC продолжает свою работу, стартовал второй проект — маркет-мейкер на SDEX для пары XLM/AQUA.</summary><content type="html">
  &lt;figure id=&quot;TNSK&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/88/e8/88e880f0-68f6-41cd-9eba-1dda4e6de553.jpeg&quot; width=&quot;1168&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0mvh&quot;&gt;Пока грид-бот по XLM/USDC продолжает свою работу, стартовал второй проект — маркет-мейкер на SDEX для пары &lt;strong&gt;XLM/AQUA&lt;/strong&gt;.&lt;/p&gt;
  &lt;p id=&quot;TIlF&quot;&gt;Цель простая и прагматичная: предоставлять двустороннюю ликвидность и зарабатывать AQUA-rewards, которые раздаёт экосистема за предоставление объёма в стакане.&lt;/p&gt;
  &lt;h3 id=&quot;DAq4&quot;&gt;Что делает бот&lt;/h3&gt;
  &lt;ul id=&quot;zvGa&quot;&gt;
    &lt;li id=&quot;yUUw&quot;&gt;&lt;strong&gt;Ask&lt;/strong&gt; — продаёт XLM за AQUA выше mid&lt;/li&gt;
    &lt;li id=&quot;tBK9&quot;&gt;&lt;strong&gt;Bid&lt;/strong&gt; — покупает XLM за AQUA ниже mid&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;3QqJ&quot;&gt;Три уровня с каждой стороны, спред ±0.30% от mid, расстояние между уровнями 0.15%. Перестановка ордеров происходит атомарно (cancel + place в одной транзакции), когда mid уходит больше чем на 15 bps.&lt;/p&gt;
  &lt;h3 id=&quot;MWFV&quot;&gt;Ключевые параметры на старте&lt;/h3&gt;
  &lt;figure id=&quot;Qo10&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6a/c3/6ac3d0d4-8ef4-4a1e-9651-21baaabce1cb.png&quot; width=&quot;279&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;xv7m&quot;&gt;Главное — инфраструктурная надёжность&lt;/h3&gt;
  &lt;p id=&quot;2q6s&quot;&gt;В боте заложена серьёзная защита, потому что Horizon иногда ведёт себя нестабильно:&lt;/p&gt;
  &lt;ul id=&quot;Qexq&quot;&gt;
    &lt;li id=&quot;3vgs&quot;&gt;&lt;strong&gt;Multi-Horizon failover&lt;/strong&gt;: LOBSTR → STELLAR → ANKR&lt;/li&gt;
    &lt;li id=&quot;94F7&quot;&gt;Чтение предпочитает LOBSTR, все записи идут &lt;strong&gt;только&lt;/strong&gt; через официальный STELLAR&lt;/li&gt;
    &lt;li id=&quot;Rkof&quot;&gt;&lt;strong&gt;Ledger Guard&lt;/strong&gt; — бот не отправляет транзакцию, если снимки балансов, офферов и стакана несогласованы или устарели&lt;/li&gt;
    &lt;li id=&quot;3Jxi&quot;&gt;Полная реконсиляция транзакций по хешу (никаких слепых ретраев)&lt;/li&gt;
    &lt;li id=&quot;tjBi&quot;&gt;Pending-транзакция блокирует новые записи до выяснения исхода&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;V2f9&quot;&gt;Это не «ещё один простой бот». Это попытка сделать устойчивого маркет-мейкера, который переживает проблемы с API и не создаёт дублей ордеров.&lt;/p&gt;
  &lt;h3 id=&quot;wiGw&quot;&gt;Первый запуск (02.11.2026)&lt;/h3&gt;
  &lt;p id=&quot;jEQE&quot;&gt;Бот успешно стартовал, выставил 6 ордеров и за примерно 37 минут стабильной работы после последних переключений Horizon показал:&lt;/p&gt;
  &lt;ul id=&quot;3Hc6&quot;&gt;
    &lt;li id=&quot;6MDn&quot;&gt;2 успешные атомарные перестановки&lt;/li&gt;
    &lt;li id=&quot;l5Ls&quot;&gt;Ни одного падения&lt;/li&gt;
    &lt;li id=&quot;z2Ri&quot;&gt;Ledger Guard корректно останавливал торговлю при плохих снимках и возобновлял после восстановления&lt;/li&gt;
    &lt;li id=&quot;WiEA&quot;&gt;Балансы не менялись — реальных исполнений пока не было&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;O4kZ&quot;&gt;Последний статус на момент анализа:&lt;/p&gt;
  &lt;ul id=&quot;Iz6e&quot;&gt;
    &lt;li id=&quot;4KEJ&quot;&gt;XLM ≈ 27.08&lt;/li&gt;
    &lt;li id=&quot;oYeV&quot;&gt;AQUA ≈ 2962&lt;/li&gt;
    &lt;li id=&quot;FERh&quot;&gt;Mid ≈ 598.25&lt;/li&gt;
  &lt;/ul&gt;
  &lt;h3 id=&quot;hLQn&quot;&gt;Что дальше&lt;/h3&gt;
  &lt;p id=&quot;uD8i&quot;&gt;Пока ничего не трогаю. Менять спред (на 40 или 80 bps) или делать его асимметричным имеет смысл только после появления статистики реальных исполнений:&lt;/p&gt;
  &lt;ul id=&quot;Qt1a&quot;&gt;
    &lt;li id=&quot;F5KN&quot;&gt;Сколько bid/ask реально срабатывает&lt;/li&gt;
    &lt;li id=&quot;cR3r&quot;&gt;Как меняется баланс AQUA&lt;/li&gt;
    &lt;li id=&quot;cywV&quot;&gt;Какая чистая прибыль после комиссий&lt;/li&gt;
    &lt;li id=&quot;WygF&quot;&gt;Сколько rewards начисляется&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;lqww&quot;&gt;Сейчас важнее всего подтвердить, что инфраструктура держит нагрузку и корректно переживает проблемы Horizon. Это уже видно.&lt;/p&gt;
  &lt;p id=&quot;KZJf&quot;&gt;Следующий важный этап — дождаться первых сделок и посмотреть, как бот ведёт себя после исполнения ордеров.&lt;/p&gt;
  &lt;p id=&quot;Ypoa&quot;&gt;Новый проект официально в лайве.&lt;br /&gt; Наблюдаем.&lt;/p&gt;
  &lt;tt-tags id=&quot;iDVs&quot;&gt;
    &lt;tt-tag name=&quot;stellar&quot;&gt;#stellar&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;xlm&quot;&gt;#xlm&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;aqua&quot;&gt;#aqua&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;sdex&quot;&gt;#sdex&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;marketmaker&quot;&gt;#marketmaker&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;algotrading&quot;&gt;#algotrading&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;liquidity&quot;&gt;#liquidity&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry></feed>