← Макалаларга кайтуу
August 19, 2026
5 мүн окуу

Physics-Informed Neural Networks for Options Pricing

Physics-Informed Neural Networks for Options Pricing
#deep-learning
#PINN
#options
#Black-Scholes
#PDE

PINNдерди деривативдерге колдонуунун кызыктуу жери Black-Scholes эмес. Black-Scholes үчүн жабык формула бар; аны кайра чыгарган тармак - натыйжа эмес, акылга сыярлыкты текшерүү. Кызыктуусу - жабык формуласы жок жана чектүү айырмалар ыкмасы мүмкүнчүлүгүнүн чегине жеткен учурлар: 2V/Sv\partial^2 V / \partial S \partial v аралаш туундусу бар 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си, анын max(SK,0)\max(S-K,0) терминалдык төлөмү жана анын негизиндеги арбитраждын жоктугу жөнүндөгү аргумент Black-Scholes формуласы макаласында берилген. Бул бөлүм аларды белгилүү деп кабыл алып, түз эле тармакты чындап окутууга боло турган формага өтөт.

Лог-баага өзгөртүү

SS менен түз иштөө ыңгайсыз: область [0,)[0, \infty), ал эми PDE өзгөрмө коэффициенттерге ээ. Стандарттуу x=ln(S)x = \ln(S) өзгөртүүсү аны туруктуу коэффициенттүү формага келтирет:

Vt+12σ22Vx2+(r12σ2)VxrV=0\frac{\partial V}{\partial t} + \frac{1}{2}\sigma^2 \frac{\partial^2 V}{\partial x^2} + \left(r - \frac{1}{2}\sigma^2\right)\frac{\partial V}{\partial x} - rV = 0

Бул x(,)x \in (-\infty, \infty) аймагындагы конвекция-диффузия-реакция теңдемеси. Өзгөрмө S2S^2 жана SS коэффициенттери жоголот, бул тармак үчүн маанилүү: масштабы S2S^2 менен өскөн калдык областтын алыскы четинде үстөмдүк кылат, ошондо оптимизатор өз ресурсун ошол жакка коротот.

Black-Scholes үчүн PINN жоготуу функциясы

uθ(x,t)u_\theta(x, t) тармак болсун. Ички аймактан NrN_r коллокация чекитин (xi,ti)(x_i, t_i), чек аралардан NbN_b чекитти жана терминалдык убакыттан N0N_0 чекитти тандайбыз:

LPDE=1Nri=1Nr[uθt+12σ22uθx2+(rσ22)uθxruθ]2\mathcal{L}_{\text{PDE}} = \frac{1}{N_r}\sum_{i=1}^{N_r}\left[\frac{\partial u_\theta}{\partial t} + \frac{1}{2}\sigma^2 \frac{\partial^2 u_\theta}{\partial x^2} + \left(r - \frac{\sigma^2}{2}\right)\frac{\partial u_\theta}{\partial x} - r u_\theta\right]^2

LIC=1N0j=1N0[uθ(xj,T)max(exjK,0)]2\mathcal{L}_{\text{IC}} = \frac{1}{N_0}\sum_{j=1}^{N_0}\left[u_\theta(x_j, T) - \max(e^{x_j} - K, 0)\right]^2

LBC=1Nbk=1Nb[uθ(xmin,tk)]2+1Nbk=1Nb[uθ(xmax,tk)(exmaxKer(Ttk))]2\mathcal{L}_{\text{BC}} = \frac{1}{N_b}\sum_{k=1}^{N_b}\left[u_\theta(x_{\min}, t_k)\right]^2 + \frac{1}{N_b}\sum_{k=1}^{N_b}\left[u_\theta(x_{\max}, t_k) - (e^{x_{\max}} - Ke^{-r(T-t_k)})\right]^2

Ар бир жарым-жартылай туунду create_graph=True параметри менен torch.autograd.grad аркылуу эсептелет. Ошондуктан арткы таратууда градиенттер туунду эсептелген граф аркылуу өтөт. Ишке ашыруудагы негизги ыкма дал ушул бир параметр.

PyTorch аркылуу ишке ашыруу

Абстракттуу нейрондук эсептөө тору

