Нейрондук ODEs: Үзгүлтүксүз убакыт Delta-Time өзгөчөлүгүн жеңеби?
Нейрондук Кадимки Дифференциалдык Теңдемелер (Chen et al., NeurIPS 2018) нейрон тармагы менен жашыруун абалдын туундусун параметрлештирип, ODE чечүүчүгө жыйынтыкты эсептөөгө мүмкүнчүлүк берет. Модель үзгүлтүксүз тереңдикке айланат жана рыноктор үчүн пайдалуураак, үзгүлтүксүз-убакыт: жашыруун абалды каалаган убакта баалоого болот. , сетка чекиттеринде гана эмес, сиздин маалыматтарыңыз отуруп калат.
Бул мүлк туш келди интервалдар менен келген каржылык маалыматтар үчүн ачык-айкын кадамга ээ. Бирок чайыр көрүнгөндөн алда канча алсыз дооматты жашырат. Жөнөкөй GRU кошумча киргизүү мүмкүнчүлүгүн берди - мурунку байкоодон бери — канча убакыт өткөнүн да «билет». Чыныгы суроо үзгүлтүксүз убакыт моделдери туура эмес маалыматтарды жутуп алабы деген эмес. Байкоолордун ортосундагы үйрөнүлгөн үзгүлтүксүз динамика дельта-убакыт өзгөчөлүгү сизге бербеген нерсени чыгарабы, тыянак чыгаруу баасы ондон жүз эсеге чейин.
Бул макалада ошол эксперимент орнотулуп, аны иштетүү үчүн толук инструменттер тизмеги берилет жана техниканы актоо үчүн салыштыруу эмнени көрсөтүү керектиги жөнүндө отчет берет. Аргументтин штрих-конструкция тарабы - соода убактысынын өзү сигнал берет - 17 тилке түрүндөгү өлчөнгөн далилдер менен белгиленген. убакыт тилкелеринен тышкары; Бул жерде маанилүү болгон жалгыз натыйжа - бул моделдөө: чечүүчү жашыруун абалды каалагандай баалайт. , ошондуктан эч кандай интерполяция же толтуруунун кереги жок.
Доомат сыноо астында

Үч уяча гипотеза, ар бири мурункусунан катуураак:
- H1 — чийки иретсиз BTC соода агымындагы ODE-RNN фиткасы бир эле агымдагы GRU фитнесинен эч кандай убакыт маалыматы жок. Бул дээрлик белгилүү жана дээрлик эч нерсеге арзыбайт: ODE-RNN жөн гана базалык маалыматка ээ эмес.
- H2 — ODE-RNN GRU берилгенден кийин ошол эле GRUну урат киргизүү өзгөчөлүгү катары. Бул чынчыл сыноо. Бул Нейрондук ODE адабияты адатта кабыл алуу катары окулат жана каржылык маалыматтарда дээрлик эч качан көрсөтүлбөгөн доомат.
- H3 — H2 артыкчылыгы күтүү бюджетинен аман калат, башкача айтканда, ал ODE-RNN туруктуу кадамдуу чечүүчү менен ыңгайлаштырылган эмес, жандуу жыйынтык чыгаруу үчүн жетиштүү ылдам орнотулганда сакталат.
dopri5.
Эксперимент протоколу
Бир эле белги агымы, бирдей максат, эки курал үчүн бирдей тюнинг бюджети. 1м тилкеге кайра үлгү алуу жок — кайра үлгү алуу сыналып жаткан так структураны жок кылат.
| Орнотуу | |
|---|---|
| Маалыматтар | BTC соода басып чыгаруу, өзгөрүлмө аралык келүү жолу, resampled эмес |
| Куралдар | ODE-RNN; GRU + ; GRU убакыт функциясы жок |
| Максат | Бардык курал үчүн бирдей; ылайыктуулугу менен белгиленет |
| Metrics | RMSE, өткөрүлүүчү журналдын ыктымалдуулугу, доор боюнча дубал сааты, ар бир кадамдын күтүү мөөнөтү |
| Чечүүчү тазалоо | dopri5 (rtol 1e-5) жана туруктуу кадам Эйлер, машыгуу тактыгы боюнча дал келген |
| Бөлүнүү | Алдыга, үлгүдөн тышкары гана |
| Кол | RMSE | Log-lik | s/epoch | Жыйынтыктын кечигүү/кадам |
|---|---|---|---|---|
| GRU (убакыт функциясы жок) | — | — | — | — |
| GRU + log(dt) | — | — | — | — |
| ODE-RNN (dopri5) | — | — | — | — |
| ODE-RNN (туруктуу кадам Эйлер) | — | — | — | — |
H2 боюнча терс натыйжа толугу менен жарыяланышы мүмкүн жана андан да баалуу натыйжа - ошол эле стандартта колдонулган чынчыл терс натыйжа жана Шарпты бир нече сыноодон өткөрдү.
Экинчи эксперимент: CNF vs Student-t
Эгерде ODE-RNN салыштыруу өтө кымбат болсо, арзаныраак эмпирикалык казык бөлүштүрүүчү болуп саналат: реалдуу BTC күнүмдүк кирешелерине үзгүлтүксүз нормалдаштыруу агымын тууралаңыз жана анын орнотулган тыгыздыгын Студент-t туурасы менен эмпирикалык куйрукка салыштырыңыз, 1% жана 5% деңгээлинде куйрук-квантил каталарын билдириңиз. Бул буга чейин ченелген бөлүштүрүү ишине түздөн-түз байланышат GARCH туруксуздугун болжолдоо жана асимметриялык GARCH.
Бул макаланын калган бөлүгү - бул жогоруда айтылгандарды иштетүү үчүн зарыл болгон фон жана инструменттер.
Фон: ResNetsтен үзгүлтүксүз динамикага чейин

