Czy istnieje oprogramowanie elementów skończonych, które obsługuje więcej niż pięć wymiarów?

10

Jestem początkującym z FE. Moje zastosowanie to wycena pochodnych instrumentów finansowych, w których przestrzeń jest pięciowymiarowa. Tak więc, dodając czas, problem ma sześć wymiarów.

Próbowałem się rozejrzeć (Fenics, escript, deal.II, ...), ale rozumiem, że te programy są ograniczone do 3 + 1 (przestrzeń 3D + czas 1d). Czy to jest poprawne?

Moim językiem docelowym jest Python lub C ++.

Opis mojego problemu
Chciałbym wycenić produkt inwestycyjny, w którym każdego miesiąca inwestor ma swobodę ponownej inwestycji lub nie. Chciałbym to zrobić ze stochastyczną zmiennością, stochastyczną stopą procentową i stochastyczną śmiertelnością.
Stochastyczne PDE wyglądają tak: gdzieμ S t jest zależną od czasu stałą związaną z ceną akcjiS, aB S t jest niezależnym procesem Levy'ego, który powoduje hałas w cenie akcjiS. Podobnie w przypadku innych wielkości:ν σ t jest wielkością zależną od czasu związaną z lotnościąσ. NiechCτoznacza dopuszczalne inwestycje w czasieτ

dSt=μtSdt+σtdBtS(stock)dσt=μtσdt+νtσdBtσ(volatility)drt=μtrdt+νtrdBtr(interest rate)dqt=μtqdt+νtqdBtq(mortality)
μtSSBtSSνtσσ
Cττ. Problem kontroli stochastycznej wygląda następująco: Powyższe wartości PDE są ciągłe, ale wartość iloczynu V τ
Vτ=max{cCτ:P(death)E(rτf(Sτ+1))+P(alive)E(rτVτ+1)}.
Vτjest rozwiązywany tylko we wcześniej określonych czasach , powiedzmy co miesiąc.τ

Myślę, że Monte-Carlo zawsze potrafi brutalnie zmusić mój problem, ale jest bardzo powolny.

Deterministyczna postać stochastycznych PDE
Dla tej części załóżmy, że wartość opcji jest zdefiniowana na poziomie naturalnym czas t , a nie czasy τ , przy czym c t inwestycji w czasie t . Zdefiniuj operator różnicowy L t

V:(t,St,σt,rt,qt,ct)(t,Vt),
tτctt
gdzie stała zależna od czasu{μ S t ,}jest ignorowana. Deterministyczne PDE wynosi wtedy tVt+(Lt+L S t +L σ t +L r t +L q t )Vt=0, co można dostosować do optymalnego problemu sterowania w czasachτ.
Lt=r,S+r,σ+σ,SLtS=σtS+rtS,SLtr=r+r,rLtσ=σ+σ,σLtq=q+q,q
{μtS,}
tVt+(Lt+LtS+Ltσ+Ltr+Ltq)Vt=0,
τ

źródło
3
Czy na pewno musisz użyć elementów skończonych dla tego problemu? Byłoby pomocne, gdybyś mógł bardziej szczegółowo opisać problem (w szczególności PDE, które chcesz rozwiązać).
Victor Liu,
@Liu Dodałem więcej szczegółów. Myślałem o FE, ponieważ MC jest bardzo wolny.
1
vpp
3
Myślę, że uzyskasz lepsze odpowiedzi, jeśli opublikujesz deterministyczne PDE, które zamierzasz rozwiązać. Czy możesz wyjaśnić, jakie są zmienne niezależne? Obecnie wygląda na to, że jedyną zmienną niezależną jest czas. Czy rozwiązujesz te stochastyczne równania różniczkowe za pomocą wielomianowych rozszerzeń chaosu i czy właśnie dlatego będziesz miał układ deterministycznych równań różniczkowych?
Geoff Oxberry
1
Z jednej strony możesz poradzić sobie z komplikacjami związanymi z używaniem FE w umiarkowanych wymiarach i przekleństwem wymiarowości, lub możesz pracować nad metodami przyspieszania dla MC lub lepszej QMC. Ten drugi świat niekoniecznie jest gorszy, w rzeczywistości jest to podejście wyboru w świecie kwantowym z wielu powodów, więc bądź ostrożny, tak łatwo go odrzucając.
Kwarc

