← Terug naar artikelen
August 19, 2026
5 min leestijd

Op natuurkunde geïnformeerde neurale netwerken voor optieprijzen

Op natuurkunde geïnformeerde neurale netwerken voor optieprijzen
#deep-learning
#PINN
#options
#Black-Scholes
#PDE

Het interessante deel van het toepassen van PINN's op derivaten is niet Black-Scholes. Black-Scholes heeft een gesloten vorm; een netwerk dat het reproduceert is een gezond verstandscontrole, geen resultaat. Het interessante deel is alles dat geen een gesloten vorm heeft en waar eindige verschillen opraken: de tweefactorige PDE van Heston met zijn gemengde gedeeltelijke 2V/Sv\partial^2 V / \partial S \partial v, het Amerikaanse vrije-grensprobleem, en de gedeeltelijke integro-differentiaalvergelijking van Merton, waarvan de integrale term elk punt in het domein aan elk ander punt koppelt.

Dit bericht gaat over hoe elk van deze in een verliesfunctie terechtkomt. Concreet: het log-prijsresidu dat de Black-Scholes PINN trainbaar maakt, het Heston-netwerk met drie inputs waarvan de kruisderivaat gratis uit autograd valt, de boete-versus-twee-netwerkbehandeling van vroege oefening, en een Gauss-Hermite-kwadratuur die de sprongintegraal binnen een PDE-residu plaatst.

Wat het niet is, is een benchmark. Elk getal daaronder dat op een resultaat lijkt, is een doel of een citaat, en wordt als zodanig gemarkeerd. Aan het einde wordt de meetpas beoordeeld.

PINN's werden geïntroduceerd door Raissi et al. (2019), en de werking ervan wordt al besproken op deze blog in The Navier-Stokes Problem, waar dezelfde autograd-rest-truc op zoek gaat naar singulariteiten in vloeistofvergelijkingen: de PDE wordt een verliesterm, autodiff levert exacte afgeleiden van het netwerk met betrekking tot zijn inputs, en er wordt nooit een raster gebouwd. Het enige dat hier verandert, is welke PDE verlies lijdt.

De Black-Scholes PDE als natuurkundige beperking

Abstract Black-Scholes PDE-beperkingsoppervlak

De Black-Scholes PDE, de uiteindelijke uitbetaling max(SK,0)\max(S-K,0), en het argument dat er geen arbitrage achter zit, worden behandeld in The Black-Scholes Formula – deze sectie gaat ervan uit en gaat rechtstreeks naar de vorm waarop een netwerk feitelijk kan worden getraind.

Log-prijstransformatie

Direct werken met SS is problematisch: het domein is dat wel [0,)[0, \infty) en de PDE heeft variabele coëfficiënten. De standaardtransformatie x=ln(S)x = \ln(S) converteert het naar een vorm met constante coëfficiënt:

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

Dit is een convectie-diffusie-reactievergelijking x(,)x \in (-\infty, \infty). De variabele coëfficiënten S2S^2 En SS zijn verdwenen, wat belangrijk is voor een netwerk: een residu waarvan de omvang meeschaalt S2S^2 wordt gedomineerd door het uiteinde van het domein en de optimizer besteedt zijn budget daar.

PINN-verlies voor Black-Scholes

Laat uθ(x,t)u_\theta(x, t) wees het netwerk. Steekproef NrN_r collocatie punten (xi,ti)(x_i, t_i) in het interieur, NbN_b op de grenzen, en N0N_0 op eindtijd:

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

Elke partiële afgeleide wordt berekend via torch.autograd.grad met create_graph=True, dus gradiënten stromen door de afgeleide berekening tijdens backpropagation. Die ene vlag is de hele implementatietruc.

PyTorch-implementatie

Abstract neuraal rekenrooster

De onderstaande parameters hebben een crypto-smaak in plaats van een leerboek: σ=0.7\sigma = 0.7 En T=0.08T = 0.08 (ongeveer een BTC-optie van 30 dagen) in plaats van de equity-desk σ=0.2\sigma = 0.2, T=1.0T = 1.0. Korte looptijd plus hoog volume is het regime waarbij de knik in de uitbetaling het scherpst is en waar de PINN het moeilijkst te trainen is – en dat is het punt.

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

Twee structurele keuzes die het markeren waard zijn:

  • Gewicht op de eindvoorwaarde. De uitbetaling krijgt 10x een gewicht omdat deze het probleem definieert. Zonder sterke handhaving kan het netwerk de PDE triviaal bevredigen door overal nul uit te voeren - de homogene PDE heeft oneindig veel oplossingen en de terminale voorwaarde is wat er één selecteert.
  • Resampling van collocatiepunten elk tijdperk. Punten worden bij elke stap opnieuw getrokken, wat fungeert als stochastische regularisatie van het residu. Het alternatief – een set vaste punten – zorgt ervoor dat het netwerk het residu op die exacte coördinaten overschrijdt.