Төмөндөгү параметрлер окуу китебине караганда крипторынокко жакын: σ=0.7\sigma = 0.7 жана T=0.08T = 0.08 (болжол менен 30 күндүк BTC опциону), фондулук столдо колдонулган σ=0.2\sigma = 0.2, T=1.0T = 1.0 ордуна. Кыска мөөнөт жана жогорку волатилдүүлүк төлөмдүн ийриги эң курч, ал эми 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 туруктуу бир σ\sigma менен баа коет. Дал ушул божомолду GARCH(1,1) волатилдүүлүгүн болжолдоо жокко чыгарууга багытталган. Heston моделинде волатилдүүлүк экинчи стохастикалык факторго - көз ирмемдик дисперсия vv га - айланат:

dS=rSdt+vSdW1dS = rS\,dt + \sqrt{v}S\,dW_1 dv=κ(θv)dt+ξvdW2dv = \kappa(\theta - v)\,dt + \xi\sqrt{v}\,dW_2

мында κ\kappa - орточого кайтуу ылдамдыгы, θ\theta - узак мөөнөттүү дисперсия, ξ\xi - волатилдүүлүктүн волатилдүүлүгү, ал эми dW1dW2=ρdtdW_1 \cdot dW_2 = \rho\,dt.

Баалоо PDEси абал боюнча эки өлчөмдүү:

Vt+12vS22VS2+ρξvS2VSv+12ξ2v2Vv2+rSVS+κ(θv)VvrV=0\frac{\partial V}{\partial t} + \frac{1}{2}vS^2\frac{\partial^2 V}{\partial S^2} + \rho\xi v S\frac{\partial^2 V}{\partial S \partial v} + \frac{1}{2}\xi^2 v\frac{\partial^2 V}{\partial v^2} + rS\frac{\partial V}{\partial S} + \kappa(\theta - v)\frac{\partial V}{\partial v} - rV = 0

Дал ушул жерде торсуз ыкма жагымдуу боло баштайт. Чектүү айырмалар схемасына (S,v,t)(S, v, t) боюнча тор керек - кадимки 200×100×500200 \times 100 \times 500 тор 10710^7 түйүндөн турат. Стохастикалык ставкалар сыяктуу үчүнчү факторду кошсоңуз, тор практикалык маанисин жоготот. Монте-Карло өлчөм көбөйгөндө жакшыраак масштабдалат, бирок өзгөчө гректер үчүн жай жыйналат.

Heston үчүн PINN архитектурасы

Тармак үч (x,v,t)(x, v, t) киргизүүсүн алат, мында x=lnSx = \ln S. ADI схемаларын татаалдаштырган 2u/xv\partial^2 u / \partial x \partial v аралаш туундусу дагы бир 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) айланат:

Vt+LV0,VΦ(S),(Vt+LV)(VΦ(S))=0\frac{\partial V}{\partial t} + \mathcal{L}V \leq 0, \quad V \geq \Phi(S), \quad \left(\frac{\partial V}{\partial t} + \mathcal{L}V\right)(V - \Phi(S)) = 0

мында L\mathcal{L} - Black-Scholes оператору, ал эми Φ(S)\Phi(S) - төлөм. Муну жоготуу функциясына киргизүүнүн эки жолу бар.

Штраф ыкмасы

Комплементардуулук чектөөсүн жылмакай штраф менен алмаштыралы:

Vt+LV+ρpmax(Φ(S)V,0)=0\frac{\partial V}{\partial t} + \mathcal{L}V + \rho_p \cdot \max(\Phi(S) - V, 0) = 0

мында ρp\rho_p чоң (адатта 10410^4 тен 10610^6 ге чейин). VV ички нарктан төмөн түшкөндө, штраф аны кайра жогору түртөт, PINN жоготуу функциясы болсо төмөнкүдөй болот:

LPDEAmerican=1Nri[uθt+Luθ+ρpmax(Φuθ,0)]2\mathcal{L}_{\text{PDE}}^{\text{American}} = \frac{1}{N_r}\sum_i \left[\frac{\partial u_\theta}{\partial t} + \mathcal{L}u_\theta + \rho_p \cdot \max(\Phi - u_\theta, 0)\right]^2

