Physics-Informed Neural Networks for Options Pricing
PINNдерди деривативдерге колдонуунун кызыктуу жери Black-Scholes эмес. Black-Scholes үчүн жабык формула бар; аны кайра чыгарган тармак - натыйжа эмес, акылга сыярлыкты текшерүү. Кызыктуусу - жабык формуласы жок жана чектүү айырмалар ыкмасы мүмкүнчүлүгүнүн чегине жеткен учурлар: аралаш туундусу бар Hestonдун эки факторлуу PDEси, америкалык опциондун эркин чек ара маселеси жана интегралдык мүчөсү областтагы ар бир чекитти бардык башка чекиттер менен байланыштырган Мертондун жарым-жартылай интегро-дифференциалдык теңдемеси.
Бул макалада ошолордун ар бири жоготуу функциясына кантип кирери көрсөтүлөт. Тактап айтканда: Black-Scholes PINNин окутууга мүмкүн кылган лог-баа калдыгы, кайчылаш туунду autograd аркылуу автоматтык түрдө алынган үч кириштүү Heston тармагы, мөөнөтүнөн мурда аткарууну штраф аркылуу жана эки тармак аркылуу моделдөө, ошондой эле секирик интегралын PDE калдыгына киргизген Гаусс-Эрмит квадратурасы.
Бул бенчмарк эмес. Төмөндө натыйжага окшош көрүнгөн ар бир сан же максаттуу көрсөткүч, же шилтеме; бул ачык белгиленет. Өлчөө этабы аягында берилген.
PINNдер Raissi et al. (2019) эмгегинде киргизилген. Алардын механикасы бул блогдо Навье-Стокс маселеси макаласында буга чейин каралган: ошол эле autograd-калдык ыкмасы суюктук теңдемелериндеги сингулярдуулуктарды издейт, PDE жоготуу мүчөсүнө айланат, autodiff тармактын киргизүүлөрү боюнча так туундуларды берет жана тор такыр түзүлбөйт. Бул жерде өзгөргөн жалгыз нерсе - жоготууга киргизилген PDE.
Black-Scholes PDEси физикалык чектөө катары

Black-Scholes PDEси, анын терминалдык төлөмү жана анын негизиндеги арбитраждын жоктугу жөнүндөгү аргумент Black-Scholes формуласы макаласында берилген. Бул бөлүм аларды белгилүү деп кабыл алып, түз эле тармакты чындап окутууга боло турган формага өтөт.
Лог-баага өзгөртүү
менен түз иштөө ыңгайсыз: область , ал эми PDE өзгөрмө коэффициенттерге ээ. Стандарттуу өзгөртүүсү аны туруктуу коэффициенттүү формага келтирет:
Бул аймагындагы конвекция-диффузия-реакция теңдемеси. Өзгөрмө жана коэффициенттери жоголот, бул тармак үчүн маанилүү: масштабы менен өскөн калдык областтын алыскы четинде үстөмдүк кылат, ошондо оптимизатор өз ресурсун ошол жакка коротот.
Black-Scholes үчүн PINN жоготуу функциясы
тармак болсун. Ички аймактан коллокация чекитин , чек аралардан чекитти жана терминалдык убакыттан чекитти тандайбыз:
Ар бир жарым-жартылай туунду create_graph=True параметри менен torch.autograd.grad аркылуу эсептелет. Ошондуктан арткы таратууда градиенттер туунду эсептелген граф аркылуу өтөт. Ишке ашыруудагы негизги ыкма дал ушул бир параметр.
PyTorch аркылуу ишке ашыруу

