← Усі роботи
#019НовеДовіра: СередняСимуляціяМікроструктура

Високочастотна торгівля в книзі лімітних заявок

High-frequency trading in a limit order book

Marco Avellaneda, Sasha Stoikov · Quantitative Finance 8(3): 217–224, 2008; читали авторську версію від 5 жовтня 2006 зі сторінки автора в Cornell · 5 жовтня 2006 · 14 стор. · Читати оригінал

Коротко

Тема

Мікроструктура

Ринки

Акції

Таймфрейм

—

Дані

—

Доказ

Симуляція

Статус

Розібрано
Довіра: СередняЧисла не перераховували.Тестованих ідей: 8

За роботу: журнальна публікація, виведення викладено за кроками, усі параметри симуляції названо (s = 100, T = 1, σ = 2, dt = 0.005, k = 1.5, A = 140), тож експеримент переписується за описом за вечір. Проти: коду немає, число прогонів 1000 без зерна, тому точні числа таблиць не відтворити; формули отримано наближено (розклад за позицією, лінійне наближення потоку), а перевірено на тій самій моделі, з якої їх виведено. Реальних даних у роботі немає.

Перевірність

Код○ не додано
Дані● доступні
Рецензування● є
Конфлікт інтересів● не заявлений

Як читати цей розбір. Головний результат роботи вміщується у дві формули, вони в розділі «Метод в один рядок»: де поставити центр котирувань і якої ширини спред. Розділ про симуляції показує, що це дає на практиці, і його варто прочитати повністю. Виведення через рівняння Беллмана можна пропустити. Усе, чого модель не враховує, зібрано в розділі «Що в роботі хитке».

1. Як влаштований світ моделі

Маркет-мейкер тримає в книзі лімітних заявок дві лімітні заявки: на купівлю трохи нижче середини ринку і на продаж трохи вище. Заробляє він на різниці. Автори виокремлюють у нього два ризики. Інвентарний: поки на руках накопичилася позиція, ціна може піти проти неї. Транзакційний: невідомо, коли виконаються заявки і чи виконаються взагалі. Класична література називає ще третій ризик, поінформованого контрагента, але автори одразу застерігають, що займаються лише першим: "we will focus on the inventory effect" (розділ 1).

З чого складається модель:

  • середина ринку ss рухається як випадкове блукання без дрейфу з постійною волатильністю: dSu=σ dWudS_u = \sigma\,dW_u;
  • агент ставить заявку на купівлю на відстані δb\delta^b нижче середини і на продаж на відстані δa\delta^a вище;
  • ринкові ордери надходять випадково, пуассонівським потоком, і виконують його заявки по одній акції;
  • qq це його позиція: плюс означає лонг, мінус шорт;
  • TT це кінець сесії, за яким оцінюють результат.

Що таке пуассонівський потік. Модель подій, які надходять незалежно одна від одної з відомою середньою частотою. Приклад: дзвінки в кол-центр, у середньому 10 на годину, але моменти дзвінків випадкові. Тут так надходять ринкові ордери, що б'ють у заявки агента.

Що таке dWdW. Приріст вінерівського процесу, тобто випадковий поштовх із нульовим середнім. За крок часу dtdt ціна змінюється на випадкову величину зі стандартним відхиленням σdt\sigma\sqrt{dt}.

Чому арифметичне блукання, а не звичне геометричне, автори пояснюють у примітці 1: так очікувана корисність лишається обмеженою. У додатку є версія з геометричним блуканням і метою «середнє мінус дисперсія», і автори пишуть, що суть результатів зберігається.

2. Метод в один рядок

Порахувати особисту ціну агента, зсунуту проти накопиченої позиції, і поставити навколо неї спред, ширина якого складається з плати за ризик позиції та плати за ліквідність.

Перший крок, резервна ціна (ціна байдужості):

r(s,q,t)=s−q γ σ2 (T−t)r(s, q, t) = s - q\,\gamma\,\sigma^2\,(T-t)

Що це таке. Особиста оцінка агента: ціна, за якої йому байдуже, тримати позицію чи ні. Навколо неї, а не навколо середини ринку, він ставить заявки. Автори наголошують, що це суб'єктивна оцінка, а не ціна угоди: "We stress that this is a subjective valuation from the point of view of the agent and does not reflect a price at which trading should occur" (розділ 2.2).

