помогите решить финансовую задачу

Программирование на Visual Basic for Applications
rybin
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 18.09.2009 (Пт) 21:18

помогите решить финансовую задачу

Сообщение rybin » 18.09.2009 (Пт) 22:02

Задача связана с финансовой моделью Блека-Шоулса (извините за специфическую терминологию, примененную ниже):
исходные данные (все известны):
текущий день = t0;
день исполнения = t1;
число дней до исполнения = (t0 - t1);
доля года до исполнения t = (t0 - t1)/365;
цена финансового актива = Е;
страйк опциона = S;
волатильность = v;

Дальнейшие вычисления в Эксель сводятся к определению конечной величины Р.

промежуточные вычисления:
arg1 = (LN(S/E) + (v*v*t*0,5))/(v*КОРЕНЬ(t));
arg2 = arg1 - v*КОРЕНЬ(t);
nd1 = НОРМСТРАС(arg1);
nd2 = НОРМСТРАС(arg2);

завершающее вычисление:
Р = S*nd1 - E*nd2;

А теперь собственно вопрос:
Мне необходимо провести обратный процесс в Эксель, т.е. по известному значению Р определить неизвестное значение v. Наличие функции НОРМСТРАС() сводит вычисление v к подстановке v методом перебора. В принципе в Эксель я решаю это при помощи "Поиска решения". Однако этот метод подходит, если нужно провести 1-5 вычислений. А если их надо провести 1000-3000?
Прошу знатоков подкинуть идею либо процедуры либо процедуры с функцией на VBA, которые помогли бы решить такого рода задачу.

Конкретный пример:
Дано:
до исполнения (в долях от целого года) t = 0,10;
цена актива Е = 100
страйк опциона S = 100
цена опциона Р = 1
Требуется (пользуясь моделью Блека-Шоулса) найти неизвестное значение v.
Как это сделать, используя возможности VBA?

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: помогите решить финансовую задачу

Сообщение Roman Koff » 19.09.2009 (Сб) 10:58

Эта задача случайно решается не с помощью надстройки Excel "Поиск решения"?
Слава роботам! Убить всех человеков! Bite my shiny metal ass!

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: помогите решить финансовую задачу

Сообщение iGrok » 19.09.2009 (Сб) 12:05

Roman Koff писал(а):Эта задача случайно решается не с помощью надстройки Excel "Поиск решения"?

Дык, он же написал, что решается, но нужно автоматизировать...
label:
cli
jmp label

Roman Koff
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 495
Зарегистрирован: 17.09.2008 (Ср) 9:22
Откуда: От туда

Re: помогите решить финансовую задачу

Сообщение Roman Koff » 19.09.2009 (Сб) 15:17

Не внимательно прочитал ...

Самому "поиск решений" написать - очень нетривиальная задача (там нейронные сети). Надо пробовать писать интерфейс к "Поиску решений"
Слава роботам! Убить всех человеков! Bite my shiny metal ass!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 9

    TopList