Төмөндөгү параметрлер окуу китебине караганда крипторынокко жакын: жана (болжол менен 30 күндүк BTC опциону), фондулук столдо колдонулган , ордуна. Кыска мөөнөт жана жогорку волатилдүүлүк төлөмдүн ийриги эң курч, ал эми PINNди окутуу эң кыйын болгон режим; мисалдын максаты да ушунда.
import torch
import torch.nn as nn
import numpy as np
r = 0.05 # risk-free rate
sigma = 0.7 # volatility
K = 1.0 # strike (moneyness-normalized)
T = 0.08 # ~30 days
x_min, x_max = -1.0, 1.0 # log-price domain (S/K in [0.37, 2.72])
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
class BSPINN(nn.Module):
"""Physics-Informed Neural Network for Black-Scholes PDE."""
def __init__(self, hidden_dim=128, num_layers=4):
super().__init__()
layers = [nn.Linear(2, hidden_dim), nn.Tanh()]
for _ in range(num_layers - 1):
layers += [nn.Linear(hidden_dim, hidden_dim), nn.Tanh()]
layers.append(nn.Linear(hidden_dim, 1))
self.net = nn.Sequential(*layers)
def forward(self, x, t):
inputs = torch.cat([x, t], dim=1)
return self.net(inputs)
def compute_pde_residual(model, x, t):
"""Compute Black-Scholes PDE residual using autodiff."""
x.requires_grad_(True)
t.requires_grad_(True)
u = model(x, t)
grads = torch.autograd.grad(u, [x, t], grad_outputs=torch.ones_like(u),
create_graph=True)
u_x, u_t = grads[0], grads[1]
u_xx = torch.autograd.grad(u_x, x, grad_outputs=torch.ones_like(u_x),
create_graph=True)[0]
residual = u_t + 0.5 * sigma**2 * u_xx + (r - 0.5 * sigma**2) * u_x - r * u
return residual
def terminal_condition(x):
"""European call payoff: max(S - K, 0) = max(exp(x) - K, 0)."""
return torch.relu(torch.exp(x) - K)
def train_pinn(epochs=10000, lr=1e-3, n_interior=5000, n_boundary=500, n_terminal=1000):
model = BSPINN().to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=lr)
scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=epochs)
for epoch in range(epochs):
optimizer.zero_grad()
x_int = (torch.rand(n_interior, 1, device=device)
* (x_max - x_min) + x_min)
t_int = torch.rand(n_interior, 1, device=device) * T
residual = compute_pde_residual(model, x_int, t_int)
loss_pde = (residual ** 2).mean()
x_tc = (torch.rand(n_terminal, 1, device=device)
* (x_max - x_min) + x_min)
t_tc = torch.ones(n_terminal, 1, device=device) * T
u_tc = model(x_tc, t_tc)
loss_ic = ((u_tc - terminal_condition(x_tc)) ** 2).mean()
t_bc = torch.rand(n_boundary, 1, device=device) * T
x_lo = torch.full((n_boundary, 1), x_min, device=device)
loss_bc_lo = (model(x_lo, t_bc) ** 2).mean()
x_hi = torch.full((n_boundary, 1), x_max, device=device)
target_hi = torch.exp(x_hi) - K * torch.exp(-r * (T - t_bc))
loss_bc_hi = ((model(x_hi, t_bc) - target_hi) ** 2).mean()
loss = loss_pde + 10.0 * loss_ic + loss_bc_lo + loss_bc_hi
loss.backward()
optimizer.step()
scheduler.step()
if epoch % 1000 == 0:
print(f"Epoch {epoch:5d} | PDE: {loss_pde:.2e} | "
f"IC: {loss_ic:.2e} | BC: {loss_bc_lo + loss_bc_hi:.2e}")
return model
Белгилей турган эки структуралык чечим бар:
- Терминалдык шарттын салмагы. Төлөм 10x салмак алат, анткени маселени дал ошол аныктайт. Катуу мажбурлоо болбосо, тармак бардык жерде нөл чыгарып, PDEни тривиалдуу аткара алат: бир тектүү PDEнин чексиз көп чечими бар, ал эми терминалдык шарт алардын бирин тандайт.
- Ар бир эпохада коллокация чекиттерин кайра тандоо. Чекиттер ар бир кадамда жаңынан тандалат, бул калдык үчүн стохастикалык регуляризация катары иштейт. Альтернатива - туруктуу чекиттер топтому - тармакка дал ошол координаталардагы калдыкка ашыкча ылайыкташууга мүмкүндүк берет.
Heston стохастикалык волатилдүүлүк моделине кеңейтүү