Що означає кожен значок.

  • ss: середина ринку, півсума найкращого біда і найкращого аска.
  • qq: поточна позиція в штуках, зі знаком.
  • γ\gamma («гамма»): неприйняття ризику. Що більше, то сильніше агент боїться коливань.
  • σ2\sigma^2 («сигма в квадраті»): дисперсія ціни за одиницю часу.
  • T−tT - t: скільки часу лишилося до кінця сесії.

Рахунок за кроками. Перемножити позицію, гамму, дисперсію і залишок часу. Відняти результат від середини ринку.

Приклад на параметрах симуляції роботи (γ=0.1\gamma = 0.1, σ=2\sigma = 2, тобто σ2=4\sigma^2 = 4, T=1T = 1):

  • позиція q=0q = 0: зсув нуль, резервна ціна дорівнює середині;
  • позиція q=+5q = +5 на початку сесії: 5×0.1×4×1=2.05 \times 0.1 \times 4 \times 1 = 2.0. За середини 100 резервна ціна 98, обидві заявки з'їжджають униз: продати агент готовий дешевше за ринок, а купувати далі не хоче;
  • та сама позиція за t=0.9t = 0.9: 5×0.1×4×0.1=0.25 \times 0.1 \times 4 \times 0.1 = 0.2, резервна ціна 99.8. До кінця сесії ціна далеко не піде, і позиція вже не така страшна.

Навіщо це потрібно. Це і є управління інвентарем. Прогнозу напрямку тут немає: правило лише вирішує, з якого боку стояти агресивніше, виходячи з того, що вже накопичилося.

Другий крок, повна ширина спреду навколо резервної ціни:

δa+δb=γσ2(T−t)+2γln⁡(1+γk)\delta^a + \delta^b = \gamma\sigma^2(T-t) + \frac{2}{\gamma}\ln\left(1 + \frac{\gamma}{k}\right)

Що це таке. Відстань між заявкою на купівлю і заявкою на продаж. Ставиться симетрично навколо резервної ціни rr.

Що означає кожен значок. δa\delta^a і δb\delta^b («дельта а» і «дельта бе»): відступи заявок на продаж і купівлю. kk: швидкість, з якою падає частота виконань із відходом від середини (розділ 3). ln⁡\ln: натуральний логарифм.

Рахунок за кроками. Перший доданок, гамма, помножена на дисперсію і залишок часу, це плата за ризик тримати позицію. Другий: поділити гамму на kk, додати одиницю, взяти логарифм і помножити на 2/γ2/\gamma, це плата за ліквідність, компроміс між доходом з однієї угоди і числом угод.

Приклад на параметрах роботи (γ=0.1\gamma = 0.1, k=1.5k = 1.5, σ=2\sigma = 2, T=1T = 1): другий доданок 20.1ln⁡(1+0.1/1.5)=20×ln⁡1.0667=20×0.0645=1.29\frac{2}{0.1}\ln(1 + 0.1/1.5) = 20 \times \ln 1.0667 = 20 \times 0.0645 = 1.29; перший на початку сесії 0.1×4×1=0.40.1 \times 4 \times 1 = 0.4. Спред близько 1.69 на початку сесії і 1.29 під її кінець.

Навіщо це потрібно. Ширина і центр це дві незалежні ручки. Позиція рухає центр, а ширина від неї не залежить: "The bid-ask spread in (3.13) is independent of the inventory. This follows from our assumption of exponential arrival rates." (розділ 3.2). За іншої форми потоку виконань ця властивість зникає.

Число 1.29 збігається зі значенням у стовпці «Spread» таблиці 1, і в тексті симуляцій автори називають саме його: "a bid/ask spread of $1.29 (corresponding to the optimal agent with γ = 0.1)".

Середина ринку, резервна ціна і котирування агента на одній симульованій сесії
Рисунок 1 роботи: the mid-price, indifference price and the optimal bid and ask quotes

Як його читати. По горизонталі час від 0 до 1, одна сесія. Чорна ламана це середина ринку, зелена лінія резервна ціна (indifference price), червоні зафарбовані точки заявки на продаж, червоні кружечки заявки на купівлю.

Що треба побачити. Близько t=0.25t = 0.25 зелена лінія вища за чорну. За формулою це означає q<0q < 0, в агента шорт. Заявка на купівлю стоїть близько до середини, агент хоче відкупитися, і, як пишуть автори, до t=0.3t = 0.3 позиція повертається до нуля. Під кінець сесії зелена лінія притискається до чорної, котирування стають майже симетричними.