А калган тармак эсептейт . Кадам өлчөмүн кичирейтиңиз жана катмарлардын санын көбөйтүңүз жана сиз үзгүлтүксүз чекке жетесиз:
Анын ордуна өзүнчө параметрлери бар дискреттик катмарлар, бирдиктүү тармак өзгөрүүнүн заматта ылдамдыгын аныктайт. Убагында чыгаруу баштапкы маани маселесин чечет:
Кара кутуну чечүүчү (Эйлер, Рунге-Кутта, Дорманд-Пренс) интегралды сандык түрдө эсептеп, локалдык ката баалоосунан кадамдын өлчөмүн адаптациялайт.
Кошумча ыкма
Ар бир чечүүчү кадам аркылуу артка жайылтуу бардык аралык абалдарды сактайт, эстутумдун баасы кадамдардын санына пропорционалдуу. Чен жана башкалар. анын ордуна менен артка ODE чечүү эс. Кошумча абалды аныктаңыз , канааттандырат
жана артка өтүү боюнча параметр градиентти топтоо:
Артка өтүү кеңейтилген системаны эсептөөнү чечет , жана ошол эле учурда, чечүүчүнү тескери иштетет чейин .
Соода: кайра куруу артка карай сандык ката топтолот, катаал же башаламан динамика үчүн жаман. Текшерүү пункту орто жер — дүкөн бир нече аралыкта, алардын ортосунда кайра эсептөө. Баа процесстери үзгүлтүксүз semimartingales жана орточо жылмакай болуп саналат, ошондуктан кошумча жалпысынан кармап турат; микроструктура окуяларынын айланасындагы катуулук адаптациялоочу чечүүчүлөрдү же гибриддерди мажбурлашы мүмкүн.
ODE-RNN: Байкоолордун ортосундагы үзгүлтүксүз жашыруун абал

ODE-RNN - бул негизги эксперимент күйгүзүлгөн архитектура. Байкоолордун ортосунда жашыруун абал ODE астында өнүгөт:
Качан байкоо жетет , дискреттик жаңыртуу күйөт:
Үстүнө жазуулар байкоонун алдындагы жана андан кийинки абалды билдирет. Байкоолордун ортосунда үзгүлтүксүз динамиканы үйрөндү; байкоолордо, жаңы маалыматтар.
H2 абляциялык зонддорунун механизми бул: узун боштук жашыруун абалдын узак жолдун эволюциясын билдирет. — базалык сызыкка карай чирип же диверсациялоо — жана бул эволюциянын формасы скаляр катары берилгенден көрө үйрөнгөн. Бул экспрессивдүүлүк чыныгы соода маалыматтарында өзүн актайбы же жокпу, так өлчөнбөйт.
Табигый туура келет: көп активдуу портфелдер, мында ар бир активдин өзүнүн байкоо графиги бар жана корреляцияланган активдердин жашыруун абалы бир гана байкалган учурда өнүгүп турат; жана иш-чарага негизделген сигналдар (жаңылыктар, кирешелер, макрорелиздер).
Нейрондук SDEs: Стохастикалык компоненттерди кошуу

