Ашык-айкын Almgren-Chriss: бир түштөн кийин ишке ашыра турган оптималдуу аткаруу
Almgren жана Chriss (2001), "Optimal execution of portfolio transactions" (Journal of Risk 3(2), 5–39), аткаруу изилдөөлөрүндөгү, балким, эң көп шилтеме жасалган, ошондой эле эң сейрек туура ишке ашырылган макала. Ачык мейкиндиктеги "Almgren-Chriss" коддорунун көбү — комментарий блогу бар TWAP пландоочу гана. Ал жөнүндөгү блог жазуулардын көпчүлүгү чыгарылышты аттап өтүп, sinh функциясына бир шилтеп коюп, өндүрүштө чыныгы мааниси бар бөлүктү — параметрлер кайдан келерин — таптакыр козгобойт.
Бул макала баарын толук камтыйт. Моделдин болжолдору чынчыл айтылат. Туюк түрдөгү траектория постулат катары эмес, чыгарылып көрсөтүлөт. Натыйжалуу чек ара жана тобокелдиктен качуу параметрин кантип тандоо керектиги. Ошондой эле үч кириштин — убактылуу таасир , туруктуу таасир , туруксуздук — Binance буйрук китепчеси менен соода маалыматтарынан калибрлениши, иштеген Python менен жана дал келтирүүнүн эмне үчүн ызы-чуулуу экени жөнүндө чынчыл талкуу менен. Бул — аткаруудагы башка бардык нерсенин интеллектуалдык өзөгү: TWAP, VWAP жана POV — бул өзгөчө учурлар же эвристикалык туугандар (караңыз TWAP, VWAP, POV: баары иштеткен аткаруу алгоритмдери), ал заманбап ML ыкмалары — арматуралык окутуу пландоочулары жана нейрондук таасир моделдери — биз азыр жаза турган дал ошол болжолдорду бошотууга аракеттер.
Коюлуш: модель эмнени чындап болжолдойт
Сизде активдин бирдиги бар (айталы, 100 BTC) жана аны убагына чейин толук жоюшуңуз керек. аралыгын узундугу болгон интервалга бөлүңүз. Сиздин чечим өзгөрмөңүз — ээлик траекториясы , мында интервалында аткарылган соода .
Моделдин бүт жүгүн үч болжол көтөрөт:
1. Арифметикалык кокустук басуу. Бузулбаган баа мына мыйзамга баш ийет
мында — көзкарандысыз бирдей бөлүштүрүлгөн стандарттык нормалдуу чоңдуктар, ал — абсолюттук туруксуздук (убакыт бирдигине карата доллар, пайыз эмес). Арифметикалык, геометриялык эмес — бир нече саат ичинде айырма аз, ал арифметикалык басуу алгебраны сызыктуу-квадраттык түрдө сактайт. Дрейф жок: Almgren жана Chriss дрейф мүчөсүн талкуулашат, бирок ички күндүк жоюу үчүн сиздин 4 сааттагы альфа баалооңуз дээрлик ар дайым ызы-чуу болуп чыгат, ошондуктан аны нөлгө теңөө — чынчыл демейки тандоо.
2. Сызыктуу туруктуу таасир. : ылдамдыгы менен соода жасоо бааны туруктуу, пропорционалдуу түрдө жылдырат жана бул жылыш эч качан басаңдабайт. Саткан ар бир бирдигиңиз орто бааны (mid) ка түбөлүккө төмөндөтөт. Бул орой көрүнөт, бирок аны сызыктуу калтыруунун терең себеби бар: Huberman жана Stanzl (2004) соода көлөмүнө карата сызыктуу эмес туруктуу таасир оң күтүлгөн пайдасы бар айланма стратегияларга — баа манипуляциясына — мүмкүнчүлүк берерин далилдешкен. Сызыктуу туруктуу таасир — ыңгайлуулук үчүн жасалган жеңилдетүү эмес; ал ушул моделдер классындагы жалгыз арбитражсыз тандоо.
3. Сызыктуу убактылуу таасир. интервалында сиз чындыгында ала турган баа:
bid-ask спрединин жарымын жана комиссияны камтыйт; — ылдамдыгы менен өтүмдүүлүктү талап кылуунун чектик наркынын жантаюусу. Убактылуу таасир өзүңүздүн толтурууңузга гана таасир этет жана заматта жоголот — китепче кийинки бөлүшчө буйругуңузга чейин толугу менен толтурулат. "Сызыктуу", "заматта", "толугу менен" деген үч сөздүн ар бири чыныгы рынокто ката, ал акыркы бөлүк алардын канчалык ката экени жөнүндө. Бирок алгач — аларды кабыл алуудан келген пайда.
Траекториянын наркы жана дисперсиясы
Толтурууларды кошуңуз, баштапкы баалоо дон алып салыңыз, ошондо аткаруу кемчилигин (implementation shortfall) аласыз. Анын ызы-чуусу боюнча күтүмү менен дисперсиясы:
мында ( болгондо жоголуучу дискреттөө оңдоосу).
Көптөгөн ишке ашыруулар көзүнөн кетирген эки байкоо:
- Туруктуу нарк траекторияга көз каранды эмес. Сызыктуу, басаңдабаган туруктуу таасир менен, кантип пландасаңыз да, туруктуу төлөмдү бирдей төлөйсүз. Оптималдаштыруу толугу менен убактылуу-нарк мүчөсүнүн ( болгондо, б.а. TWAP кезинде минимумга жеткен, жай жана бир калыпта сооданы каалаган) менен дисперсия мүчөсүнүн (кампаңыздын кечээ кетүүсүн каалаган, заматта жоюу менен минимумга жеткен) ортосундагы кагылышуу.
- Дисперсия мүчөсү соодага эмес, кампага өлчөнөт. Тобокелдик соодалаганыңызга эмес, дагы эле ээлик кылып жатканыңызга, ка эсептелет. Дал ошондуктан шашылыш кестени алдыңкы бөлүккө топтойт (front-load).
Туюк түрү: sinh, cosh жана шашылыш параметри
Almgren-Chriss орто-дисперсия максатын минималдайт
мында — 1/доллар бирдигиндеги тобокелдиктен качуу. Ички чекиттер үчүн теңдеңиз. Убактылуу мүчө тин экинчи айырмаларын, дисперсия мүчөсү дин өзүн берет, ошондо сызыктуу экинчи ирээттеги айырмалык теңдеме чыгат:
Бул — тин дискреттик аналогу, ал , чек аралык шарттары менен чечим гиперболалык:
мында теңдемесин чечет, ал кичине үчүн бул жөн гана .