Практичний висновок. Правило не вгадує напрямок. Воно нахиляє котирування проти накопиченої позиції і робить це тим слабше, чим менше лишилося часу.

3. Звідки береться експонента в потоці виконань

Усе, що агент знає про ринок, сидить в одній функції: як часто виконується заявка, поставлена на відстані δ\delta від середини.

λ(δ)=A e−kδ\lambda(\delta) = A\,e^{-k\delta}

Що це таке. Інтенсивність виконання: середнє число виконань заявки за одиницю часу.

Що означає кожен значок. λ\lambda («лямбда»): інтенсивність. AA: інтенсивність за нульового відступу, заявка рівно на середині. kk: швидкість згасання. e−kδe^{-k\delta}: експонента, що спадає зі зростанням відступу.

Рахунок за кроками. Помножити kk на відступ, піднести ee до мінус цього степеня, помножити на AA.

Приклад на параметрах симуляції (A=140A = 140, k=1.5k = 1.5): на середині 140 виконань за одиницю часу; на відступі 0.5 близько 66; на відступі 1 близько 31; на відступі 2 близько 7. Кожна зайва одиниця відступу ділить потік приблизно в 4.5 раза (e1.5e^{1.5}); наш підрахунок.

Навіщо це потрібно. Від AA і kk залежить усе інше: другий доданок спреду містить kk прямо. Це характеристики конкретного ринку в конкретний час, їх треба оцінювати за власними даними.

Експоненту автори не постулюють, а збирають із двох емпіричних фактів еконофізики (розділ 2.5). Перший: розміри ринкових ордерів розподілені за степеневим законом, щільність fQ(x)∝x−1−αf^Q(x) \propto x^{-1-\alpha}, з оцінками α=1.53\alpha = 1.53 для акцій США, 1.4 для NASDAQ і 1.5 для Паризької біржі. Другий: наскільки великий ордер рухає ціну. Тут автори чесно говорять про розбіжності: "There is less consensus on the statistics of the market impact in the econophysics literature." Одні знаходять степеневий імпакт Δp∝Qβ\Delta p \propto Q^\beta з β=0.5\beta = 0.5 або 0.76, інші краще підганяють логарифмічний Δp∝ln⁡Q\Delta p \propto \ln Q.

Логарифмічний імпакт разом зі степеневим хвостом розмірів дає експоненту, де A=Λ/αA = \Lambda/\alpha і k=αKk = \alpha K; тут Λ\Lambda це загальна частота ринкових ордерів, яку автори пропонують оцінювати як денний обсяг, поділений на середній розмір ордера. Степеневий імпакт дав би степеневу інтенсивність λ(δ)=B δ−α/β\lambda(\delta) = B\,\delta^{-\alpha/\beta}. Підсумок авторів обережний: "Aggregating these results suggests that λ should decay as an exponential or a power law function." Далі вони працюють з експонентою, бо з нею формули виходять у замкненому вигляді.

4. Що агент максимізує і як отримано розв'язок

u(s,x,q,t)=max⁡δa,δbEt[−e−γ (XT+qTST)]u(s, x, q, t) = \max_{\delta^a, \delta^b} E_t\left[-e^{-\gamma\,(X_T + q_T S_T)}\right]

Що це таке. Цільова функція: очікувана корисність підсумкового багатства.

Що означає кожен значок. XTX_T: гроші на рахунку наприкінці сесії. qTSTq_T S_T: залишкова позиція за кінцевою ціною середини. Їхня сума це підсумкове багатство. −e−γW-e^{-\gamma W}: експоненційна функція корисності; мінус потрібен, щоб вона зростала разом із багатством WW. EtE_t: середнє за всіма сценаріями з урахуванням того, що відомо в момент tt. max⁡\max за δa,δb\delta^a, \delta^b: обрати відступи, за яких це середнє найбільше.

Як це читається. Агентові не байдуже, як отримано результат: стабільні 100 кращі, ніж 100 з великим розкидом. Експоненційна корисність робить цю різницю вимірною, а для виведення вона зручна тим, що резервна ціна від початкового багатства не залежить. Цю властивість автори називають причиною вибору (розділ 2.2).

Приклад. В авторів три агенти: γ=0.01\gamma = 0.01 майже байдужий до ризику, γ=0.1\gamma = 0.1 помірно обережний, γ=0.5\gamma = 0.5 дуже боїться накопичити позицію. Чим вони різняться, видно в таблицях розділу 6.