Нейрондук ODEs детерминисттик жана баа жолунда ызы-чууну билдире албайт. Классикалык мамиле - геометриялык броун кыймылы, тобокелдик-нейтралдуу дрейф жана жылмаюу менен туруктуу өзгөрүлмөлүүлүктүн аткарылбай калуу жолдору - бул бөлүмдө камтылган. Black-Scholes опциондор баасы. Нейрондук SDEs параметрдик форманы үйрөнүлгөн диффузиялык термин менен алмаштырат:
дрейф болуп саналат, диффузия, Wiener процесси, экөө тең жана нейрон тармактары.
Архитектура: Drift Net жана Diffusion Net
- Дрифт тор : күтүлгөн траектория — тенденция, орточо реверсия, импульс. Болжолдоо катасын азайтуу үчүн үйрөтүлгөн.
- Диффузиялык тор : ызы-чуунун чоңдугу, мамлекеттин функциясы катары үйрөнүлгөн. Туруксуз режимде жогорку, тынч режимде төмөн.
Бөлүнүү классикалык кванттык финансыны чагылдырат: дрейф – бул тобокелдик-нейтралдуу (же Р-өлчөмү) динамика, диффузия – туруксуздуктун бети.
Нейрондук SDEлерди окутуу
Стохастикалык интеграл классикалык жактан айырмаланбайт. Үч ыкма:
- Жолдук градиенттер: репараметризациялоо трюки — Броун жолдорунун үлгүсү, ызы-чууну туруктуу киргизүү катары караган чечүүчү аркылуу дифференциялоо.
- Упайдын дал келүүсү: баалоо жана denoising максаттары аркылуу окутуу - өз алдынча генеративдик модель катары колдонулган ошол эле техника крипто болжолдоо үчүн диффузиялык моделдер, бул жерде SDE үчүн окутуу вариантына төмөндөтүлгөн.
- Чектүү өлчөмдүү бөлүштүрүүнүн дал келүүсү: толук жол көрсөткүчтөрүнө караганда, байкоо убагындагы чектерге дал келүү.
Pathwise практикалык демейки болуп саналат. torchsde Autodiff колдоосу менен Эйлер-Маруяма, Милштейн жана стохастикалык Рунге-Куттаны ишке ашырат.
Туруксуздуктун бетине үйрөнүү
Классикалык моделдер (Heston, SABR) диффузия коэффициентине параметрдик формаларды таңуулайт. Нейрондук SDE үйрөнөт ыктыярдуу функция катары:
Бул диффузиялык процесстер үчүн универсалдуу жакындоочу болуп саналат - каалаган Ito процесси жетиштүү кубаттуулукта каалаган тактыкка чейин.
Жоголгон жана асинхрондук маалыматтар үчүн жашыруун ODE

Latent ODE (Rubanova, Chen, Duvenaud, 2019) Нейрондук ODE менен VAEди жупташат: каржылык катарлар - бул төмөн өлчөмдүү жашыруун мейкиндикте үйрөнүлгөн жылмакай негизги процесстин ызы-чуулуу байкоолору.
- Таануу тармагы: өндүрүү үчүн байкоолор аркылуу артка чуркап ODE-RNN .
- Жашыруун динамика: .
- Декодер: , каалаган убакта бааланат.
жоготуу стандарттык ELBO болуп саналат:
Портфолионун абалын баалоо: активдер боюнча сейрек асинхрондук байкоолордон биргелешкен динамикаларды камтыган үзгүлтүксүз жашыруун абалды чыгарыңыз — негизинен Калман чыпкасынын сызыктуу эмес, үйрөнүлгөн версиясы.
Белгисиз маалыматтарды эсептөө: токтоп калуулар жана дем алыш күндөрдүн боштуктары бир калыпта интерполяцияланган жашыруун траекторияга ээ болот; декодер VAE артындагы белгисиздик менен боштук аркылуу акылга сыярлык жолдорду чыгарат.
Көп жыштыктын синтези: күнүмдүк жабылуу, бир күндүк VWAP жана белги берилиштер жалпы убакыт торчосу жок бир моделде.
Кайра бөлүштүрүү үчүн үзгүлтүксүз нормалдаштыруу агымдары