Стратегия жөнүндөгү бүт маалымат бир санга кысылат:
— бул шашылыштык (urgency). Анын тескери чоңдугу — сооданын мүнөздөмөлүк убактысы: таасир наркын үнөмдөө үчүн кампалык тобокелдикти кармап турууга арзыган убакыт масштабы. эмнеге көз каранды эмес экенине көңүл буруңуз: буйрук көлөмү жана мөөнөт дон. Сооданыздын ички убакыт масштабы 20 мүнөтпү же 6 сааттпы — аны тобокелдиктен качуу, туруксуздук жана өтүмдүүлүк гана аныктайт. Эгер болсо, мөөнөтүңүздүн мааниси жок — модель өз кестеси боюнча жоёт, ал горизонттун куйругу колдонулбайт. Эгер болсо, мөөнөт байлоочу болуп калат жана сиз чындыгында TWAP жасайсыз.
Тобокелдикке нейтралдуу чек — бул TWAP, TWAP ушинтип жашайт
алыңыз, ошондо . Анда жана
Оптималдуу траектория түз сызыкка айланат: бирдей убакыт интервалдарында бирдей өлчөмдөр. TWAP — кокустан иштеп кете турган эвристика эмес; бул сызыктуу таасири бар тобокелдикке нейтралдуу трейдер үчүн Almgren-Chriss моделинин так оптимуму. Бирөө TWAP иштеткен сайын ал жашыруун түрдө дегенди тастыктайт: "Мен кемчилигимдин дисперсиясына эмес, анын ортосуна гана маани берем." Бул — кичине буйруктар жана кыска горизонттор үчүн коргоого арзырлык позиция. Ал күндүк туруксуздугу 4% активде 8 саат ичинде күндүк көлөмдүн 5%ин жоюу үчүн бул — таң калыштуу позиция, ал адамдар аны дал ушундай жерде колдонушат. Карама-каршы чек бардык үчүн берет: баарын биринчи интервалда таштаңыз, кандай нарк болсо да төлөңүз. Ушул эки четки маанинин ортосунда интерполяциялайт: TWAPтан араң айырмаланат, ал агрессивдүү түрдө алдыңкы бөлүккө топтолгон.
Аткаруунун натыйжалуу чек арасы
Ар бир үчүн бир траекторияны, бир күтүлгөн наркты жана бир дисперсияны аласыз. боюнча шыпыруу тегиздигинде ийри сызык тартат — Марковиц менен түз окшоштукта аткаруунун натыйжалуу чек арасы. Ал ойпоң жана кемүүчү: аз дисперсия ар дайым көбүрөөк күтүлгөн кемчиликке турат, жана кирешеси кескин кемийт. Берилген тандаган чек ара чекитинде тобокелдиктен качуу — жаныманын (терс) жантаюусу: .