Uitbreiding naar het Heston Stochastic Volatiliteitsmodel

Gekoppelde velden voor prijs- en volatiliteitsstatus

Black-Scholes-prijzen met één enkele constante σ\sigma, wat precies de veronderstelling is dat GARCH(1,1) volatility forecasting is gebouwd om te verwerpen. Heston maakt van volatiliteit een tweede stochastische factor: de momentane variantie vv:

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

waar κ\kappa is de gemiddelde omkeersnelheid, θ\theta de langetermijnvariantie, ξ\xi de vol-van-vol, en dW1dW2=ρdtdW_1 \cdot dW_2 = \rho\,dt.

De prijsstelling van PDE is tweedimensionaal:

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

Dit is waar een gaasvrije methode er aantrekkelijk uit begint te zien. Een eindig verschilschema heeft een raster nodig (S,v,t)(S, v, t) – een typisch 200×100×500200 \times 100 \times 500 is 10710^7 knooppunten. Voeg een derde stochastische factor toe, zoals stochastische tarieven, en het raster wordt onpraktisch. Monte Carlo schaalt qua afmetingen beter, maar convergeert langzaam, vooral voor Grieken.

PINN-architectuur voor Heston

Het netwerk heeft drie ingangen (x,v,t)(x, v, t) met x=lnSx = \ln S. Het gemengde deel 2u/xv\partial^2 u / \partial x \partial v – de term die ADI-regelingen lastig maakt – is er nog een autograd.grad telefoongesprek:

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

Merk dat op u_xv wordt verkregen door te differentiëren u_x met betrekking tot v, waarbij de grafiek wordt hergebruikt die door de eerste aanroep is gemaakt. Symmetrie van het gemengde deel betekent differentiëren u_v met betrekking tot x zou dezelfde tensor moeten geven; in float32 zal dit niet precies het geval zijn, en de kloof is een goedkope diagnose voor de vraag of de grafiek zich gedraagt.

Amerikaanse opties en problemen met de vrije grenzen

Optiewaarde terrein met bewegende oefengrens