Розв'язок іде через рівняння Гамільтона–Якобі–Беллмана, стандартний апарат динамічного програмування, як у роботі Ho і Stoll 1981 року. Повне рівняння нелінійне і в замкненому вигляді не розв'язується. Автори роблять два спрощення: розкладають розв'язок за степенями позиції qq до другого порядку і беруть лінійне наближення членів, що відповідають за надходження ордерів. Саме після цих спрощень резервна ціна збігається з ціною агента, який узагалі не торгує і просто тримає позицію до кінця сесії, а спред набуває вигляду з розділу 2. Автори зазначають, що за квадратичного наближення потоку чутливість до позиції підкорялася б уже нелінійному рівнянню. Тобто формули розділу 2 наближені й розраховані на невеликі позиції.

Є й точні означення, з яких усе виросло. Резервна ціна купівлі це ціна, за якої агентові байдуже, купити ще одну акцію чи ні; резервну ціну продажу означено так само. Для агента без заявок вони дорівнюють s+(∓1−2q) γσ2(T−t)/2s + (\mp 1 - 2q)\,\gamma\sigma^2(T-t)/2, а резервна ціна rr з розділу 2 це їхнє середнє.

5. Якщо сесія не закінчується: нескінченний горизонт

Множник (T−t)(T-t) вимагає моменту, на який позицію треба оцінити. У розділі 2.3 автори самі пропонують стаціонарний варіант без кінця сесії: агент максимізує дисконтовану корисність на нескінченному горизонті з параметром ω\omega.

rˉa(s,q)=s+1γln⁡(1+(1−2q) γ2σ22ω−γ2q2σ2)\bar r^{a}(s,q) = s + \frac{1}{\gamma}\ln\left(1 + \frac{(1-2q)\,\gamma^2\sigma^2}{2\omega - \gamma^2 q^2 \sigma^2}\right)

Що це таке. Резервна ціна продажу для агента, у якого немає кінця сесії. Резервна ціна купівлі rˉb\bar r^{b} виходить заміною (1−2q)(1-2q) на (−1−2q)(-1-2q).

Що означає кожен значок. ω\omega («омега»): параметр дисконтування. Формула має сенс за ω>12γ2σ2q2\omega > \frac12\gamma^2\sigma^2 q^2, тому автори читають ω\omega як верхню межу позиції і пропонують природний вибір ω=12γ2σ2(qmax+1)2\omega = \frac12\gamma^2\sigma^2(q_{max}+1)^2, де qmaxq_{max} це гранична позиція.

Рахунок за кроками, наш приклад. γ=0.1\gamma = 0.1, σ=2\sigma = 2, qmax=5q_{max} = 5: γ2σ2=0.04\gamma^2\sigma^2 = 0.04, ω=0.5×0.04×36=0.72\omega = 0.5 \times 0.04 \times 36 = 0.72. За позиції q=2q = 2 знаменник 1.44−0.16=1.281.44 - 0.16 = 1.28; для продажу чисельник (1−4)×0.04=−0.12(1-4) \times 0.04 = -0.12, і rˉa−s=10×ln⁡(1−0.094)=−0.98\bar r^a - s = 10 \times \ln(1 - 0.094) = -0.98; для купівлі чисельник −0.20-0.20, і rˉb−s=10×ln⁡(1−0.156)=−1.70\bar r^b - s = 10 \times \ln(1 - 0.156) = -1.70. Обидві резервні ціни нижчі за середину: з лонгом агент хоче продавати і не хоче купувати.

Навіщо це потрібно. Це відповідь самих авторів на питання, що робити, коли сесія не закінчується. Замість залишку часу зсув котирувань регулює задана межа позиції.

Для цієї версії автори не виводять спред і не роблять симуляцій; у розділі 3 вони працюють зі скінченним горизонтом.

6. Симуляції: що дає поправка на позицію

Параметри: s=100s = 100, T=1T = 1, σ=2\sigma = 2, dt=0.005dt = 0.005, q0=0q_0 = 0, k=1.5k = 1.5, A=140A = 140. На кожному кроці агент перераховує відступи, з імовірністю λ(δa) dt\lambda(\delta^a)\,dt продає одну акцію, з імовірністю λ(δb) dt\lambda(\delta^b)\,dt купує одну, середина зсувається на ±σdt\pm\sigma\sqrt{dt}. Порівняння йде із симетричною стратегією, у якої той самий спред, але центр завжди на середині ринку. По 1000 прогонів на кожне γ\gamma.