Black-Scholes туруктуу бир менен баа коет. Дал ушул божомолду GARCH(1,1) волатилдүүлүгүн болжолдоо жокко чыгарууга багытталган. Heston моделинде волатилдүүлүк экинчи стохастикалык факторго - көз ирмемдик дисперсия га - айланат:
мында - орточого кайтуу ылдамдыгы, - узак мөөнөттүү дисперсия, - волатилдүүлүктүн волатилдүүлүгү, ал эми .
Баалоо PDEси абал боюнча эки өлчөмдүү:
Дал ушул жерде торсуз ыкма жагымдуу боло баштайт. Чектүү айырмалар схемасына боюнча тор керек - кадимки тор түйүндөн турат. Стохастикалык ставкалар сыяктуу үчүнчү факторду кошсоңуз, тор практикалык маанисин жоготот. Монте-Карло өлчөм көбөйгөндө жакшыраак масштабдалат, бирок өзгөчө гректер үчүн жай жыйналат.
Heston үчүн PINN архитектурасы
Тармак үч киргизүүсүн алат, мында . ADI схемаларын татаалдаштырган аралаш туундусу дагы бир autograd.grad чакыруусу менен алынат:
class HestonPINN(nn.Module):
def __init__(self, hidden_dim=256, num_layers=5):
super().__init__()
layers = [nn.Linear(3, hidden_dim), nn.Tanh()]
for _ in range(num_layers - 1):
layers += [nn.Linear(hidden_dim, hidden_dim), nn.Tanh()]
layers.append(nn.Linear(hidden_dim, 1))
self.net = nn.Sequential(*layers)
def forward(self, x, v, t):
return self.net(torch.cat([x, v, t], dim=1))
def heston_pde_residual(model, x, v, t, kappa, theta, xi, rho, r):
x.requires_grad_(True)
v.requires_grad_(True)
t.requires_grad_(True)
u = model(x, v, t)
u_x, u_v, u_t = torch.autograd.grad(
u, [x, v, t], torch.ones_like(u), create_graph=True
)
u_xx = torch.autograd.grad(u_x, x, torch.ones_like(u_x), create_graph=True)[0]
u_vv = torch.autograd.grad(u_v, v, torch.ones_like(u_v), create_graph=True)[0]
u_xv = torch.autograd.grad(u_x, v, torch.ones_like(u_x), create_graph=True)[0]
residual = (
u_t
+ 0.5 * v * u_xx
+ rho * xi * v * u_xv
+ 0.5 * xi**2 * v * u_vv
+ (r - 0.5 * v) * u_x
+ kappa * (theta - v) * u_v
- r * u
)
return residual
u_xv туундусун u_x ти v боюнча дифференциялоо аркылуу алабыз; мында биринчи чакырууда түзүлгөн граф кайра колдонулат. Аралаш туундулардын симметриясынан улам u_v ни x боюнча дифференциялоо ошол эле тензорду бериши керек; бирок float32де бул так аткарылбайт, айырма графтын туура иштеп жатканын арзан текшерүүчү диагностикалык белги болот.
Америкалык опциондор жана эркин чек ара маселелери

Америкалык опциондор мөөнөтүнөн мурда аткаруу чектөөсүн кошот: нарк эч качан ички нарктан төмөн болбошу керек. Ошентип PDE эркин чек ара маселесине, башкача айтканда сызыктуу комплементардуулук маселесине (LCP) айланат:
мында - Black-Scholes оператору, ал эми - төлөм. Муну жоготуу функциясына киргизүүнүн эки жолу бар.
Штраф ыкмасы
Комплементардуулук чектөөсүн жылмакай штраф менен алмаштыралы:
мында чоң (адатта тен ге чейин). ички нарктан төмөн түшкөндө, штраф аны кайра жогору түртөт, PINN жоготуу функциясы болсо төмөнкүдөй болот:
Архитектура өзгөрбөйт, калдык гана өзгөрөт. Баасы - начар шарттуулук компромисси бар жаңы гиперпараметр: өтө кичине болсо чектөө бузулат, өтө чоң болсо жоготуу ландшафтында штраф мүчөсү үстөмдүк кылат.
Эркин чек арага түз мамиле
Эки тармакты биргелешип окутуңуз: бирөө баа үчүн, экинчиси оптималдуу аткаруу чек арасы үчүн. Жоготууга улантуу областындагы PDE, чек арадагы жылмакай улануу шарты жана аткаруу областындагы төлөм кирет. Чек ара өзүнчө негизги чыгыш катары алынат; америкалык опциондор китебин хеджирлөөдө чындап керектүү нерсе да ушул.
PINN менен секирик-диффузия моделдери

