Есть ли конечно-элементное программное обеспечение, которое обрабатывает более пяти измерений?


10

Я новичок в FE. Мое приложение - оценка финансовых производных, где пространство является пятимерным. Итак, добавляя время, проблема имеет шесть измерений.

Я пытался осмотреться (Fenics, escript, deal.II, ...), но, насколько я понимаю, эти программы ограничены 3 + 1 (трехмерное пространство + 1d время). Это правильно?

Мой целевой язык Python или C ++.

Описание моей проблемы
Я хотел бы оценить инвестиционный продукт, в котором каждый месяц инвестор имеет право реинвестировать или нет. Я хотел бы сделать это со стохастической волатильностью, стохастической процентной ставкой и стохастической смертностью.
Стохастические PDE выглядят следующим образом где - зависящая от времени константа, связанная с ценой акции , а μ S t SB S t

dSTзнак равноμTSdT+σTdВTS(акции)dσTзнак равноμTσdT+νTσdВTσ(Летучесть)dрTзнак равноμTрdT+νTрdВTр(процентная ставка)dQTзнак равноμTQdT+νTQdВTQ(Смертность)
μTSSВTSявляется самостоятельным процессом Леви , который создает шум в цене акций . Аналогично для других величин: является от времени величиной, связанной с волатильностью . Пусть обозначает допустимые вложения в момент времени . Стохастическая задача управления выглядит как Вышеуказанные PDE являются непрерывными, но значение произведения определяется только в заранее определенные значения times, скажем, каждый месяц.ν σ t σ C τ τ V τ = m a x { c C τ : P ( смерть ) E ( r τ f ( S τ + 1 ) ) + P ( a l i v e ) E ( r τ V τ + 1 ) } . V τ τSνTσσ
Сττ
Вτзнак равномaИкс{сСτ:п(смерть)Е(рτе(Sτ+1))+п(aLяvе)Е(рτВτ+1)},
Вττ

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

Детерминированная форма стохастических PDE
Для этой части предположим, что значение опции определяется в естественное время , а не шрифт Times, с инвестиций в момент времени . Определите дифференциальный оператор где постоянная времениt τ c t t L t

В:(T,ST,σT,рT,QT,сT)(T,ВT),
TτсTT
LTзнак равнор,S+р,σ+σ,SLTSзнак равноσTS+рTS,SLTрзнак равнор+р,рLTσзнак равноσ+σ,σLTQзнак равноQ+Q,Q
{μTS,...}игнорируются В этом случае детерминированный PDE имеет который можно адаптировать к задаче оптимального управления в times ,
TВT+(LT+LTS+LTσ+LTр+LTQ)ВTзнак равно0,
τ

3
Вы уверены, что вам нужно использовать конечные элементы для этой проблемы? Было бы полезно, если бы вы могли описать проблему еще (в частности, PDE, который вы хотите решить).
Виктор Лю

@Luu Я добавил больше деталей. Я хоть о FE, потому что MC очень медленный.

1
Можете ли вы уточнить обозначения? Означает ли производную по ? vпп
Джесси Чан

3
Я думаю, что вы получите лучшие ответы, если также опубликуете детерминированные PDE, которые собираетесь решать. Не могли бы вы уточнить, что такое независимые переменные? Прямо сейчас, похоже, единственной независимой переменной является время. Вы решаете эти стохастические дифференциальные уравнения, используя полиномиальные разложения хаоса, и поэтому у вас будет система детерминированных дифференциальных уравнений?
Джефф Оксберри

1
С одной стороны, вы можете столкнуться со сложностями использования FE в умеренных измерениях и проклятием размерности, или вы можете поработать над методами ускорения для MC или лучшей QMC. Последний мир не обязательно хуже, на самом деле это предпочтительный подход в квантовом мире по многим причинам, поэтому будьте осторожны, так легко отбрасывая его.
Кварц

Ответы:


8

Предполагая, что вы хотите решить уравнения Блэка-Шоулза или вариант для портфеля из 5 активов, тогда у вас действительно есть 5 пространственных и одно временное измерение. Я не знаю ни одного пакета FEM, который мог бы сделать это из головы (сделка. Я не могу с готовностью сделать это, но смотри ниже), но я думаю, что я помню, что некоторые люди из группы Криса Шваба в ETH Zurich решили такие проблемы с использованием разреженных сеток. Вам может повезти, просматривая его публикации.

Есть и другие уравнения, которые имеют дополнительные измерения. Одним из примеров является уравнение переноса излучения, которое имеет 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, поскольку, насколько я могу судить, существуют только производные по времени и никаких производных по чему-либо еще. Существует немало пакетов для решения систем ОДУ произвольной размерности (в Matlab есть что-то вроде ode45). Для Python, посмотрите на этот вопрос для некоторых предложений. Наконец, в netlib есть старый код на Фортране, который можно довольно легко связать с C ++ (другое дело в простоте использования). Вероятно, есть лучшие альтернативы, так как прошло много времени с тех пор, как я посмотрел (другие должны вмешаться).


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