Existem softwares de elementos finitos que lidam com mais de cinco dimensões?

10

Sou iniciante na FE. Minha aplicação é a precificação de derivativos financeiros em que o espaço é tridimensional. Então, adicionando tempo, o problema tem seis dimensões.

Eu tentei olhar em volta (Fenics, escript, deal.II, ...), mas meu entendimento é que esses softwares são limitados a 3 + 1 (espaço 3d + tempo 1d). Isso está correto?

Minha linguagem de destino é Python ou C ++.

Descrição do meu problema
Gostaria de precificar um produto de investimento em que, todos os meses, o investidor tenha a liberdade de reinvestir ou não. Eu gostaria de fazê-lo com volatilidade estocástica, taxa de juros estocástica e mortalidade estocástica.
Os PDEs estocásticos são assim: Onde é uma constante dependente do tempo associada ao preço das ações e μ S t SB S t Sν σ t σCττVτ=max{cCτ:P(morte)E(rτf(S τ + 1 ))+P

dSt=μtSdt+σtdBtS(stock)dσt=μtσdt+νtσdBtσ(volatility)drt=μtrdt+νtrdBtr(interest rate)dqt=μtqdt+νtqdBtq(mortality)
μtSSBtSé um processo Levy independente que cria ruído no preço das ações . Da mesma forma para as outras quantidades: é uma quantidade dependente do tempo associada à volatilidade . Let denota os investimentos admissíveis no momento . O problema de controle estocástico se parece com As PDEs acima são contínuas, mas o valor do produto é resolvido apenas em horários predefinidos , digamos a cada mês.Sνtσσ
Cττ
Vτ=max{cCτ:P(death)E(rτf(Sτ+1))+P(alive)E(rτVτ+1)}.
Vττ

Acho que Monte-Carlo sempre pode forçar com força o meu problema, mas é muito lento.

Forma determinística dos PDEs estocásticos
Para esta parte, assuma que o valor da opção seja definido no tempo natural , não o -times, com o investimento no tempo . Defina o operador diferencial onde constante dependente do tempo

V:(t,St,σt,rt,qt,ct)(t,Vt),
tτctt
{μ S t ,...}tVt+(GT+G S t
Lt=r,S+r,σ+σ,SLtS=σtS+rtS,SLtr=r+r,rLtσ=σ+σ,σLtq=q+q,q
{μtS,}são ignorados. O PDE determinista é, em seguida, que pode adaptado ao problema de controlo óptimo sobre a -times .τ
tVt+(Lt+LtS+Ltσ+Ltr+Ltq)Vt=0,
τ

fonte
3
Tem certeza de que precisa usar elementos finitos para esse problema? Ajudaria se você pudesse descrever um pouco mais o problema (em particular o PDE que deseja resolver).
Victor Liu
@Liu eu adicionei mais detalhes. Eu pensei sobre FE porque MC é muito lento.
11
Você pode esclarecer a notação? Será que implica um derivado de ? pvpp
Jesse Chan
3
Acho que você obterá melhores respostas se também postar os PDEs determinísticos que você resolverá. Você poderia esclarecer quais são as variáveis ​​independentes? No momento, parece que a única variável independente é o tempo. Você está resolvendo essas equações diferenciais estocásticas usando expansões polinomiais do caos, e é por isso que você terá um sistema de equações diferenciais determinísticas?
Geoff Oxberry
11
Por um lado, você pode lidar com as complicações do uso de EFs em dimensões moderadas e com a maldição da dimensionalidade, ou pode trabalhar em métodos de aceleração para MC ou melhor QMC. O último mundo não é necessariamente pior; na verdade, é a abordagem de escolha no mundo quântico por muitas razões; portanto, tenha cuidado em descartá-lo com tanta facilidade.
quartzo

Respostas:

8

Supondo que você queira resolver as equações de Black-Scholes ou uma variante em um portfólio de 5 ativos, você realmente terá 5 dimensões espaciais e uma dimensão temporal. Não conheço nenhum pacote do FEM que possa fazer isso de cabeça para baixo (acordo.Eu não posso fazer isso prontamente, mas veja abaixo), mas acho que lembro que algumas pessoas do grupo de Chris Schwab na ETH Zurich resolveram esse problema. problemas ao usar malhas esparsas. Você pode ter sorte olhando as publicações dele.

Existem outras equações que possuem dimensões extras. Um exemplo é a equação de transferência radiativa que possui 3 dimensões de espaço + 1 tempo + 2 angular + 1 de energia. A maneira como isso normalmente é resolvido é discretizar o espaço tridimensional como de costume, depois discretizar as dimensões angulares e de energia em malhas bidimensionais e bidimensionais separadas e, em cada ponto nodal da malha espacial, basta ter muitas variáveis ​​(uma para cada cada nó da malha angular vezes o número de nós na malha de energia). Usamos esse esquema em implementações deal.II com êxito. Isso faz sentido para a equação de transferência radiativa e pode ser emulada para sua equação, mesmo que não seja natural lá.

Wolfgang Bangerth
fonte
5

O DUNE, o ambiente numérico distribuído e unificado http://www.dune-project.org , apresenta algumas grades estruturadas de dimensão arbitrária (SGrid e Yaspgrid), consulte os recursos do DUNE . Atualmente, existe um ramo que transforma o yaspgrid, uma das grades acima, em uma grade de produtos tensores, se isso for de interesse. Desde o release 2.0 (o atual é 2.2.1 e o 2.3 está chegando), temos elementos de referência para vários métodos de elementos finitos que suportam dimensões arbitrárias. Portanto, deve ser possível configurar discretizações de elementos finitos de dimensão arbitrária com, por exemplo, o módulo de desrectização dune-pdelab . Embora isso possa não ser testado com frequência.

Dito isto, ainda existe a maldição da dimensionalidade, como Wolfgang apontou.

Para mais informações, consulte as listas de discussão DUNE .

Markus Blatt
fonte
0

Ok, então parece que o que você tem é um conjunto de ODEs acoplados, pois, até onde posso dizer, existem apenas derivados com relação ao tempo e nenhum derivado com relação a qualquer outra coisa. Existem alguns pacotes disponíveis para resolver sistemas de ODEs de dimensão arbitrária (o Matlab tem coisas assim ode45). Para Python, veja esta pergunta para algumas sugestões. Finalmente, existe um código Fortran antigo no netlib que pode ser facilmente conectado com C ++ (facilidade de uso é outra questão). Provavelmente existem alternativas melhores por aí, já que já faz um tempo desde que eu olhei (outras pessoas devem gritar).

Victor Liu
fonte
11
Ao adicionar os PDEs determinísticos, vejo que minha pergunta não ficou clara. Desculpe e obrigado por tentar ajudar.