Чек ара " деген эмне?" деген — эч ким интроспекция аркылуу жооп бере албаган — суроону "мага кандай нарк/тобокелдик алмашуусу керек?" деген, дилинг столу чындап жооп бере ала турган суроого кайра курат. Чекитти тандоонун үч практикалык жолу:
- Чектик нарк менен ой жүгүртүү. Чек ара боюнча жүрүп, сураңыз: "ушул чекиттен кийинкисине өтсөм, кемчиликтин стандарттык четтөөсүнүн долларын жоюу үчүн күтүлгөн наркынын долларын төлөйм — бул алмашууга барамбы?" Чек аранын тизеси адатта 2 эсе чамасында ачык, ал траектория ошол ажыратымдуулукта га сезгич эмес.
- Тобокелдик бюджети. Кемчиликтин максималдуу уруксат берилген стандарттык четтөөсүн бекитиңиз (мис., "калдык позициянын бир күндүк 1-сигмасы номиналдын 15 bpsинен ашпашы керек") жана аны канааттандырган эң арзан траекторияны алыңыз. Бул — Лагранж көбөйтмөсү дал болгон чектелген маселе.
- Мүнөздөмөлүк убакытты максат кылуу. ты түз тандаңыз ("бул буйруктун жарым ажыроо мезгили 90 мүнөт болушу керек") жана ты чыгарыңыз. "Шашылыштык" сыдырмасын орноткондо практиктердин көбү ушуну жашыруун түрдө жасашат.
Калибрлөө бөлүмүндө негиздей турган сандар менен жасалган мисал. S_0 = \100{,}000X = 100T = 4\sigma = $600\sqrt{\text{с}}\eta = 1.0\ $\cdot\text{с}/\text{BTC}\lambda = 10^{-6}\ $^{-1}$. Ошондо
Оптималдуу кесте биринчи саатта 46.2 BTC сатат (TWAP: 25). Убактылуу нарк: \eta \int_0^T v(t)^2 dt \approx \3{,}290$2{,}500$53{,}000$69{,}300. Демек, \10M номиналда күтүлгөн наркынын кошумча 0.8 bpsи үчүн кемчилик тобокелдигин 23%га кыскартасыз. Моделдин бүт мазмуну бир сүйлөмдө: ал камсыздандырууга баа коёт, ал аны сатып алуу-албоону сизге калтырат.
Траекториянын өзү — Python'дун он сабы:
import numpy as np
def almgren_chriss(X, T, N, sigma, eta, gamma, lam):
"""Optimal liquidation trajectory (discrete AC 2001)."""
tau = T / N
eta_t = eta - 0.5 * gamma * tau # tilde-eta
kappa_t2 = lam * sigma**2 / eta_t # tilde-kappa^2
kappa = np.arccosh(0.5 * kappa_t2 * tau**2 + 1) / tau
t = np.arange(N + 1) * tau
x = X * np.sinh(kappa * (T - t)) / np.sinh(kappa * T)
n = x[:-1] - x[1:] # child order sizes
E = 0.5 * gamma * X**2 + (eta_t / tau) * np.sum(n**2)
V = sigma**2 * tau * np.sum(x[1:]**2)
return x, n, E, V
x, n, E, V = almgren_chriss(X=100, T=4, N=48, sigma=600,
eta=1.0, gamma=0.3, lam=1e-6)
print(f"first-hour qty: {n[:12].sum():.1f} BTC, "
f"E=${E:,.0f}, std=${np.sqrt(V):,.0f}")
lamды np.logspace(-8, -4, 50) боюнча шыпырып, ни га каршы тартыңыз — бул сиздин чек араңыз, ал бүт чечим бети тобокелдик комитетине бере ала турган бир графикке батат.
Калибрлөө: Binance маалыматтарынан , ,
Дал ушул жерде ишке ашыруулардын 90%ы үнсүз өлөт. Траектория формуласы жөнөкөй; параметрлер андай эмес. Үч чоңдук, үч башка баалоо маселеси.