CNFs жөнөкөй базалык бөлүштүрүүнү татаал максатка айландыруу үчүн Нейрондук ODE колдонушат. Трансформация болуп саналат , жана лог тыгыздыгы өзгөрмөлөрдүн заматта өзгөрүшүнө жараша болот:
тартып алдыга абалын жана лог-жыштык интеграциялоо алуу жана . Якобиялык изи масштабдуулук үчүн Хатчинсондун стохастикалык баалоочусу менен бааланат.
Крипто кирешелери лептокурттук жана терс бурмаланган - реалдуу маалыматтар боюнча өлчөнөт. GARCH туруксуздугун болжолдоо жана асимметриялык GARCH жана рычаг эффектиси - жана CNF бул форманы кабыл алуунун ордуна үйрөнөт. Агымды абал өзгөрмөлөрүндө шарттоо форманын режим менен өзгөрүшүнө мүмкүндүк берет. Тыгыздык болжолдуу эмес, так болгондуктан, ал эсептелген куйрук метрикасын бере алат. Монте-Карло жана bootstrap backtests жана CVaR курулушу HRP/CVaR портфолиосу; биргелешкен куйрук түзүмү өзүнчө каралат биргелешкен тобокелдик үчүн копула моделдери.
Шарттуу тыгыздыкты баалоо
Пайдалуу кадр бир эле көйгөйгө жарыяланган үч ыкманын ортосундагы түз карама-каршылык болуп саналат. TFT сизге квантил чыгаруу катмарынан квантилдердин белгиленген топтомун берет. Конформдык болжолдоо каптоо кепилдиги менен калибрленген интервалдарды берет. Шарттуу CNF сизге так, дифференциалдалуучу тыгыздыкты берет:
Дифференциалдуулук айырмалоочу касиет болуп саналат: тыгыздык ылдыйкы объекттин ичинде отуруп, кайра таралышы мүмкүн, аны туруктуу квантилдер да, конформдык интервалдар да колдобойт. Так тыгыздык ошол эле максаттагы TFT квантилдерине каршы баасына татыктуубу, бул жерде текшерилбейт.
Дискреттик альтернативалар менен салыштыруу

| Менчик | LSTM/GRU | Трансформатор | Нейрондук ODE | Нейрондук SDE |
|---|---|---|---|---|
| Убакытты туура эмес башкаруу | Начар (толуктоо керек) | Позициялык коддоо | Native | Native |
| Эс тутум (машыгуу) | кошуна | кошуна | ||
| Белгисиздикти сандаштыруу | Жок (детерминисттик) | Жок (детерминисттик) | Ансамблдер аркылуу | Native |
| Байкоолордун ортосундагы интерполяция | Жок | Жок | Ооба | Ооба |
| Үзгүлтүксүз убакыттын тыгыздыгы | Жок | Жок | CNF аркылуу | Жол өлчөө аркылуу |
| Эсептөө наркы | Төмөн | Орто | Өзгөрмө (чечүүчү) | Жогорку (SDE чечүүчү) |
Бул таблицанын LSTM-каршы көңүл буруунун жарымы деталдаштырылган, эталондор менен, TFT макаласы — анын "TFT vs LSTM vs Vanilla Transformer" жана "When LSTM Still Wins" бөлүмдөрүн караңыз. Бул жерде жаңы тилкелер оң жактагы экөө, ал эми H2/H3 суроолорун чечүүчү саптар акыркы экөө.
Python torchdiffeq менен ишке ашыруу

