Чи є програмне забезпечення з кінцевими елементами, яке обробляє більше п'яти вимірів?


10

Я початківець з FE. Моє застосування - це ціноутворення фінансових деривативів, де простір є п’ятимірним. Отже, додавши час, проблема має шість вимірів.

Я спробував озирнутися (Fenics, escript, deal.II, ...), але я розумію, що це програмне забезпечення обмежене 3 + 1 (3d-пробіл + 1-й час). Це правильно?

Моєю цільовою мовою є Python або C ++.

Опис своєї проблеми
Я хотів би оцінити інвестиційний продукт, де кожен місяць інвестор має свободу реінвестирувати чи ні. Я хотів би зробити це зі стохастичною мінливістю, стохастичною процентною ставкою та стохастичною смертністю.
Стохастичні PDE виглядають таким чином Де - часова залежна константа, пов'язана з ціною акцій , а

dSt=μtSdt+σtdBtS(stock)dσt=μtσdt+νtσdBtσ(volatility)drt=μtrdt+νtrdBtr(interest rate)dqt=μtqdt+νtqdBtq(mortality)
μtSSBtSє самостійним процесом Леві , який створює шум в ціні акцій . Аналогічно для інших величин: - залежна від часу величина, пов'язана з мінливістю . НехайSνtσσ
Cτ позначає допустимі інвестиції в момент часу . Проблема стохастичного управління виглядає як V τ = m a x { c C τ : P ( смерть ) E ( r τ f ( S τ + 1 ) ) +τ Вищезазначені PDE є безперервними, але значення продукту V τ вирішується лише за попередньо визначені-рази, скажімо, щомісяця.
Vτ=max{cCτ:P(death)E(rτf(Sτ+1))+P(alive)E(rτVτ+1)}.
Vττ

Я думаю, Монте-Карло завжди може змусити мою проблему, але це дуже повільно.

Детермінована форма стохастичних PDE
Для цієї частини припустимо, що значення параметра визначається на природний час , а не шрифт Times, з інвестицій в момент часу . Визначте диференціальний оператор де залежна від часу константа

V:(t,St,σt,rt,qt,ct)(t,Vt),
tτctt
Lt=r,S+r,σ+σ,SLtS=σtS+rtS,SLtr=r+r,rLtσ=σ+σ,σLtq=q+q,q
{μtS,}ігноруються. Потім детермінований PDE - який може адаптуватися до оптимальної задачі управління в -čas .
tVt+(Lt+LtS+Ltσ+Ltr+Ltq)Vt=0,
τ

3
Ви впевнені, що для цієї проблеми потрібно використовувати кінцеві елементи? Це допоможе, якщо ви можете ще трохи описати проблему (зокрема, PDE, який ви хочете вирішити).
Віктор Лю

@Liu Я додав більше деталей. Я хоч про FE, тому що MC дуже повільний.

1
vpp

3
Я думаю, ви отримаєте кращі відповіді, якщо ви також розмістите детерміновані PDE, які ви збираєтеся вирішити. Чи можете ви пояснити, що таке незалежні змінні? Зараз схоже, що єдиною незалежною змінною є час. Ви вирішуєте ці стохастичні диференціальні рівняння, використовуючи поліномічні розклади хаосу, і це тому, що у вас буде система детермінованих диференціальних рівнянь?
Джефф Оксберрі

1
З одного боку, ви можете зіткнутися з ускладненнями використання ПЕ в помірних розмірах і з прокляттям розмірності, або ви можете працювати над методами прискорення для МС або краще QMC. Останній світ не обов'язково гірший, насправді це підхід у виборі у світі світу з багатьох причин, тому будьте обережні у тому, щоб його легко відкинути.
Кварц

Відповіді:


8

Якщо припустити, що ви хочете розв’язати рівняння Блек-Шоулза або варіант для портфеля з 5 активів, то у вас дійсно є 5 просторових плюс один часовий вимір. Я не знаю жодного пакету FEM, який міг би це зробити вгорі голови (справа. Я не можу це легко зробити, але дивіться нижче), але я думаю, що я пам’ятаю, що деякі люди з групи Кріса Шваба в ETH Цюріх вирішили таке проблеми з використанням рідких сіток. Можливо, вам пощастить оглянути його публікації.

Є й інші рівняння, які мають додаткові розміри. Одним із прикладів є рівняння передачі випромінювання, яке має 3 простору + 1 час + 2 кутових + 1 енергетичний вимір. Як це вирішується, як правило, дискретизувати тривимірний простір, як зазвичай, потім дискретизувати кутові та енергетичні розміри на окремих 2-х та 1-мірних сітках, і в кожній вузловій точці просторової сітки просто є безліч змінних (по одній для кожного кожен вузол кутової сітки перевищує кількість вузлів в енергетичній сітці). Ми використовуємо цю схему в реалізаціях deal.II успішно. Це має сенс для рівняння передачі випромінювання, і воно може бути емульоване для вашого рівняння, навіть якщо воно там не є природним.


5

DUNE, середовище розподіленого та уніфікованого чисел http://www.dune-project.org , містить деякі структуровані сітки довільного виміру (SGrid та Yaspgrid), див . Особливості DUNE . В даний час існує гілка, яка перетворює yaspgrid, одну з перерахованих вище сіток, в сітку тензорних продуктів, якщо це цікавить. З моменту випуску 2.0 (поточний - 2.2.1, а 2.3 - скоро), у нас є опорні елементи для різних методів кінцевих елементів, які підтримують довільні розміри. Тому слід встановлювати дискретизацію кінцевих елементів довільної розмірності, наприклад, модуль дискретизації dune-pdelab . Хоча це може не тестуватися часто.

Сказавши це, все ще існує прокляття розмірності, як вказував Вольфганг.

Для отримання додаткової інформації я пересилаю вас до списків розсилки DUNE .


0

Гаразд, так виглядає те, що у вас є зв'язаний набір ODE, оскільки, наскільки я можу сказати, існують лише похідні щодо часу, і ніяких похідних щодо чого-небудь іншого. Існує досить багато пакетів для вирішення систем ODE довільного виміру (Matlab має подібні речі ode45). Щодо Python, подивіться на це питання, щоб отримати кілька пропозицій. Нарешті, є старий код Fortran на netlib, який можна зв'язати з C ++ досить легко (простота використання - інша справа). Напевно, є кращі альтернативи там, бо минув час, коли я заглянув (інші повинні задзвонити).


1
Додаючи детерміновані PDE, я бачу, що моє питання було не зрозумілим. Вибачте і дякую за спробу допомогти.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.