Мертон модели геометриялык Броун кыймылына Пуассон секириктерин кошот:
мында - интенсивдүүлүгү болгон жана секириктеринин өлчөмдөрү логнормалдуу болгон курамдык Пуассон процесси. Баалоо жарым-жартылай интегро-дифференциалдык теңдемеге (PIDE) айланат:
мында - секирик көбөйткүчүнүн тыгыздыгы.
Интеграл чектүү айырмалар ыкмасын бузат: ал областтагы ар бир чекитти башка бардык чекиттер менен байланыштырып, решатель таянган тилкелүү түзүлүштү жок кылат. PINNде мындай түзүлүш жок, демек жогото турган нерсе да жок. Интеграл ар бир коллокация чекитинде квадратура менен эсептелген калдыктын дагы бир мүчөсү гана болот, ал эми тармак бардык жерде аныкталгандыктан, интерполяция эмес, түз forward pass аркылуу алынат:
def jump_integral(model, x, t, lam, mu_j, sigma_j, n_quad=32):
"""Approximate jump integral using Gauss-Hermite quadrature."""
nodes, weights = np.polynomial.hermite.hermgauss(n_quad)
nodes = torch.tensor(nodes, dtype=torch.float32, device=x.device)
weights = torch.tensor(weights, dtype=torch.float32, device=x.device)
y_nodes = mu_j + sigma_j * np.sqrt(2) * nodes
integral = torch.zeros_like(x)
for i in range(n_quad):
x_shifted = x + y_nodes[i]
v_shifted = model(x_shifted, t)
integral += weights[i] * v_shifted
integral *= 1.0 / np.sqrt(np.pi)
return integral
Ошондо PIDE калдыгы төмөнкүдөй болот:
мында - квадратуралык жакындатуу. Цикл ар бир окутуу кадамында n_quad кошумча forward pass талап кылат жана алардын баары autograd графына кирет - секириктердин чыныгы баасы математикада эмес, эс тутумунда.
Салттуу ыкмалар менен салыштыруу

Түзүлүштүк айырмачылыктар реалдуу жана аларды бенчмарксыз деле айтууга болот:
| Критерий | Чектүү айырмалар | Монте-Карло | PINN |
|---|---|---|---|
| Тор/мэш керекпи | Ооба (структураланган тор) | Жок | Жок (торсуз) |
| Өлчөмдүүлүктүн каргышы | Катуу (>3D практикалык эмес) | Жумшак ( жыйналуу) | Жумшак (тармактын сыйымдуулугу масштабдалат) |
| Гректер | Чектүү айырмалардын жакындатуусу | Траекториялык/LR баалоочулар | Autodiff аркылуу так |
| Параметрлерди кайра колдонуу | Кайрадан чечүү керек | Кайрадан симуляциялоо керек | Параметрдик: бир жолу окутуу |
| Америкалык опциондор | LCP үчүн SOR/PSOR | Longstaff-Schwartz регрессиясы | Штраф же эркин чек ара |
| Ката чектери | Ооба (схеманын тартиби) | Ооба (БЧТ) | Жок - эмпирикалык жоготуу гана |
Бул жерде адатта боло турган өндүрүмдүүлүк саптары - окутуу убактысы, инференс кечигүүсү, тактык - атайын жок: аларды өлчөө ачык иш, таблицанын бир сабы эмес.
PINNдер кайсы жерде утушу мүмкүн
Реалдуу убакытта кайра баалоо. Окутулгандан кийин эсептөө батч боюнча forward pass болот, демек бүт китеп ар бир параметр топтому үчүн өзүнчө чечүүнүн ордуна бир ядро иштетүү менен кайра бааланат. Бул реалдуу китеп өлчөмдөрүндө жакшы жөндөлгөн Кранк-Николсон решателинен ашабы - эмпирикалык суроо, азырынча өлчөнгөн эмес.
Жогорку өлчөмдүү моделдер. Стохастикалык волатилдүүлүк, стохастикалык ставкалар жана секириктер кошулса, 4+ өлчөм пайда болот; бул жерде чектүү айырмалар иш жүзүндө колдонулбай калат. PINNдер өлчөмдүүлүк өскөндө акырын начарлайт, бирок окутуу кыйын бойдон калат.
Үзгүлтүксүз гректер. Тармак жылмакай жана дифференциялануучу, ошондуктан Delta, Gamma, Theta жана Vega PDE калдыгындагыдай эле autograd механикасынан алынат: bump-and-revalue да, чектүү айырмалардын ызы-чуусу да керек эмес. Бул макаладагы эң күчтүү доомат жана анын артында өлчөнгөн Gamma бети эң көп керек болгон доомат да ушул.
Параметрдик чечимдер. Модель параметрлерин (, , ) тармактын киргизүүлөрү катары берсе, бир PINN жалгыз калибровканы эмес, моделдердин бүтүндөй үй-бүлөсүн камтый алат.
PINNдер кайсы жерде кыйналышат
Окутуунун баасы. Бир параметр топтомундагы бир опцион үчүн чектүү айырмалар чечими PINN биринчи миң эпохасын бүткөнгө чейин эле даяр болот.
Ката чектери жок. Ричардсон экстраполяциясы бар чектүү айырмалар белгилүү жыйналуу тартиби менен машиналык тактыкка жетет. PINN жоготуу маанисин берет, бирок ал ката чеги эмес. Белгисиздикти эске алган варианттар (Bai et al., 2025) ишеним интервалдарын кошот, бирок бул тармак али жаш.
Оптималдаштыруунун татаалдыгы. Жоготуу ландшафты катуу томпок эмес, ал эми PDE, чек ара жана терминалдык мүчөлөрдүн салмактары өзүнчө жөндөөнү талап кылат. Типтүү бузулуу - тармак PDE калдыгын дээрлик нөлгө түшүрүп, чек ара шарттарын толугу менен этибарга албайт: бул туура эмес маселенин толук жарактуу чечими.
Кайра өндүрүлүүчүлүк. Ар башка seed, коллокация бөлүштүрүүлөрү жана оптимизатор жөндөөлөрү маанилүү түрдө ар башка чечимдерге алып келиши мүмкүн. Ансамблдер жардам берет, бирок чыгымды көбөйтөт.
Бул акыркы эки пунктту графикке айландыруу өзгөчө пайдалуу, анткени буларды муну кайра ишке ашырган ар бир адам жолуктура турган бузулуу режимдери.
Дагы эмнени өлчөө керек