torchdiffeq ODE чечүүчүлөрдү кошумча артка жайылтуу менен камсыз кылат.
Баа динамикасы үчүн негизги нейрондук ODE
import torch
import torch.nn as nn
from torchdiffeq import odeint_adjoint as odeint
class PriceDynamics(nn.Module):
"""Neural network defining dh/dt = f(h, t)."""
def __init__(self, hidden_dim: int = 64):
super().__init__()
self.net = nn.Sequential(
nn.Linear(hidden_dim, 128),
nn.Tanh(),
nn.Linear(128, 128),
nn.Tanh(),
nn.Linear(128, hidden_dim),
)
def forward(self, t, h):
return self.net(h)
class NeuralODEPredictor(nn.Module):
"""
Encode observed features -> latent state,
evolve via Neural ODE,
decode to price prediction.
"""
def __init__(self, input_dim: int, hidden_dim: int = 64):
super().__init__()
self.encoder = nn.Linear(input_dim, hidden_dim)
self.dynamics = PriceDynamics(hidden_dim)
self.decoder = nn.Linear(hidden_dim, 1)
def forward(self, x0, eval_times):
"""
x0: (batch, input_dim) features at t=0
eval_times: (T,) times at which to evaluate the ODE
Returns: (T, batch, 1) predictions
"""
h0 = self.encoder(x0) # (batch, hidden_dim)
h_traj = odeint(self.dynamics, h0, eval_times,
method='dopri5', rtol=1e-5, atol=1e-7)
return self.decoder(h_traj)
ODE-RNN туура эмес кене маалыматтары үчүн
Бул эксперименталдык кол. Ал согушу керек негизги нерсе nn.GRUCell менен бир агымда log(t_next - t_prev) менен бириктирилген x.
class ODERNNCell(nn.Module):
"""Single step: ODE-evolve, then RNN-update."""
def __init__(self, input_dim: int, hidden_dim: int = 64):
super().__init__()
self.dynamics = PriceDynamics(hidden_dim)
self.gru_cell = nn.GRUCell(input_dim, hidden_dim)
def forward(self, h, x, t_prev, t_next):
times = torch.tensor([t_prev, t_next], dtype=torch.float32)
h_evolved = odeint(self.dynamics, h, times,
method='dopri5')[-1] # state at t_next
h_updated = self.gru_cell(x, h_evolved)
return h_updated
class ODERNN(nn.Module):
"""Process irregularly-sampled sequence."""
def __init__(self, input_dim: int, hidden_dim: int = 64):
super().__init__()
self.cell = ODERNNCell(input_dim, hidden_dim)
self.decoder = nn.Linear(hidden_dim, 1)
self.hidden_dim = hidden_dim
def forward(self, observations, times):
"""
observations: list of (batch, input_dim) tensors
times: list of floats, observation timestamps
"""
batch_size = observations[0].shape[0]
h = torch.zeros(batch_size, self.hidden_dim)
outputs = []
for i in range(len(observations)):
t_prev = 0.0 if i == 0 else times[i - 1]
h = self.cell(h, observations[i], t_prev, times[i])
outputs.append(self.decoder(h))
return torch.stack(outputs) # (seq_len, batch, 1)
Тренинг цикли
def train_neural_ode(model, train_loader, epochs=100, lr=1e-3):
optimizer = torch.optim.Adam(model.parameters(), lr=lr)
scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(
optimizer, T_max=epochs
)
for epoch in range(epochs):
epoch_loss = 0.0
for batch in train_loader:
features, times, targets = batch
optimizer.zero_grad()
predictions = model(features, times)
loss = torch.nn.functional.mse_loss(predictions, targets)
loss.backward()
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
optimizer.step()
epoch_loss += loss.item()
scheduler.step()
if (epoch + 1) % 10 == 0:
avg_loss = epoch_loss / len(train_loader)
print(f"Epoch {epoch+1}/{epochs}, Loss: {avg_loss:.6f}")
Кайтаруу бөлүштүрүү үчүн үзгүлтүксүз нормалдаштыруу агымы
from torchdiffeq import odeint
class CNFDynamics(nn.Module):
"""Dynamics for continuous normalizing flow."""
def __init__(self, dim: int = 1, hidden_dim: int = 64):
super().__init__()
self.net = nn.Sequential(
nn.Linear(dim + 1, hidden_dim), # +1 for time
nn.Tanh(),
nn.Linear(hidden_dim, hidden_dim),
nn.Tanh(),
nn.Linear(hidden_dim, dim),
)
self.dim = dim
def forward(self, t, state):
z = state[..., :self.dim]
t_expand = t.expand(z.shape[0], 1)
zt = torch.cat([z, t_expand], dim=-1)
dz = self.net(zt)
e = torch.randn_like(z)
e_dz = torch.autograd.grad(
dz, z, e, create_graph=True
)[0]
trace_jac = (e_dz * e).sum(dim=-1, keepdim=True)
return torch.cat([dz, -trace_jac], dim=-1)
class ReturnDistributionCNF(nn.Module):
"""Model return distributions with continuous normalizing flows."""
def __init__(self, dim: int = 1):
super().__init__()
self.dynamics = CNFDynamics(dim)
self.dim = dim
def log_prob(self, x):
"""Compute log probability of observed returns."""
log_p0 = torch.zeros(x.shape[0], 1)
state0 = torch.cat([x, log_p0], dim=-1)
state0.requires_grad_(True)
times = torch.tensor([1.0, 0.0]) # backward
state_T = odeint(self.dynamics, state0, times,
method='dopri5')[-1]
z_T = state_T[..., :self.dim]
delta_log_p = state_T[..., self.dim:]
log_p_base = -0.5 * (z_T ** 2 + torch.log(
torch.tensor(2 * torch.pi)
)).sum(dim=-1, keepdim=True)
return log_p_base + delta_log_p
def sample(self, n_samples: int):
"""Generate samples from learned distribution."""
z0 = torch.randn(n_samples, self.dim)
log_p0 = torch.zeros(n_samples, 1)
state0 = torch.cat([z0, log_p0], dim=-1)
times = torch.tensor([0.0, 1.0]) # forward
state_T = odeint(self.dynamics, state0, times,
method='dopri5')[-1]
return state_T[..., :self.dim]
Практикалык эскертүүлөр