Архитектура өзгөрбөйт, калдык гана өзгөрөт. Баасы - начар шарттуулук компромисси бар жаңы гиперпараметр: өтө кичине болсо чектөө бузулат, өтө чоң болсо жоготуу ландшафтында штраф мүчөсү үстөмдүк кылат.

Эркин чек арага түз мамиле

Эки тармакты биргелешип окутуңуз: бирөө баа uθ(S,t)u_\theta(S, t) үчүн, экинчиси оптималдуу аткаруу чек арасы Sϕ(t)S^*_\phi(t) үчүн. Жоготууга улантуу областындагы PDE, чек арадагы жылмакай улануу шарты жана аткаруу областындагы төлөм кирет. Чек ара өзүнчө негизги чыгыш катары алынат; америкалык опциондор китебин хеджирлөөдө чындап керектүү нерсе да ушул.

PINN менен секирик-диффузия моделдери

Секирик диффузиясынын ыктымалдык бети

Мертон модели геометриялык Броун кыймылына Пуассон секириктерин кошот:

dS=(rλkˉ)Sdt+σSdW+SdJdS = (r - \lambda \bar{k})S\,dt + \sigma S\,dW + S\,dJ

мында JJ - интенсивдүүлүгү λ\lambda болгон жана секириктеринин өлчөмдөрү логнормалдуу болгон курамдык Пуассон процесси. Баалоо жарым-жартылай интегро-дифференциалдык теңдемеге (PIDE) айланат:

Vt+12σ2S22VS2+(rλkˉ)SVS(r+λ)V+λ0V(Sy,t)f(y)dy=0\frac{\partial V}{\partial t} + \frac{1}{2}\sigma^2 S^2 \frac{\partial^2 V}{\partial S^2} + (r - \lambda\bar{k})S\frac{\partial V}{\partial S} - (r + \lambda)V + \lambda \int_0^\infty V(Sy, t) f(y)\,dy = 0

мында f(y)f(y) - секирик көбөйткүчүнүн тыгыздыгы.

Интеграл чектүү айырмалар ыкмасын бузат: ал областтагы ар бир чекитти башка бардык чекиттер менен байланыштырып, решатель таянган тилкелүү түзүлүштү жок кылат. PINNде мындай түзүлүш жок, демек жогото турган нерсе да жок. Интеграл ар бир коллокация чекитинде квадратура менен эсептелген калдыктын дагы бир мүчөсү гана болот, ал эми тармак бардык жерде аныкталгандыктан, V(Sy,t)V(Sy, t) интерполяция эмес, түз 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 калдыгы төмөнкүдөй болот:

Residual=ut+12σ2uxx+(rλkˉσ22)ux(r+λ)u+λI[u]\text{Residual} = \frac{\partial u}{\partial t} + \frac{1}{2}\sigma^2 u_{xx} + (r - \lambda\bar{k} - \frac{\sigma^2}{2})u_x - (r + \lambda)u + \lambda \cdot I[u]

мында I[u]I[u] - квадратуралык жакындатуу. Цикл ар бир окутуу кадамында n_quad кошумча forward pass талап кылат жана алардын баары autograd графына кирет - секириктердин чыныгы баасы математикада эмес, эс тутумунда.

Салттуу ыкмалар менен салыштыруу

Баалоо ыкмалары чечимдин бетине биригип жаткан көрүнүш

Түзүлүштүк айырмачылыктар реалдуу жана аларды бенчмарксыз деле айтууга болот:

Критерий Чектүү айырмалар Монте-Карло PINN
Тор/мэш керекпи Ооба (структураланган тор) Жок Жок (торсуз)
Өлчөмдүүлүктүн каргышы Катуу (>3D практикалык эмес) Жумшак (O(1/N)O(1/\sqrt{N}) жыйналуу) Жумшак (тармактын сыйымдуулугу масштабдалат)
Гректер Чектүү айырмалардын жакындатуусу Траекториялык/LR баалоочулар Autodiff аркылуу так
Параметрлерди кайра колдонуу Кайрадан чечүү керек Кайрадан симуляциялоо керек Параметрдик: бир жолу окутуу
Америкалык опциондор LCP үчүн SOR/PSOR Longstaff-Schwartz регрессиясы Штраф же эркин чек ара
Ката чектери Ооба (схеманын тартиби) Ооба (БЧТ) Жок - эмпирикалык жоготуу гана