Макаланын чынчыл абалы мындай: формулировкалар туура жана код иштейт, бирок бул жерде эч нерсе ушул столдун жабдыгында же маалыматында бенчмарк болгон эмес. Чыгарынды формуладан натыйжага айландыра турган өлчөө этабы төмөнкүлөрдү камтыйт:
- Жабык формадагы Black-Scholes менен салыштырган sup-норма жана RMSE торунда, ар бир seed үчүн, бардыгы беш seed. Адаттагы максат - 4 же андан көп ондук орунга чейин дал келүү; маанилүүсү муну , шарттарында текшерип, иштебей калган seedдерди жарыялоо.
- Баанын гана эмес, Delta жана Gamma катасы. Бааны төрт ондукка чейин туура берген, бирок ызы-чуу чыгарган тармак хеджирлөө үчүн жараксыз. Демек Gamma кабыл алуу критерийи болушу керек.
- Окутуунун сааттык убактысы жана бир опциондун инференс кечигүүсү 10 000 опциондук китеп үчүн, ошол эле GPUдагы дал ошондой маселени Кранк-Николсон чечими менен салыштырып.
- Бузулуу режимдерин атайын кайра чыгаруу. Тармак PDEни аткарып, чек араны өткөрүп жибергенге чейин чек ара жоготуусунун салмагын азайтуу; беш seed иштетип, таралууну графикке түшүрүү. Экөө тең ар башка туура көрүнгөн баа бетин чыгаргандан арзан жана пайдалуу.
- Чыныгы Deribit BTC котировкаларына ылайыкташтыруу, же жок дегенде жогорудагы крипторынокко реалдуу параметрлерди сактоо, , ге кайтып барбоо.
- Архитектура жана оптимизатор тандоолорун кеңеш эмес, жыйынтык катары көрсөтүү. Кең же терең тармак,
tanhже ReLU (ReLUнун үзгүлтүктүү экинчи туундусу калдыктын ачык начарлашына алып келиши керек), сканери, Adam андан кийин L-BFGS же жалгыз Adam - мунун баары бир саптык эксперименттер. Алар жүргүзүлмөйүнчө, булар адабияттан кайталанган жалпы сөздөр гана; макала аларды сунуш катары кайталабайт.
Өлчөөсүз деле сакталып кала турган эки структуралык доомат бар, анткени алар конкреттүү иштетүүнүн эмес, формулировканын касиети: лог-баа координаттарын колдонуу (PDE туруктуу коэффициенттүү болот, бул алгебранын фактысы) жана терминалдык шартка PDE мүчөсүнөн чоңураак салмак берүү (бир тектүү PDE нөлдүк чечимге жол берет, бул маселенин фактысы).
Бул тармакта дагы эмне бар