Вибір кроку dtdt автори називають тонким місцем ("In practice, the choice of time step dt is a subtle one."): він має бути досить малим, щоб за крок рідко надходило більше одного ордера, і більшим за типовий інтервал між тіками, інакше заявки перераховуються так часто, що їх не встигають виконати.

γ\gamma Стратегія Спред Прибуток Ст. відх. прибутку Кінцева позиція Ст. відх. позиції
0.1 з урахуванням позиції 1.29 62.94 5.89 0.10 2.80
0.1 симетрична 1.29 67.21 13.43 −0.018 8.66
0.01 з урахуванням позиції 1.33 66.78 8.76 −0.02 4.70
0.01 симетрична 1.33 67.36 13.40 −0.31 8.65
0.5 з урахуванням позиції 1.15 33.92 4.72 −0.02 1.88
0.5 симетрична 1.15 66.20 14.53 0.25 9.06

Таблиці 1–3 роботи зведено в одну.

За γ=0.1\gamma = 0.1 стратегія з урахуванням позиції заробляє на 6 % менше (62.94 проти 67.21), але розкид прибутку в неї у 2.3 раза менший (5.89 проти 13.43), а розкид кінцевої позиції у 3 рази менший (2.80 проти 8.66). Якщо поділити прибуток на його розкид, виходить 10.7 проти 5.0 (наш підрахунок за таблицею; автори такого відношення не рахують).

За γ=0.01\gamma = 0.01 різниця майже зникає. Автори пишуть, що "in the limit as γ → 0 the two strategies are identical": агентові, байдужому до ризику, нема чого зсувати котирування.

За γ=0.5\gamma = 0.5 прибуток майже вдвічі нижчий (33.92 проти 66.20) за розкиду позиції 1.88. Автори описують цього агента як дуже обережного, який "will go to great lengths to avoid accumulating an inventory".

Чому симетрична стратегія заробляє більше, автори пояснюють так: вона завжди стоїть навколо середини і тому отримує більше виконань. Інвентарна періодично відводить один бік від ринку і пропускає частину потоку.

Гістограми прибутку за 1000 прогонами за γ = 0.1
Рисунок 2 роботи: γ = 0.1

Як його читати. По горизонталі прибуток за сесію, по вертикалі число прогонів. Червоні стовпці це стратегія з урахуванням позиції (Inventory strategy), білі з чорним контуром симетрична. У легенді симетричній стратегії приписано темно-синій колір, але на графіку її стовпці білі.

Що треба побачити. Центри майже збігаються, близько 60–70. Червоний розподіл вузький і високий, білий широкий, із хвостами від 10 до 130.

Практичний висновок. Поправка на позицію майже не рухає середнє, вона стискає розподіл результату.

Гістограми прибутку за γ = 0.01
Рисунок 3 роботи: γ = 0.01
Гістограми прибутку за γ = 0.5
Рисунок 4 роботи: γ = 0.5

Як читати рисунки 3 і 4. Ті самі осі й кольори. На рисунку 3 майже байдужий до ризику агент: розподіли близькі, червоний лише трохи вужчий. На рисунку 4 дуже обережний агент: червоний розподіл вузький і зсунутий ліворуч, до 30–40, білий лишився близько 65.

Практичний висновок. Параметр γ\gamma працює як ручка «прибуток проти стабільності». Три значення дають три різні продукти, і вибір між ними визначається тим, який розкид результату допустимий, а не максимумом прибутку.

7. Що в роботі хитке

Застереження самих авторів

Наближеність формул. Резервну ціну і спред з розділу 2 отримано розкладом за позицією і лінійним наближенням потоку ордерів (розділ 3.2). Для великих позицій і за квадратичного наближення результат був би іншим, і автори це прямо кажуть.

Форму потоку обрано, а не встановлено. Самі автори наводять розбіжності щодо імпакту і висновок «експонента або степенева функція». Незалежність спреду від позиції випливає саме з експоненти.

Лише інвентарний ризик. Ризик поінформованого контрагента винесено за рамки з першої сторінки.

Модель ціни спрощено заради обмеженості корисності (примітка 1), а варіант із геометричним блуканням подано лише в додатку, без симуляцій.

Що помітно під час читання