Amerikaanse opties voegen een vroege uitoefeningsbeperking toe: de waarde mag nooit onder de intrinsieke waarde dalen. Dit verandert de PDE in een vrije-grensprobleem, equivalent aan een lineair complementariteitsprobleem (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

waar L\mathcal{L} is de Black-Scholes-operator en Φ(S)\Phi(S) de uitbetaling. Twee manieren om dit in een verlies te brengen.

Strafmethode

Vervang de complementariteitsbeperking door een soepele straf:

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

met ρp\rho_p groot (typisch 10410^4 naar 10610^6). Wanneer VV daalt tot onder de intrinsieke waarde, de straf dwingt het weer omhoog en het PINN-verlies wordt:

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

Geen architectuurverandering, alleen een aangepast residu. De kosten zijn een nieuwe hyperparameter met een slechte conditioneringsafweging: te klein en de beperking wordt geschonden, te hoog en het verlieslandschap wordt gedomineerd door de strafterm.

Directe vrije grensbenadering

Train twee netwerken samen: één voor de prijs uθ(S,t)u_\theta(S, t), één voor de optimale trainingsgrens Sϕ(t)S^*_\phi(t). Het verlies draagt ​​de PDE in het voortzettingsgebied, de soepele plakconditie aan de grens en de uitbetaling in het oefengebied. De grens komt naar voren als een eersteklas resultaat, en dat is wat je eigenlijk wilt voor het afdekken van een Amerikaans boek.

Jump-diffusiemodellen met PINN's

Jump diffusie waarschijnlijkheid oppervlak

Het model van Merton voegt Poisson-sprongen toe aan de geometrische Brownse beweging:

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

waar JJ is een samengesteld Poisson-proces met intensiteit λ\lambda en log-normale spronggroottes. Prijzen worden een gedeeltelijke integro-differentiaalvergelijking (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

met f(y)f(y) de dichtheid van de sprongvermenigvuldiger.

De integraal is wat eindige verschillen verbreekt; hij koppelt elk punt in het domein aan elk ander punt en vernietigt daarmee de bandenstructuur waarop de oplosser vertrouwt. Een PINN heeft die structuur niet te verliezen. De integraal is gewoon een andere term in het residu, geëvalueerd door kwadratuur op elk collocatiepunt, en omdat het netwerk overal gedefinieerd is, V(Sy,t)V(Sy, t) is een vrije voorwaartse pas in plaats van een interpolatie:

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

Het PIDE-residu is dan:

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]

met I[u]I[u] de kwadratuurbenadering. De lus kost n_quad extra voorwaartse passen per trainingsstap, die allemaal in de autograd-grafiek terechtkomen - de echte prijs van sprongen is geheugen, geen wiskunde.

Vergelijking met traditionele methoden

Prijsmethoden komen samen op een oplossingsoppervlak

De structurele verschillen zijn reëel en kunnen zonder benchmark worden vastgesteld:

Criterium Eindige verschillen Monte Carlo PINN
Raster/maas vereist Ja (gestructureerd raster) Nee Nee (gaasvrij)
Vloek van dimensionaliteit Ernstig (>3D onpraktisch) Mild (O(1/N)O(1/\sqrt{N}) convergentie) Mild (schaal van netwerkcapaciteit)
Grieken Eindig verschil ca. Pathwise/LR-schatters Exact via autodiff
Hergebruik tussen parameters Moet opnieuw worden opgelost Moet opnieuw simuleren Parametrisch: één keer trainen
Amerikaanse opties SOR/PSOR op LCP Longstaff-Schwartz-regressie Straf of vrije grens
Foutgrenzen Ja (volgorde van schema) Ja (CLT) Geen — alleen empirisch verlies

De prestatierijen die hier normaal gesproken zouden voorkomen – trainingstijd, inferentielatentie, nauwkeurigheid – zijn opzettelijk afwezig, omdat het meten ervan het open werk is en geen tabelinvoer.

Waar PINN's aannemelijk winnen

Realtime herprijzing. Eenmaal getraind, is evaluatie een voorwaartse pass over een batch, dus de prijs van een heel boek wordt herzien in één kernellancering in plaats van één oplossing per parameterset. Of dat beter is dan een goed afgestelde Crank-Nicolson-oplosser bij realistische boekformaten, is een empirische vraag die hier niet wordt gemeten.

Hoogdimensionale modellen. Stochastische volatiliteit plus stochastische koersen plus sprongen zijn 4+ dimensies, waarbij eindige verschillen feitelijk dood zijn. PINN's degraderen gracieus in afmeting, afhankelijk van de trainingsmoeilijkheden.

Continue Grieken. Het netwerk is soepel en differentieerbaar, dus Delta, Gamma, Theta en Vega komen uit dezelfde autograd-machinerie als het PDE-residu – geen bump-and-revalue, geen ruis met eindige verschillen. Dit is de sterkste claim in de post en ook de claim die het meest behoefte heeft aan een gemeten Gamma-oppervlak erachter.

Parametrische oplossingen. Voermodelparameters (σ\sigma, κ\kappa, θ\theta) als netwerkinvoer zorgt ervoor dat één PINN een familie modellen kan bestrijken in plaats van een enkele kalibratie.

Waar PINN's het moeilijk hebben

Trainingskosten. Voor één optie bij één parameterset is het oplossen van een eindig verschil voorbij voordat een PINN zijn eerste duizend tijdperken beëindigt.

Geen foutgrenzen. Eindige verschillen met Richardson-extrapolatie bereiken machineprecisie met een bekende convergentievolgorde. Een PINN rapporteert een verlieswaarde, die niet foutgebonden is. Onzekerheidsbewuste varianten (Bai et al., 2025) hechten betrouwbaarheidsintervallen, maar het veld is jong.

Optimalisatiemoeilijkheid. Het verlieslandschap is zeer niet-convex en de weging tussen PDE-, grens- en terminale termen is een afstemmingsprobleem. De karakteristieke mislukking is een netwerk dat het PDE-residu naar bijna nul brengt, terwijl de randvoorwaarden volledig worden genegeerd – een volkomen geldige oplossing voor het verkeerde probleem.

Reproduceerbaarheid. Verschillende zaden, collocatiedistributies en optimalisatie-instellingen kunnen op betekenisvol verschillende oplossingen terechtkomen. Ensembling helpt en vermenigvuldigt de kosten.

Die laatste twee zijn de delen van dit bericht die het meest de moeite waard zijn om in plots om te zetten, omdat het faalmodi zijn die iedereen die dit opnieuw implementeert, zal tegenkomen.

Wat nog moet worden gemeten

PINN restdiagnostiek over een prijsspruitstuk

De eerlijke staat van dit artikel: de formuleringen zijn correct en de code werkt, maar niets hier is gebenchmarkt op de hardware van dit bureau of op de gegevens van dit bureau. De pas die er een resultaat van zou maken in plaats van een afleiding:

  1. Sup-norm en RMSE tegen Black-Scholes in gesloten vorm over de hele wereld (S,t)(S, t) rooster, per zaadje, vijf zaden. Het gebruikelijke folkloristische doel is overeenstemming tot meer dan 4 decimalen; het punt is om dat te testen σ=0.7\sigma = 0.7, T=0.08T = 0.08 en publiceer de zaden waar het mislukt.
  2. Delta- en gammafout, niet alleen prijsfout. Een netwerk dat prijzen op vier cijfers afstemt met een ruis Γ\Gamma is nutteloos voor hedging, dus Gamma is het acceptatiecriterium.
  3. Wandkloktrainingstijd en latentie per optie inferentie voor een boek met 10.000 opties, tegen een oplossing van Crank-Nicolson voor hetzelfde probleem op dezelfde GPU.
  4. De faalmodi, opzettelijk gereproduceerd. Verlaag het grensverlies totdat het netwerk voldoet aan de PDE en de grens mist; voer vijf zaden uit en breng de verspreiding in kaart. Beide zijn goedkoop te produceren en nuttiger dan een ander correct ogend prijsoppervlak.
  5. Aanpassen aan echte Deribit BTC-koersen, of op zijn minst de crypto-realistische parameters hierboven behouden in plaats van terug te keren naar σ=0.2\sigma = 0.2, T=1.0T = 1.0.
  6. Architectuur- en optimalisatiekeuzes zijn bevindingen, geen advies. Breder versus dieper, tanh versus ReLU (de discontinue tweede afgeleide van ReLU zou het residu zichtbaar moeten verwoesten), λIC\lambda_{\text{IC}} sweeps, en Adam-toen-L-BFGS versus Adam alleen zijn allemaal experimenten van één regel. Totdat ze worden uitgevoerd, worden ze folklore herhaald uit de literatuur, en dit bericht weigert ze als aanbevelingen te herhalen.

De twee structurele claims die zonder meting overleven, omdat ze eigenschappen van de formulering zijn in plaats van van een run: gebruik log-prijscoördinaten (de PDE wordt een constante coëfficiënt, wat een feit is over de algebra), en weeg de terminale voorwaarde boven de PDE-term (de homogene PDE geeft de nuloplossing toe, wat een feit is over het probleem).

Wat is er nog meer

Verbonden onderzoekslandschap voor optiemodellen

Routebeschrijving die de moeite waard zijn om te weten, geen van hen is hier getest:

  • Residueel-adaptieve collocatiebemonstering — plaats punten waar het residu groot is, dichtbij de staking voor Black-Scholes of dichtbij de Feller-grens voor Heston, in plaats van uniform. De implementatie is kort:
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]
  • Breng leer over van stakingen en looptijden – verfijn het van een buurman (K,T)(K, T) in plaats van helemaal opnieuw te trainen, om een ​​bibliotheek bij te houden die de optieketen bestrijkt.
  • Op natuurkunde gebaseerde extreme leermachines — bevries verborgen gewichten, train alleen de uitvoerlaag en reduceer training tot één lineaire oplossing. Minder expressief, maar Black-Scholes is laagdimensionaal genoeg dat het er misschien niet toe doet.
  • Operator leren (DeepONet, FNO) — leer de oplossingsoperator kennen in plaats van de oplossing, in kaart brengen (σ(),r(),payoff())V(,)(\sigma(\cdot), r(\cdot), \text{payoff}(\cdot)) \to V(\cdot,\cdot) nieuwe uitbetalingsstructuren behoeven dus geen herscholing. Zie DeepSVM.