Бул жерде адатта боло турган өндүрүмдүүлүк саптары - окутуу убактысы, инференс кечигүүсү, тактык - атайын жок: аларды өлчөө ачык иш, таблицанын бир сабы эмес.

PINNдер кайсы жерде утушу мүмкүн

Реалдуу убакытта кайра баалоо. Окутулгандан кийин эсептөө батч боюнча forward pass болот, демек бүт китеп ар бир параметр топтому үчүн өзүнчө чечүүнүн ордуна бир ядро иштетүү менен кайра бааланат. Бул реалдуу китеп өлчөмдөрүндө жакшы жөндөлгөн Кранк-Николсон решателинен ашабы - эмпирикалык суроо, азырынча өлчөнгөн эмес.

Жогорку өлчөмдүү моделдер. Стохастикалык волатилдүүлүк, стохастикалык ставкалар жана секириктер кошулса, 4+ өлчөм пайда болот; бул жерде чектүү айырмалар иш жүзүндө колдонулбай калат. PINNдер өлчөмдүүлүк өскөндө акырын начарлайт, бирок окутуу кыйын бойдон калат.

Үзгүлтүксүз гректер. Тармак жылмакай жана дифференциялануучу, ошондуктан Delta, Gamma, Theta жана Vega PDE калдыгындагыдай эле autograd механикасынан алынат: bump-and-revalue да, чектүү айырмалардын ызы-чуусу да керек эмес. Бул макаладагы эң күчтүү доомат жана анын артында өлчөнгөн Gamma бети эң көп керек болгон доомат да ушул.

Параметрдик чечимдер. Модель параметрлерин (σ\sigma, κ\kappa, θ\theta) тармактын киргизүүлөрү катары берсе, бир PINN жалгыз калибровканы эмес, моделдердин бүтүндөй үй-бүлөсүн камтый алат.

PINNдер кайсы жерде кыйналышат

Окутуунун баасы. Бир параметр топтомундагы бир опцион үчүн чектүү айырмалар чечими PINN биринчи миң эпохасын бүткөнгө чейин эле даяр болот.

Ката чектери жок. Ричардсон экстраполяциясы бар чектүү айырмалар белгилүү жыйналуу тартиби менен машиналык тактыкка жетет. PINN жоготуу маанисин берет, бирок ал ката чеги эмес. Белгисиздикти эске алган варианттар (Bai et al., 2025) ишеним интервалдарын кошот, бирок бул тармак али жаш.

Оптималдаштыруунун татаалдыгы. Жоготуу ландшафты катуу томпок эмес, ал эми PDE, чек ара жана терминалдык мүчөлөрдүн салмактары өзүнчө жөндөөнү талап кылат. Типтүү бузулуу - тармак PDE калдыгын дээрлик нөлгө түшүрүп, чек ара шарттарын толугу менен этибарга албайт: бул туура эмес маселенин толук жарактуу чечими.

Кайра өндүрүлүүчүлүк. Ар башка seed, коллокация бөлүштүрүүлөрү жана оптимизатор жөндөөлөрү маанилүү түрдө ар башка чечимдерге алып келиши мүмкүн. Ансамблдер жардам берет, бирок чыгымды көбөйтөт.

Бул акыркы эки пунктту графикке айландыруу өзгөчө пайдалуу, анткени буларды муну кайра ишке ашырган ар бир адам жолуктура турган бузулуу режимдери.

Дагы эмнени өлчөө керек

Баалар көп кырындагы PINN калдыгынын диагностикасы

