Зміст статті
- Докази та сфера застосування
- Ілюстрація
- Процес
- Знімок та потік змін
- Завершіть вікно ознаки до визначення майбутньої цілі
- Відновлення книги ордерів — частина методу
- Синтетичні розрахунки та виконувані результати
- Затримка та тип ордера визначають економічний результат
- Регресія в одному вікні не доводить майбутньої альфи
- Поширені помилки
- Практичний список перевірки
- Поширені запитання
- Джерела дослідження
Докази та сфера застосування
Cont, Kukanov і Stoikov досліджують OFI та вплив на ціну для 50 акцій США. Запропоновані нижче прогнозна модель і модель виконання — окремі експерименти, не результати цієї роботи.
Практична послідовність дій
- Відновіть книгу ордерівЗастосуйте правила майданчика для знімків і дельт.
- Обчисліть OBI та eВідокремте видимий стан книги від потоку змін котирувань.
- Завершіть вікно ознакиВикористовуйте лише спостереження, отримані до прийняття рішення.
- Моделюйте прихід ордераЗастосуйте припущення про затримку, спред і чергу.
- Оцінити чистий майбутній дохідВідокремте прогноз від пояснення руху в тому самому вікні.
Знімок та потік змін
OBI=(B−A)/(B+A), де B та A — одночасно спостережувані обсяги на найкращих цінах купівлі й продажу. Багаторівневий варіант має явно обрати фіксоване число рівнів або цінову відстань. OBI поблизу +1 означає відносно більшу видиму глибину купівлі; це не кількість покупців, не їхні наміри й не гарантія збереження заявки до приходу ордера.
OFI вимірює зміни обсягів черг і цін котирувань. Початкове дослідження розглядає вплив на ціну в коротких інтервалах та роль глибини [1]. Пояснювальний зв’язок відрізняється від стратегії, яка прогнозує й реалізує майбутній рух після отримання спостережень.
Дельта угод враховує агресивні виконання. OFI також відображає додавання й скасування котирувань та зміну їхніх цін. OFI може стати додатним при скасуванні заявок продажу без агресивної купівлі. Додатний знімок OBI може співіснувати з OFI, що швидко стає від’ємним, коли зникає раніше велика черга купівлі.
Завершіть вікно ознаки до визначення майбутньої цілі
Для оновлення від n−1 до n позначимо b та a найкращі ціни купівлі й продажу, qb та qa — обсяги на них. Код використовує визначення OFI першого рівня з дослідження [1]. За незмінних цін це зміна обсягу черги купівлі мінус зміна обсягу черги продажу. За зміни цін потрібні відповідні старі або нові черги, не лише віднімання обсягів.
Підсумуйте e за завершене вікно W. Можлива нормалізація — на попередню середню глибину або через z-оцінку за навчальними даними. Не стандартизуйте за всім майбутнім тестовим періодом. OBI наприкінці вікна, OFI усередині вікна та спред — окремі ознаки. За B+A=0 або відсутності будь-якої сторони спостереження недійсне.
Один пропонований кандидат вимагає zOFI>1.5, OBI>0.3, spread≤2 тики та свіжі дані. Цільовий інтервал починається з доступної для виконання котировки після затримок спостереження й ордера та закінчується через H=2 секунди. Ці пороги й горизонт — дослідницькі пропозиції, не доведена роботою прибуткова конфігурація.
Зберігайте час біржової події та час локального отримання повної ознаки. Симуляція, що відкриває позицію за ранішою позначкою, припускає знання, яких система ще не мала. Дохідність усередині вікна ознаки належить пояснювальному тесту, не майбутньому торговому прибутку.
e = I(b>=b_prev)*qb - I(b<=b_prev)*qb_prev
- I(a<=a_prev)*qa + I(a>=a_prev)*qa_prev
OFI_window = sum(e for quote events in completed_window)
OBI = (qb-qa)/(qb+qa)
features_known_at = local_receive_time_of_last_required_event
order_arrival = features_known_at + compute_delay + network_delay
label = executable_exit_price_after(order_arrival,H) - executable_entry_price
# A price move inside the feature window is not future trading profit.
Відновлення книги ордерів — частина методу
Bybit документує заміну книги новим знімком і видалення рівня за дельтою з нульовим обсягом [2]. Реалізуйте схему фактично отримуваних даних: перший рівень може передаватися лише знімками, глибші потоки — дельтами. Парсер, що вважає кожне повідомлення приростом, може створити хибну книгу.
Перевіряйте ідентифікатори оновлень, спільну послідовність cross sequence та часові позначки за гарантіями майданчика. Не припускайте збільшення кожного ідентифікатора рівно на одиницю без документації. Після повторної синхронізації не порівнюйте новий знімок із застарілою книгою, що має розрив, називаючи різницю величезним OFI. Почніть вікно ознаки заново.
Публічні котирування — лише спостережувана частина заявок, що чекають. Вибірка або пакетування можуть пропускати послідовності скасувань і додавань між повідомленнями. Називайте результат спостережуваним OFI на частоті цього потоку. Порівнюючи з дельтою угод, використовуйте правила агресора та часових позначок окремого каналу угод [3].
Записуйте обмеження глибини. Книга top-K може втрачати рівні при зміні ціни без спостереження окремих скасувань. Не тлумачте зміни поза відомою межею як точно встановлені події ордерів. Відсутні котирування — не черги нульового обсягу.
Синтетичні розрахунки та виконувані результати
Нехай найкраща купівля — 100.00 з обсягом 80, продаж — 100.01 з обсягом 20. OBI=0.60. Обсяг продажу падає з 20 до 5, обсяг купівлі й ціни незмінні: e=+15. Якщо це скасування заявок, дельта угод нульова. Далі обсяг купівлі падає з 80 до 70 за незмінного обсягу продажу: e=−10. OFI двох подій дорівнює +5, підсумковий OBI=65/75, приблизно 0.867.
Додатна ознака ще не прибуток. В окремому умовному виграшному сценарії купіть за доступною ціною продажу 100.01 і продайте за ціною купівлі 100.04 через обраний горизонт. Валовий прибуток — 0.03 за одиницю. Якщо комісії за вхід і вихід разом із прослизанням становлять 0.01, чистий прибуток — 0.02. Середина котирувань 100.005 не обов’язково доступна для купівлі.
У невдалому сценарії велика заявка купівлі зникає до приходу ордера, котирування змінюються на 99.96/99.98. Купівля виконується за 99.98, вихід — за ціною купівлі 99.94, валовий збиток — 0.04. Пасивний ліміт на 100.00 може виконатися саме на початку падіння. Не можна вважати несприятливі дотики невиконаними, гарантуючи виконання сприятливих.
Затримка та тип ордера визначають економічний результат
Перед тестуванням оберіть агресивне або пасивне виконання. Агресивні ордери оплачують спред і можуть займати кілька рівнів глибини при більших розмірах. Пасивні ордери вимагають припущень щодо черги, скасування та негативного вибору. Агрегований L2 без ідентифікаторів ордерів зазвичай не показує точний пріоритет черги, тому повідомляйте про консервативні сценарії виконання або межі.
Стопи на заданій кількості тиків, виходи через фіксований горизонт і при розвороті ознаки — різні правила. Швидкі зміни ознаки можуть створити надмірний торговий оборот. Пауза між угодами чи вимога стійкості ознаки можуть зменшити оборот, але додають затримку; вимірюйте обидва ефекти.
За застарілого потоку, перетину цін купівлі й продажу всупереч правилам ринку або повторної синхронізації припиніть нові входи. Для відкритих позицій потрібна заздалегідь визначена реакція системи ризику. Відсутність даних не означає зупинки ціни.
Перевіряйте чутливість до розміру позиції та затримки. Ознака може прогнозувати малу зміну середини котирувань, не забезпечуючи потрібний обсяг угоди. Значущий результат — дохідність з урахуванням виконань для досліджуваного розміру, не необмежена кількість угод за найкращою видимою ціною.
Регресія в одному вікні не доводить майбутньої альфи
Розділіть три задачі: пояснення зміни середини котирувань за вікно W, прогноз зміни після W та вимірювання P&L із реалістичною затримкою. Високий R-квадрат у першій задачі не доводить результату третьої. Ціна могла відреагувати до надходження даних до системи.
Діліть дані за торговими днями й вилучайте цільові горизонти, що перетинають межі валідації. Порівнюйте з моделями на лагованих дохідностях, спреді та глибині без OFI. Це перевіряє, чи додає OFI інформацію, чи переважно повторює щойно здійснений рух ціни.
Звітуйте про якість прогнозу разом з оборотом, часткою виконань, чистим P&L, екстремальними збитками та чутливістю до затримки й розміру. Оцінюйте режими ліквідності та майданчики окремо. Докази за акціями з цієї роботи не можна переносити на безстрокові криптоконтракти з тим самим порогом та припущенням однакових витрат.
Поширені помилки
Виконання всіх ордерів за серединою котирувань
Це усуває спред і завищує доступну прибутковість.
Видима стіна заявок нібито доводить стійкий попит
Котирування можуть бути відкликані, а наміри учасників не спостерігаються.
Називати пояснення одночасного руху прогнозом
Цільовий інтервал має починатися після доступності повної ознаки.
Список перевірки перед застосуванням методу
Позначайте кожен пункт після перевірки на власних даних. Прогрес зберігається в цьому браузері й не засвідчує прибутковість стратегії.
Поширені запитання
Чи може OBI бути позитивним, коли ціна падає?
Так. Видима глибина тимчасова; новий потік ордерів, скасування та інші майданчики можуть миттєво змінити ринок.
Чи може стандарт OHLCV реконструювати OFI?
Ні. Потрібна щонайменше послідовність найкращих цін купівлі й продажу з обсягами заявок на них. Торговий обсяг не розкриває подій котирувань.
Джерела дослідження
Кожне джерело підтверджує визначення або докази, описані поруч. Псевдокод, штучні приклади та запропоновані параметри потребують окремої перевірки.
- The price impact of order book eventsCont, Kukanov and Stoikov. Прочитано анотацію та визначення OFI; досліджено 50 акцій США, це не бектест цієї стратегії. Перевірено: .
- OrderbookBybit. Прочитано правила знімків і дельт, часових позначок та обмеження публічного потоку даних. Перевірено: .
- Public TradeBybit. Прочитано поля каналу угод, щоб розрізняти агресивні виконання та зміни котирувань. Перевірено: .
Пов’язані методи
Примітка про ризики
Матеріал призначений для навчання й планування досліджень, а не є фінансовою порадою. Backtest моделює минулі дані, не гарантує майбутніх результатів і не здійснює реальних угод. Методи бібліотеки не обов’язково реалізовані в застосунку. Дивіться методологію і навчальний центр.
Перевірте правила, перш ніж ризикувати реальним капіталом
Перевірте можливості застосунку, дані й кожну змодельовану угоду; складні детектори можуть потребувати окремої реалізації.
Завантажити Backtest в App Store