Odpowiedzi:

8

Zakładając, że chcesz rozwiązać równania Blacka-Scholesa lub wariant portfela 5 zasobów, to rzeczywiście masz 5 wymiarów przestrzennych plus jeden wymiar czasowy. Nie znam żadnego pakietu MES, który mógłby to zrobić z mojej głowy (umowa. Nie mogę tego łatwo zrobić, ale patrz poniżej), ale myślę, że pamiętam, że niektórzy ludzie z grupy Chrisa Schwaba z ETH Zurich rozwiązali takie problemy problemy z używaniem rzadkich siatek. Możesz mieć szczęście rozglądając się po jego publikacjach.

Istnieją inne równania, które mają dodatkowe wymiary. Jednym z przykładów jest równanie przeniesienia promieniowania, które ma 3 spacje + 1 czas + 2 kątowe + 1 wymiar energii. Zwykle rozwiązuje się to w taki sposób, aby dyskretyzować przestrzeń trójwymiarową jak zwykle, a następnie dyskretyzować wymiary kątowe i energetyczne na osobnych 2 i 1-wymiarowych siatkach oraz w każdym punkcie węzłowym siatki przestrzennej po prostu mieć wiele zmiennych (po jednej dla każdej każdy węzeł siatki kątowej razy liczba węzłów w siatce energii). Korzystamy z tego schematu w implementacjach deal.II. Ma to sens dla równania transferu radiacyjnego i może być emulowane dla twojego równania, nawet jeśli nie jest tam naturalne.

Wolfgang Bangerth
źródło
5

DUNE, rozproszone i ujednolicone środowisko numeryczne http://www.dune-project.org , zawiera niektóre ustrukturyzowane siatki o dowolnym wymiarze (SGrid i Yaspgrid), zobacz funkcje DUNE . Obecnie istnieje gałąź, która zamienia yaspgrid, jedną z powyższych siatek, w siatkę produktu tensorowego, jeśli jest to interesujące. Od wydania 2.0 (obecna wersja to 2.2.1, a wkrótce 2.3), mamy elementy referencyjne dla różnych metod elementów skończonych, które obsługują dowolne wymiary. Dlatego powinno być możliwe ustanowienie dyskretyzacji elementów skończonych o dowolnym wymiarze za pomocą np. Modułu desektyzacji dune-pdelab . Chociaż może to nie być często testowane.

Powiedziawszy to, wciąż istnieje przekleństwo wymiarowości, jak zauważył Wolfgang.

W celu uzyskania dalszych informacji odsyłam do list mailingowych DUNE .

Markus Blatt
źródło
0

Ok, więc wygląda na to, że masz sprzężony zestaw ODE, ponieważ, o ile mogę stwierdzić, istnieją tylko pochodne w odniesieniu do czasu i żadnych pochodnych w odniesieniu do czegokolwiek innego. Istnieje wiele pakietów do rozwiązywania systemów ODE o dowolnym wymiarze (Matlab ma takie rzeczy ode45). W przypadku Pythona zapoznaj się z tym pytaniem, aby uzyskać sugestie. Wreszcie na netlib znajduje się stary kod Fortran, który można bardzo łatwo połączyć z C ++ (łatwość użycia to inna sprawa). Prawdopodobnie istnieją lepsze alternatywy, odkąd minęło trochę czasu, odkąd spojrzałem (inni powinni wejść).

Victor Liu
źródło
1
Dodając deterministyczne PDE, widzę, że moje pytanie nie było jasne. Przepraszam i dziękuję za próbę pomocy.