Розбіжностей чисел із текстом ми не шукали: числа і формули роботи не перераховувалися (позначка «наш підрахунок» стоїть лише біля наших прикладів). Нижче обмеження конструкції, які видно під час читання.

Немає поінформованого потоку. Імовірність виконання заявки на купівлю однакова, хоч ціна збирається падати, хоч рости. На реальному ринку заявку частіше виконують тоді, коли ціна йде проти неї, і саме це зазвичай з'їдає дохід маркет-мейкера.

Немає черги. Виконання залежить лише від відстані до середини, а не від обсягу, що стоїть попереду на тому самому рівні ціни.

Одиничний розмір, немає комісій, ребейтів і кроку ціни. Кожне виконання рівно одна акція.

Скінченний і відомий TT. На цілодобовому ринку множник (T−t)(T-t) не визначений. Версія з нескінченним горизонтом з розділу 5 є, але без спреду і без симуляцій.

Перевірка тією самою моделлю. Усі 1000 прогонів зроблено у світі, де припущення виконуються точно. Емпіричної перевірки немає.

Стовпець «Спред» у таблицях. Для γ=0.1\gamma = 0.1 значення 1.29 збігається з другим доданком формули спреду, без інвентарної частини γσ2(T−t)\gamma\sigma^2(T-t), яка на початку сесії додає ще 0.4. Чи входить ця частина в спред симетричної стратегії, текст не уточнює; сказано лише, що вона "uses the same spread as the inventory strategy". Від цього залежить, наскільки чесне порівняння прибутків.

8. Що з цього випливає на практиці

Управління позицією і прогноз напрямку це різні шари. У конструкції немає жодного прогнозу ціни. Сигнальну частину бота й інвентарну зручно тримати окремо і перевіряти окремо.

Резервна ціна це один рядок коду: r = mid - q * gamma * sigma**2 * (T - t). Уся складність у калібруванні γ\gamma, σ\sigma і особливо AA та kk.

AA і kk важливіші за формули. Без власної оцінки залежності «частота виконання від відступу» спред із формули лишається числом із чужого ринку. Якщо залежність не експоненційна, формула ширини спреду неправильна за побудовою.

γ\gamma обирають із допустимого розкиду, а не підганяють за прибутком. На історії максимум прибутку майже завжди дасть γ\gamma близько нуля, тобто симетричну стратегію з удвічі більшим розкидом.

Метрика «розкид кінцевої позиції» у роботі стоїть нарівні з прибутком. Для будь-якої стратегії маркет-мейкінгу це пряма ознака того, чи працює контроль інвентарю.

Для цілодобового ринку чесніше починати з версії з нескінченним горизонтом з розділу 2.3 роботи, де межу позиції задано явно, ніж підставляти в (T−t)(T-t) довільну константу.

9. Тестовані ідеї

№ Ідея Тип Де рахувати
1 Оцінити за власною книгою лімітних заявок залежність «відступ заявки від середини → частота виконання» і перевірити, експонента це чи степенева функція; отримати свої AA і kk діагностика Python
2 Додати зсув центру котирувань −qγσ2(T−t)-q\gamma\sigma^2(T-t) окремим модулем, який можна вмикати, і порівняти із симетричною версією за прибутком, розкидом прибутку і розкидом кінцевої позиції зміна конструкції бектестер
3 Прогнати сітку γ\gamma від 0.001 до 1 і побудувати криву «середній прибуток проти його розкиду»; обирати точку за допустимим розкидом метрика приймання Python
4 Для ринку без закриття порівняти три заміни (T−t)(T-t): константу, ковзне вікно і версію з нескінченним горизонтом і межею позиції qmaxq_{max} зміна конструкції Python
5 Додати в симуляцію поінформований потік: виконання частіше тоді, коли ціна потім іде проти заявки; перевірити, чи зберігається перевага поправки на позицію діагностика Python
6 Додати в симуляцію чергу на рівні ціни і подивитися, як змінюється оптимальний відступ діагностика Python
7 Перевірити на реальних виконаннях, що ширина спреду не має залежати від позиції; якщо залежність з'являється, потік виконань не експоненційний аудит Python
8 Включити розкид кінцевої позиції за сесію в стандартний звіт будь-якої стратегії маркет-мейкінгу поруч із прибутком метрика приймання бектестер

Заявлено авторами

Ці цифри й твердження належать авторам. Де вони не зійшлися при перерахунку, сказано в розборі.

Інші роботи

Оновлено: 2026-10-17