Булар жогорудагы экспериментти жүргүзүп жатканда сизди тиштей турган нерселер.
Чечүүчү тандоо жана ылдамдык
dopri5 тактык кепилдиктерин берет, бирок өзгөрүлмө эсептөө наркы, ошондуктан H3 H2ден өзүнчө гипотеза болуп саналат: адаптациялоочу чечүүчүнүн астында гана бар жээк жандуу күтүү бюджетине туруштук бере албайт. Туруктуу кадамдуу чечүүчүлөр (Эйлер, RK4) тактыктын баасы боюнча алдын ала күтүү убактысын берет. Практикалык компромисс: менен машыгуу dopri5, репрезентативдик маалымат боюнча адаптациялоочу чечүүчүнүн жыйынтыгына дал келүү үчүн калибрленген стационардык чечүүчү менен орнотуп, аны аз деп ойлобостон, боштукту өлчөңүз.
odeint(f, h0, t, method='dopri5', rtol=1e-6, atol=1e-8)
odeint(f, h0, t, method='euler', options={'step_size': 0.1})
Үзгүлтүксүз секирүүлөрдүн жанында катуу көйгөйлөр үчүн, method='implicit_adams' же method='scipy_solver'.
Сандык туруктуулук
Эгерде чоң баалуулуктарды чыгарат, мамлекет айырмаланат. Жеңилдетүүлөр:
- Спектралдык нормалдаштыруу катмарларында Lipschitz константасын көзөмөлдөө.
- Машыгуу учурунда Градиентти кесүү (жогоруда тренинг циклинде көрсөтүлгөн).
- Убакытты нормалдаштыруу: убакыт белгилерин масштабдоо .
- Динамикалык норма боюнча регуляризация: кошуу жоготууга.
Интеграция аралыгы
Бир нече айга созулган маалыматтар үчүн биригүүгө болбойт чейин мүнөт:
t_normalized = (timestamps - timestamps[0]) / (timestamps[-1] - timestamps[0])
Бул чечүүчүнү сандык жактан ыңгайлуу режимде кармап, үйрөнгөн динамиканы масштабдуу инвариант кылат. Бул салыштыруу үчүн да маанилүү: нормалдашпаган ODE-RNN GRU базалык сызыгына таза сандык себептерден улам утулуп калышы мүмкүн, бул табылга эмес, өлчөө артефакты болот.
Бир нече убакыт шкалаларын иштетүү
Базарларда бир эле учурда микросекунд, секунд, мүнөт жана күнүмдүк шкалаларда динамика бар жана бир Нейрондук ODE алардын баарын кармап туруу үчүн күрөшүшү мүмкүн. Параметрлер: ар кандай убакыт масштабында бир нече ODE блокторун топтоо; тез жана жай кубаттуулугу үчүн жашыруун өлчөмдү кеңейтүү; же жыштык тилкесинде жана сактагычтын чыгышында өзүнчө Нейрондук ODE иштетиңиз. (Бул моделдин сыйымдуулугунун суроосу, арткы ишенимдүүлүк суроосунан айырмаланып турат адаптивдик резолюцияны бургулоо.)
Ачык изилдөө багыттары