Бул жерде тесттен өтпөгөн, бирок билүүгө арзый турган багыттар:
- Калдыка ылайыкташкан коллокация тандоосу - чекиттерди бир калыпта эмес, калдык чоң болгон жерге: Black-Scholes үчүн страйкке жакын же Heston үчүн Феллер чек арасына жакын жайгаштыруу. Ишке ашыруусу кыска:
def adaptive_resample(model, x_pool, t_pool, n_select):
"""Select collocation points with highest PDE residual."""
with torch.no_grad():
residuals = compute_pde_residual(model, x_pool, t_pool).abs()
probs = residuals.squeeze() / residuals.sum()
indices = torch.multinomial(probs, n_select, replacement=False)
return x_pool[indices], t_pool[indices]
- Страйктар жана мөөнөттөр боюнча transfer learning - нөлдөн окутуунун ордуна жакынкы моделинен fine-tune кылып, опцион чынжырын камтыган китепкананы сактоо.
- Physics-Informed Extreme Learning Machines - жашыруун салмактарды бекитип, чыгыш катмарын гана окутуу, ошентип окутууну бир сызыктуу чечимге түшүрүү. Өркүндөтүү мүмкүнчүлүгү азыраак, бирок Black-Scholes төмөн өлчөмдүү болгондуктан бул маанилүү болбой калышы мүмкүн.
- Операторлорду үйрөнүү (DeepONet, FNO) - чечимдин өзүн эмес, чечим операторун үйрөнүү; жаңы төлөм түзүмдөрү кайра окутууну талап кылбашы үчүн чагылдыруусун түзүү. DeepSVM караңыз.
Жыйынтык

PINNдер чектүү айырмаларды же Монте-Карлону алмаштырбайт. Бир параметр топтомундагы бир төмөн өлчөмдүү опцион үчүн чектүү айырмалар утат, жана бул жакын атаандаштык эмес. PINN үчүн аргумент тар жана так: торлор иштебей калган жогорку өлчөмдүү моделдер, китеп боюнча кайра колдонулган параметрдик чечимдер жана баа менен бир эле autodiff өтүшүнөн алынган гректер.
Бул макала берген нерсе - котормо катмары: Hestonдун аралаш туундусу, америкалык опциондун эркин чек арасы жана Мертондун секирик интегралы жоготуу функциясынын өзүнчө мүчөсүнө кантип айланарын көрсөтүү. Ал азырынча алынган тармактар хеджирлөөгө жетиштүү так экенин далилдебейт. Бул кийинки этап; ал аткарылганга чейин жогорудагылардын баарын сунуш эмес, формуланын чыгарылышы катары кабыл алыңыз.
Шилтемелер жана кошумча окуу
- Raissi, M., Perdikaris, P., Karniadakis, G.E. (2019). Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations. Journal of Computational Physics, 378, 686-707.
- Dhiman, A., Kaur, D. (2023). Physics Informed Neural Network for Option Pricing. arXiv preprint.
- Salvador, B. et al. (2023). Meshless methods for American option pricing through Physics-Informed Neural Networks. Engineering Analysis with Boundary Elements.
- Bai, G. et al. (2025). An uncertainty-aware physics-informed neural network solution for the Black-Scholes equation. arXiv preprint.
- Chen, Y. et al. (2025). Stochastic jump diffusion process informed neural networks for American option pricing under data scarcity. Applied Soft Computing.
- Benth, F.E. et al. (2025). DeepSVM: Learning Stochastic Volatility Models with Physics-Informed Deep Operator Networks. arXiv preprint.
- He, Y. et al. (2024). Finance-Informed Neural Network: Learning the Geometry of Option Pricing. arXiv preprint.
- MathWorks: Physics-Informed Neural Networks (PINNs) for Option Pricing. MATLAB Finance Blog, 2025.
- GitHub: BlackScholesPINN (PyTorch implementation).
- Raissi PINNs GitHub repository.
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.