: жеңили
Тамыр-саатка карата абсолюттук туруксуздук, орто баа кайтарымдарынан. 1-мүнөттүк тилкелерди колдонуп, масштабдаңыз; жышыраак тандоодо микроструктуралык ызы-чуу (bid-ask секирүү) ишке ашкан дисперсияны жогору карай жылдырат. Бул баалоо ишенимдүү — туруксуздук туура ала турган жалгыз параметр.
: китепчеден жана соодалардан алынган убактылуу таасир
Эки бирин-бири толуктаган жол. A жолу — L2 китепчесин басып өтүү. Тереңдик сүрөттөрүнөн көлөмүндөгү гипотетикалык рыноктук шыпыруунун наркын эсептеңиз: керектелген деңгээлдердин VWAPы минус орто баа. дал келтирүү бир BTCга заматтык таасирди берет. Аны моделдеги ылдамдыкка негизделген га айландыруу үчүн китепченин толтурулуу убактысын болжолдошуңуз керек (BTCUSDT үчүн 10–60 с чамасында): ылдамдыгы менен соода ар бир жаңыртуу циклинде керектейт, ошондуктан . Дал ошол болжол — туруктуу саат боюнча заматтык, толук толтурулуу — аркылуу Obizhaeva-Wang кире турган жарака; төмөндө кеңири. B жолу — ишке ашкан жылмышууну катышууга регресстөө. Агрессивдүү (taker) агымды 1-мүнөттүк бөлүктөргө топтоңуз; ар бир бөлүк үчүн taker-жактык VWAP-минус-ачылуу-орто бааны taker көлөмүнүн ылдамдыгына регресстеңиз. B жолу рынок агрессорлордон чындыгында эмне алганын өлчөйт; A жолу кыймылсыз китепче азыр эмне ала турганын өлчөйт. Алар 3 эсе алыстаса, деңгээл үчүн Bга, ички күндүк формага Aга ишениңиз.
: Kyle-стилиндеги регрессия аркылуу туруктуу таасир
5-мүнөттүк терезелерде орто баа өзгөрүүлөрүн белгиленген таза taker агымына регресстеңиз:
Андан кийин таасир бир терезеден кийин кайра кайтпаганын текшериңиз — кайра кайтпаган компонент сиздин соода убакыт масштабыңызда "туруктуу" болуп саналат. Бул — үчөөнүн ичиндеги алда канча эң ызы-чуулуусу.
Binance'тин коомдук REST акыркы чекиттерин гана колдонгон иштеген код:
import requests, numpy as np, pandas as pd
B = "https://api.binance.com/api/v3"
sym = "BTCUSDT"
kl = requests.get(f"{B}/klines", params=dict(
symbol=sym, interval="1m", limit=1000)).json()
close = np.array([float(k[4]) for k in kl])
sigma = np.diff(close).std() * np.sqrt(60) # $/sqrt(h)
d = requests.get(f"{B}/depth",
params=dict(symbol=sym, limit=5000)).json()
bids = np.array(d["bids"], dtype=float) # [price, qty]
mid = (bids[0, 0] + float(d["asks"][0][0])) / 2
cq = np.cumsum(bids[:, 1]) # cum qty
cn = np.cumsum(bids[:, 0] * bids[:, 1]) # cum notional
sizes = np.linspace(0.5, 50, 40) # BTC probes
cost = [mid - np.interp(q, cq, cn) / q for q in sizes]
eps, eta_inst = np.polyfit(sizes, cost, 1)[::-1] # cost ~ eps + k*q
eta = eta_inst * (30 / 3600) # 30s refresh -> $*h/BTC
tr = requests.get(f"{B}/aggTrades",
params=dict(symbol=sym, limit=1000)).json()
df = pd.DataFrame(dict(
t=[t["T"] for t in tr],
p=[float(t["p"]) for t in tr],
q=[float(t["q"]) * (-1 if t["m"] else 1) for t in tr]))
df["bin"] = df.t // 300_000 # 5-min bins
g = df.groupby("bin").agg(dp=("p", lambda s: s.iloc[-1] - s.iloc[0]),
qn=("q", "sum"))
gamma = np.polyfit(g.qn, g.dp, 1)[0] # $/BTC
print(f"sigma={sigma:.0f} $/sqrt(h) eta={eta:.2f} $*h/BTC "
f"gamma={gamma:.3f} $/BTC")
Өндүрүш үчүн жалгыз aggTrades бетин бир нече күндүк тарыхый дамп менен алмаштырып, регрессиясын бир нече эмес, миңдеген бөлүктө аткарыңыз.
Крипто калибрлөө эмне үчүн ызы-чуулуу жана аны менен эмне кылуу керек
регрессиясын чыныгы маалыматта аткарсаңыз, бир нече пайыздык жана күндөрдүн ортосунда 2–5 эсе өзгөргөн коэффициент аласыз. Бул — кодуңуздагы ката эмес. Себептери структуралык:
- Эндогендүүлүк. Агым баага баа агымга жооп бергендей эле жооп берет. Момент трейдерлери баа көтөрүлгөндүктөн сатып алышат; кайтарымдарды агымга жөнөкөй OLS менен регресстөө алардын реакциясын алып, аны таасирге жатузат. Таза чечим — өз толтурууларыңызды (структурасы боюнча экзогендик) колдонуу — ал сизде бир аз соода жасагандан кийин гана пайда болот.
- Ойпоңдук. Чыныгы таасир көлөмгө карата ойпоң — эмпирикалык түрдө квадрат тамырга жакын (Almgren, Thum, Hauptmann жана Li, 2005, "Direct estimation of equity market impact", көрсөткүчү 0.6га жакын деп табышкан; дал ошол ойпоңдук криптодо да туруктуу). Ойпоң функцияга түз дал келтирүү дегени — сиздин менен ңыз үлгүдөгү көлөм диапазонуна көз каранды. Чындыгында соода кыла турган катышуу деңгээлдеринде калибрлеңиз.
- Фрагментация жана деривативдердин лидерлиги. Binance'теги BTCUSDT спот — көптөгөн аянттын бири гана, ал бааны ачуу көбүнчө перптарда болот. Сиз эч качан көрбөгөн агым сиз регресстеген бааны кыймылдатып, ызы-чуу мүчөсүн көбөйтөт.
- Режимге көз карандылык. Азия сессиясында өлчөнгөн АКШнын ачылуусун сүрөттөбөйт; туруксуздук эки эсеге көбөйгөндө таасир болжол менен эки эсеге көбөйөт. Сессия сайын калибрлеп, жумасына кеминде бир жолу кайра дал келтириңиз.
Куткаруучу нерсе: траектория кечиримдүү. , ошондуктан дагы 2 эсе ката ны эсе гана жылдырат, ал нарк функциясы оптимумга жакын тегиз. ны 2 эсе тактык менен жана ны бир катар чоңдукта туура алуу TWAPка карата жеткиликтүү жакшыртуунун көбүн камтыйт. Тактык соода алдындагы нарк баалоолору үчүн маанилүү; бекемдик пландоо үчүн жетиштүү.
Модель кайсы жерде бузулат жана аны оңдогон макалалар
Almgren-Chriss — бул каркас, ал кайсы устун жүк көтөрүүчү экенин так билүү кайсы кеңейтүүгө кайрылуу керегин айтат.
Сызыктуу эмес таасир — Almgren (2003). "Optimal execution with nonlinear impact functions and trading-enhanced risk" (Applied Mathematical Finance 10, 1–18) программаны даражалуу убактылуу таасир менен кайра жасайт. Эмпирикалык түрдө ыңгайлуу — квадрат тамыр мыйзамы — үчүн оптималдуу траекториялар мүнөзүн өзгөртөт: ойпоң таасир секириктерди сызыктуу таасирден көрө азыраак жазалайт, ошондуктан оптималдуу кестелер ошол да алдыңкы бөлүккө көбүрөөк топтолот. Сапаттык структура (шашылыш параметр, натыйжалуу чек ара) сакталат; sinh формуласы жок.
Ийкемдүүлүк жана LOB — Obizhaeva жана Wang (2013). "Optimal trading strategy and supply/demand dynamics" (Journal of Financial Markets 16(1), 1–32; жумушчу документ 2005-тен бери таралган) убактылуу/туруктуу дихотомияны чектелген тереңдиги бар жана экспоненциалдуу басаңдаган таасирдүү лимиттик буйрук китепчеси менен алмаштырат: сиздин соодаңыз китепчени жейт, ал китепче ийкемдүүлүк ылдамдыгы менен кайра толтурулат. AC'нин "убактылуу таасир заматта жоголот" деген болжолу — чеги. Оптималдуу стратегия формасын кескин өзгөртөт: башында блоктук соода, аягында блок, ал ортосунда туруктуу соода ылдамдыгы — блоктор китепченин калыбына келүүсүн пайдаланат. Эгер бөлүшчө-буйрук интервалыңыз аянттын толтурулуу убактысына жакын болсо (криптодо — секундалардан бир мүнөткө чейин, көбүнчө ушундай), сиз Almgren-Chriss эмес, Obizhaeva-Wang аймагындасыз, ал жогорудагы калибрлөөдөгү айла-амалы — сиздин эскертүү белгиңиз.
Динамикалык-арбитражсыздык — Gatheral (2010). "No-dynamic-arbitrage and market impact" (Quantitative Finance 10(7), 749–759) заматтык таасир функциясы менен басаңдоо ядросу нын кайсы айкалыштары ички жактан ырааттуу, б.а. терс күтүлгөн наркы бар айланма стратегияга мүмкүнчүлүк бербестигин сурайт. Натыйжалар курч: экспоненциалдуу басаңдоо бир гана сызыктуу таасир менен айкалышат — экспоненциалдуу басаңдоону квадрат тамыр таасир менен айкалыштырсаңыз, моделден термелген соода тизмеги менен акча соргонго болот; сызыктуу эмес таасир даражалуу басаңдоону талап кылат, жана эки көрсөткүчтү байланыштырган теңсиздик менен ( таасир жана басаңдоо үчүн, болжол менен ). Таасир моделиңизге сонун басаңдоо ядросун бекитерден мурун окула турган макала ушул: көптөгөн ад-хок айкалыштар жашыруун арбитраждуу болуп чыгат, бул практикада сиздин оптимизаторуңуз арбитражды таап, маанисиз термелген кестелерди чыгарат дегенди билдирет. Эгер сиздин "оптималдуу" траекторияңыз таза жоюу учурунда сатып алуу менен сатууну кезектештирсе, сиз альфа тапкан жоксуз, Gatheralды бузуп койдуңуз.
ML уландылары. Ушул сериядагы эки жип түз ушул каркастын үстүнө курулат. Биринчиси — арматуралык окутуу менен аткаруу: таасирдин сызыктуу эмес, абалга көз каранды жана жарым-жартылай байкала турганын моюнга алсаңыз, туюк түрү жоголот, ал RL (Nevmyvaka, Feng жана Kearns'тин 2006-жылкы Q-learning макаласынан баштап) траектория мейкиндигин издөөнүн табигый жолу — бирок ар бир олуттуу RL аткаруу агенти AC чечимине карата бенчмаркталат, жана көбүнчө андан баштайт. Экинчиси — нейрондук баа-таасир моделдери: ны буйрук китепчесинин абалынын үйрөнгөн функционалы менен алмаштыруу, жана анын үстүнө орто-дисперсия пландоо логикасын сактоо. Сызыктуу-Гаусс базалык сызыгы дал эмне экенин жана анын мындай формасы болушунун себебин билбей туруп, эки уландынын тең мааниси жок.
Эмнени эсте сактоо керек
Модель — үч болжол, бир айырмалык теңдеме жана бир сан. Сызыктуу туруктуу таасир (манипуляция болбоо менен мажбурланган), сызыктуу убактылуу таасир (айланасында калибрлей турган жакындатуу), арифметикалык броундук ызы-чуу. Оптимум кампалык дисперсияны таасир наркына каршы теңдейт, бүт стратегия шашылыштык ка кичирейет, ал TWAP өзгөчө учур катары чыгат — бул моделдеги эң пайдалуу жалгыз факт, анткени ал "муну TWAP кылабызбы?" дегенди адат маселесинен тобокелдиктен качуу жөнүндө текшериле турган тыянакка айландырат. Калибрлөө — чыныгы иш: жеңил, — 2 эсе оюну, — изилдөө долбоору, ал траектория үчөөнү тең кечирет. Аны бир түштөн кийин ишке ашырыңыз; айдын калганын регрессия диагностикасына жумшаңыз.
Колдонулган адабияттар
- Almgren, R., Chriss, N. (2001). "Optimal execution of portfolio transactions." Journal of Risk, 3(2), 5–39.
- Almgren, R. (2003). "Optimal execution with nonlinear impact functions and trading-enhanced risk." Applied Mathematical Finance, 10(1), 1–18.
- Almgren, R., Thum, C., Hauptmann, E., Li, H. (2005). "Direct estimation of equity market impact." Risk, 18(7), 58–62.
- Huberman, G., Stanzl, W. (2004). "Price manipulation and quasi-arbitrage." Econometrica, 72(4), 1247–1275.
- Obizhaeva, A., Wang, J. (2013). "Optimal trading strategy and supply/demand dynamics." Journal of Financial Markets, 16(1), 1–32.
- Gatheral, J. (2010). "No-dynamic-arbitrage and market impact." Quantitative Finance, 10(7), 749–759.
- Nevmyvaka, Y., Feng, Y., Kearns, M. (2006). "Reinforcement learning for optimized trade execution." ICML 2006.
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.