Нейрондук секирүү SDEs: күтүлбөгөн жерден дислокациялар үчүн үйрөнүлгөн секирүү компонентин кошуңуз (флеш кырсыктар, күтүлбөгөн кирешелер):
кайда компенсацияланган Пуассон кокустук чарасы жана үйрөнгөн секирүү өзөгү.
Нейрондук башкарылуучу дифференциалдык теңдемелер (Нейрондук CDEs): Wiener процессин жалпы айдоо сигналы менен алмаштырып, байкалган маалымат агымдарынын динамикасын жетектөөгө мүмкүндүк берет. Заказдын агымы үчүн табигый нерсе, анда соода жана цитаталардын агымы жашыруун рыноктун абалына түрткү берет.
Дифференциалдануучу рыноктун симуляциясы: Нейрондук SDEди дифференциалдануучу симулятордун ичиндеги генеративдик модель катары колдонуңуз жана ал аркылуу кошумча аркылуу артка жайылуу аркылуу стратегияларды аягына чейин үйрөтүңүз. Стратегия жана рынок модели бирге өнүгүп жатат.
Физика-маалыматталган нейрондук ODEs: PINNs жоготууга дифференциалдык теңдеменин калдыктарын киргизет — техника өзү киргизилген Navier-Stokes макаласы. Каржылык колдонмо арбитражды жок кылуу, чалуу паритетин жана мартингал шарттарын жаза шарттары же үйрөнгөн динамикага катуу чектөөлөрдү киргизүү болуп саналат.
Корутунду

Үзгүлтүксүз убакыт структурасы түзүмдүк жактан туура: рыноктор дискреттик, иретсиз убакта байкалган үзгүлтүксүз процесстер жана моделдер муну сыйлашы керек. Аспаптар жетилген - torchdiffeq, torchsde, калганы үчүн жөнөкөй PyTorch - жана белгилүү чыгымдар чечүүчү ылдамдык жана узак интеграциялык интервалдардагы сандык туруктуулук болуп саналат.
Белгиленген эмес, булардын кайсынысы болбосун өндүрүш стекке таандыкпы же жокпу чечүүчү бөлүк. Структуралык тууралык прогноздук артыкчылыктын далили эмес, ал эми спецификалык артыкчылык үзгүлтүксүз динамика үчүн талап кылынган өзгөчөлүк бул жерде реалдуу соода маалыматтары боюнча өлчөнгөн эмес. Жогорудагы H2 таблицасы толтурулганга чейин, бүктөмөнүн астындагы нерселердин бардыгын натыйжасы катары эмес, иштиктүү ишке ашыруу тиркелген такталган гипотеза катары караңыз.
Шилтемелер
- Чен, R.T.Q., Rubanova, Y., Bettencourt, J., Duvenaud, D. (2018). Нейрондук кадимки дифференциалдык теңдеме. NeurIPS 2018. arXiv:1806.07366
- Рубанова, Ю., Чен, R.T.Q., Duvenaud, D. (2019). Тура эмес үлгүдөгү убакыт сериялары үчүн жашыруун ODE. NeurIPS 2019. arXiv:1907.03907
- Цзя, Дж., Бенсон, А.Р. (2019). Нейрондук секирүү стохастикалык дифференциалдык теңдемелер. NeurIPS 2019.
- Кидгер, П., Моррил, Дж., Фостер, Дж., Лионс, Т. (2020). Нейрондук башкарылуучу дифференциалдык теңдемелер туура эмес убакыт сериялары үчүн. NeurIPS 2020.
- Хасан, А., Перейра, Дж.М., Фарсиу, С., Карин, Л. (2021). Нейрондук тармактын стохастикалык дифференциалдык теңдеме моделдери каржылык маалыматтарды болжолдоого колдонмолору менен. arXiv:2111.13164
- torchdiffeq: github.com/rtqichen/torchdiffeq
- UvA Deep Learning Tutorials — Нейрондук ODE: uvadlc-notebooks.readthedocs.io
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.