Макаланын чынчыл абалы мындай: формулировкалар туура жана код иштейт, бирок бул жерде эч нерсе ушул столдун жабдыгында же маалыматында бенчмарк болгон эмес. Чыгарынды формуладан натыйжага айландыра турган өлчөө этабы төмөнкүлөрдү камтыйт:

  1. Жабык формадагы Black-Scholes менен салыштырган sup-норма жана RMSE (S,t)(S, t) торунда, ар бир seed үчүн, бардыгы беш seed. Адаттагы максат - 4 же андан көп ондук орунга чейин дал келүү; маанилүүсү муну σ=0.7\sigma = 0.7, T=0.08T = 0.08 шарттарында текшерип, иштебей калган seedдерди жарыялоо.
  2. Баанын гана эмес, Delta жана Gamma катасы. Бааны төрт ондукка чейин туура берген, бирок ызы-чуу Γ\Gamma чыгарган тармак хеджирлөө үчүн жараксыз. Демек Gamma кабыл алуу критерийи болушу керек.
  3. Окутуунун сааттык убактысы жана бир опциондун инференс кечигүүсү 10 000 опциондук китеп үчүн, ошол эле GPUдагы дал ошондой маселени Кранк-Николсон чечими менен салыштырып.
  4. Бузулуу режимдерин атайын кайра чыгаруу. Тармак PDEни аткарып, чек араны өткөрүп жибергенге чейин чек ара жоготуусунун салмагын азайтуу; беш seed иштетип, таралууну графикке түшүрүү. Экөө тең ар башка туура көрүнгөн баа бетин чыгаргандан арзан жана пайдалуу.
  5. Чыныгы Deribit BTC котировкаларына ылайыкташтыруу, же жок дегенде жогорудагы крипторынокко реалдуу параметрлерди сактоо, σ=0.2\sigma = 0.2, T=1.0T = 1.0 ге кайтып барбоо.
  6. Архитектура жана оптимизатор тандоолорун кеңеш эмес, жыйынтык катары көрсөтүү. Кең же терең тармак, tanh же ReLU (ReLUнун үзгүлтүктүү экинчи туундусу калдыктын ачык начарлашына алып келиши керек), λIC\lambda_{\text{IC}} сканери, 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 - нөлдөн окутуунун ордуна жакынкы (K,T)(K, T) моделинен fine-tune кылып, опцион чынжырын камтыган китепкананы сактоо.
  • Physics-Informed Extreme Learning Machines - жашыруун салмактарды бекитип, чыгыш катмарын гана окутуу, ошентип окутууну бир сызыктуу чечимге түшүрүү. Өркүндөтүү мүмкүнчүлүгү азыраак, бирок Black-Scholes төмөн өлчөмдүү болгондуктан бул маанилүү болбой калышы мүмкүн.
  • Операторлорду үйрөнүү (DeepONet, FNO) - чечимдин өзүн эмес, чечим операторун үйрөнүү; жаңы төлөм түзүмдөрү кайра окутууну талап кылбашы үчүн (σ(),r(),payoff())V(,)(\sigma(\cdot), r(\cdot), \text{payoff}(\cdot)) \to V(\cdot,\cdot) чагылдыруусун түзүү. DeepSVM караңыз.

Жыйынтык

Аныкталган нейрондук баалоо бети

PINNдер чектүү айырмаларды же Монте-Карлону алмаштырбайт. Бир параметр топтомундагы бир төмөн өлчөмдүү опцион үчүн чектүү айырмалар утат, жана бул жакын атаандаштык эмес. PINN үчүн аргумент тар жана так: торлор иштебей калган жогорку өлчөмдүү моделдер, китеп боюнча кайра колдонулган параметрдик чечимдер жана баа менен бир эле autodiff өтүшүнөн алынган гректер.

Бул макала берген нерсе - котормо катмары: Hestonдун аралаш туундусу, америкалык опциондун эркин чек арасы жана Мертондун секирик интегралы жоготуу функциясынын өзүнчө мүчөсүнө кантип айланарын көрсөтүү. Ал азырынча алынган тармактар хеджирлөөгө жетиштүү так экенин далилдебейт. Бул кийинки этап; ал аткарылганга чейин жогорудагылардын баарын сунуш эмес, формуланын чыгарылышы катары кабыл алыңыз.


Шилтемелер жана кошумча окуу

blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

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.

Newsletter

Рынктан бир кадам алдыда болуңуз

AI соода аналитикасы, рынок талдоолору жана платформа жаңылыктары үчүн биздин жаңылыктар бюллетенине жазылыңыз.

Биз сиздин купуялыгыңызды урматтайбыз. Каалаган убакта жазылымдан чыга аласыз.