Existe-t-il un logiciel par éléments finis qui gère plus de cinq dimensions?

10

Je suis débutant avec FE. Mon application est la tarification des dérivés financiers où l'espace est en cinq dimensions. Donc, en ajoutant du temps, le problème a six dimensions.

J'ai essayé de regarder autour (Fenics, escript, deal.II, ...), mais ma compréhension est que ces logiciels sont limités à 3 + 1 (espace 3d + 1d temps). Est-ce correct?

Mon langage cible est Python ou C ++.

Description de mon problème
Je voudrais évaluer un produit d'investissement où, chaque mois, l'investisseur a la liberté de réinvestir ou non. J'aimerais le faire avec la volatilité stochastique, le taux d'intérêt stochastique et la mortalité stochastique.
Les PDE stochastiques ressemblent à ceci μ S t est une constante dépendante du temps associée au cours de l'actionS, etB S t est un processus de Levy indépendant qui crée du bruit dans le cours de l'actionS. De même pour les autres grandeurs:ν σ t est une grandeur dépendant du temps associée à la volatilitéσ. SoitCτles investissements admissibles au tempsτ

St=μtSt+σtBtS(Stock)σt=μtσt+νtσBtσ(volatilité)rt=μtrt+νtrBtr(taux d'intérêt)qt=μtqt+νtqBtq(mortalité)
μtSSBtSSνtσσ
Cττ. Le problème de contrôle stochastique ressemble à Les PDE ci-dessus sont continus, mais la valeur du produit V τ
Vτ=muneX{cCτ:P(mort)E(rτF(Sτ+1))+P(uneljeve)E(rτVτ+1)}.
Vτn'est résolu qu'à des temps prédéfinis , disons chaque mois.τ

Je suppose que Monte-Carlo peut toujours brutaliser mon problème, mais c'est très lent.

Forme déterministe des PDE stochastiques
Pour cette partie, supposons que la valeur de l'option soit définie sur le naturel le temps t , pas les temps τ , avec c t l'investissement au temps t . Définir l'opérateur différentiel L t

V:(t,St,σt,rt,qt,ct)(t,Vt),
tτctt
où la constante dépendante du temps{μ S t ,}est ignorée. La PDE déterministe est alors tVt+(Lt+L S t +L σ t +L r t +L q t )Vt=0, ce qui peut s'adapter au problème de contrôle optimal sur les tempsτ.
Lt=r,S+r,σ+σ,SLtS=σtS+rtS,SLtr=r+r,rLtσ=σ+σ,σLtq=q+q,q
{μtS,}
tVt+(Lt+LtS+Ltσ+Ltr+Ltq)Vt=0,
τ

la source
3
Êtes-vous sûr de devoir utiliser des éléments finis pour ce problème? Il serait utile que vous puissiez décrire davantage le problème (en particulier le PDE que vous souhaitez résoudre).
Victor Liu
@Liu J'ai ajouté plus de détails. Je pensais à FE car MC est très lent.
1
vpp
3
Je pense que vous obtiendrez de meilleures réponses si vous publiez également les PDE déterministes que vous allez résoudre. Pourriez-vous préciser quelles sont les variables indépendantes? À l'heure actuelle, il semble que la seule variable indépendante soit le temps. Résolvez-vous ces équations différentielles stochastiques à l'aide d'expansions du chaos polynomial, et est-ce pour cela que vous aurez un système d'équations différentielles déterministes?
Geoff Oxberry
1
D'une part, vous pourriez faire face aux complications de l'utilisation des FE dans des dimensions modérées et à la malédiction de la dimensionnalité, ou vous pouvez travailler sur des méthodes d'accélération pour MC ou une meilleure QMC. Ce dernier monde n'est pas nécessairement pire, en fait c'est l'approche de choix dans le monde quant pour de nombreuses raisons, alors soyez prudent en le rejetant si facilement.
Quartz

Réponses:

8

En supposant que vous vouliez résoudre les équations de Black-Scholes ou une variante sur un portefeuille de 5 actifs, vous avez en effet 5 dimensions spatiales plus une dimension temporelle. Je ne connais aucun package FEM qui puisse le faire du haut de ma tête (deal.II ne peut pas le faire facilement, mais voir ci-dessous) mais je pense que je me souviens que certaines personnes du groupe de Chris Schwab à l'ETH Zurich ont résolu de tels problèmes d'utilisation de maillages clairsemés. Vous aurez peut-être de la chance en parcourant ses publications.

Il existe d'autres équations qui ont des dimensions supplémentaires. Un exemple est l'équation de transfert radiatif qui a 3 espaces + 1 temps + 2 angulaires + 1 dimension d'énergie. La manière dont cela est généralement résolu consiste à discrétiser l'espace tridimensionnel comme d'habitude, puis à discrétiser les dimensions angulaires et énergétiques sur des maillages séparés à 2 et 1 dimension et à chaque point nodal du maillage spatial, il y a simplement beaucoup de variables (une pour chaque chaque nœud du maillage angulaire multiplié par le nombre de nœuds du maillage énergétique). Nous utilisons ce schéma dans les implémentations deal.II avec succès. Cela a du sens pour l'équation du transfert radiatif, et elle peut être émulée pour votre équation même si elle n'est pas naturelle.

Wolfgang Bangerth
la source
5

DUNE, l'environnement numérique distribué et unifié http://www.dune-project.org , présente des grilles structurées de dimension arbitraire (SGrid et Yaspgrid), voir les fonctionnalités de DUNE . Actuellement, il existe une branche qui transforme le yaspgrid, l'une des grilles ci-dessus, en une grille de produits tensoriels, si cela vous intéresse. Depuis la version 2.0 (la version actuelle est la 2.2.1 et la 2.3 est bientôt disponible), nous avons des éléments de référence pour diverses méthodes d'éléments finis qui prennent en charge les dimensions arbitraires. Il devrait donc être possible de mettre en place des discrétisations par éléments finis de dimension arbitraire avec par exemple le module de correction dune-pdelab . Bien que cela puisse ne pas être testé trop souvent.

Cela dit, il y a toujours la malédiction de la dimensionnalité comme l'a souligné Wolfgang.

Pour plus d'informations, je vous renvoie aux listes de diffusion DUNE .

Markus Blatt
la source
0

Ok, il ressemble donc à ce que vous avez est un ensemble couplé d'ODE, car pour autant que je sache, il n'y a que des dérivées par rapport au temps, et aucune dérivée par rapport à autre chose. Il existe de nombreux packages pour résoudre des systèmes d'OD de dimension arbitraire (Matlab a des trucs comme ode45). Pour Python, regardez cette question pour quelques suggestions. Enfin, il y a de l'ancien code Fortran sur netlib qui peut être interfacé assez facilement avec C ++ (la facilité d'utilisation est une autre affaire). Il y a probablement de meilleures alternatives depuis que cela fait un moment que je n'ai pas regardé (d'autres devraient sonner).

Victor Liu
la source
1
En ajoutant les PDE déterministes, je vois que ma question n'était pas claire. Désolé et merci d'avoir essayé d'aider.