Conclusie

Opgelost neuraal prijsoppervlak

PINN's vervangen eindige verschillen of Monte Carlo niet. Voor een enkele laag-dimensionale optie bij een enkele parameterset winnen eindige verschillen en is deze niet dichtbij. Het geval voor PINN's is smal en specifiek: hoogdimensionale modellen waarbij rasters afsterven, parametrische oplossingen die in een boek worden hergebruikt, en Grieken die afkomstig zijn van dezelfde autodiff-pas als de prijs.

Wat dit bericht oplevert is de vertaallaag: hoe de Heston-gemengde gedeeltelijke, de Amerikaanse vrije grens en de Merton-sprongintegraal elk een term in een verliesfunctie worden. Wat het nog niet oplevert, is het bewijs dat de resulterende netwerken nauwkeurig genoeg zijn om zich mee in te dekken. Dat is de volgende pas, en totdat deze loopt, behandel alles hierboven als een afleiding in plaats van als een aanbeveling.


Referenties en verder lezen

Disclaimer: De informatie in dit artikel is uitsluitend bedoeld voor educatieve en informatieve doeleinden en vormt geen financieel, beleggings- of handelsadvies. Het handelen in cryptovaluta brengt een aanzienlijk risico op verlies met zich mee.

Auteurs

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

Blijf de markt voor

Abonneer je op onze nieuwsbrief voor exclusieve AI-handelsinzichten, marktanalyses en platformupdates.

We respecteren je privacy. Je kunt je op elk moment afmelden.