Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

24 Март 2017, 19:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice  без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Sensitivity Analysis for LibreOffice  (Прочитано 4165 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tagezi
Ветеран
*****
Offline Offline

Пол: Мужской
Расположение: Finland
Сообщений: 583



WWW
« Стартовое сообщение: 29 Июнь 2016, 03:45 »

В данный момент оно ещё сырое, но работает, хотя и как макрос в документе. В принципе, расчеты делать можно.
Если кому нужно, забрать можно из моего хранилища.
Отдаю, как и принято, по 2 лицензиям.
Дорабатывать буду, так как интересно и необходимо, но не быстро. В виде модуля будет, но не сегодня.

Для чего используется:
Цитата:
Анализ чувствительности (Sensitivity Analysis) - это способ оценки инвестиционного проекта, которым может быль любое инвестирование средств (акции, покупка недвижимости, разработка проекта). Основой анализа чувствительности является экономико-математическая модель денежных потоков.
Модель денежных потоков - это все задействованные потоки, как входящие платежи, так и исходящие, связанные между собой при помощи математического аппарата и генерирующая экономические показатели эффективности проекта. Примером может быть расчет NPV.
Кроме NPV могут считать другие показатели, на которые инвестор может положиться по своему опыту. На деле их, только официально признанных (о которых я знаю) порядка десятка, но в расширении сделал только 4 (NPV, IRR, ROI, DPBP) самых распространенных, и оставил один на выбор (хотя на выбор можно задать и все пять, но можно запутаться).
Анализ чувствительности заключается в поочередном изменении факторов влияющих на проект и фиксировании изменений показателя.
Обычно значения показателей строятся в таблицу, на основе которой делается диаграмма Паук. В редких случаях также делают диаграмму Торнадо, но это в очень редких случаях.
Сценарный анализ, пока не разрабатывал, во первых, используется значительно реже, во вторых, нужно доделать этот до кондиции.
Пример математической модели денежных потоков есть в репазитории на листе Cash flow. В томже файле есть пример расчета показателей, лист Interim calculation. В том же файле есть пример таблицы с факторами, на листе Sensitivity. НА листе Project cost, пример расчета стоимости проекта производства одного программного модуля (стоимость разработки программы под заказ)

Дополнительная литература:
Цитата:

Что в наборе:
  • Файл модель (thesis project assessment.ods). В нём пример с простой экономико-математической моделью. Рассчитываются 4 показателя по пяти факторам, период год, если нужно больше переделывайте, у меня она для тестов.
  • Файл предварительных настроек (thesis project assessment.conf), от туда заполняется форма для того, чтобы вы могли представить что куда пихать. После изменения настроек,все настройки должны сохранится в нём, и будут восстанавливаться ваши. Файлы thesis project assessment.ods и thesis project assessment.conf пока должны лежать в одной директории
  • Файл с кодом (sa4lo.bas). В принципе, для работы не нужен, но мало ли вам пригодиться.
  • Экспортированные формы (SensitivityAnalysis.xdl, Address.xdl), ну, мало ли тоже нужны.
  • 2 Лицензии GPLv3 и MPLv2, если забыли чего там написано.

Что работает:
  • Выбор экономических показателей,
  • Выбор диапазона факторов,
  • Строит таблички и диаграммы,
  • При правильно построенной модели, само всё считает.

Что планируется доделать в первую очередь:
  • Переделать определение изменений в форме, оно фактически не работает;
  • Переделать вывод таблицы и диаграммы. Сейчас оно статичное, нужно чтобы координаты считались от ячеек, будет аккуратнее. Ну и нужно индийский код убрать Улыбка ;
  • Переделать поля в форме для названий параметров, всётаки правильно будет если  название можно будет выбирать для любого фактора;
  • Сделать дополнительную проверку библиотеки Тул, ну мало ли её удалят когда-нибудь.

ЗЫ: Чтобы было удобнее пользоваться, можно сделать кнопку на панели и тыкать в неё.
В модуль не собирал, так как считаю это ещё преальфой... и что-то оно у меня не работает в виде модуля... пока.

Предложения принимаются Подмигивающий
« Последнее редактирование: 1 Июль 2016, 05:27 от tagezi » Записан
kompilainenn
Ветеран
*****
Online Online

Сообщений: 1 911



« Ответ #1: 29 Июнь 2016, 09:04 »

первое предложение: напиши в преамбуле что это такое вообще и для чего может использоваться, только напиши понятными словами
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 020


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #2: 29 Июнь 2016, 09:48 »

Ну и нужно индийский код убрать Улыбка
А что тогда останется Непонимающий
Записан

tagezi
Ветеран
*****
Offline Offline

Пол: Мужской
Расположение: Finland
Сообщений: 583



WWW
« Ответ #3: 29 Июнь 2016, 14:33 »

напиши в преамбуле что это такое вообще и для чего может использоваться
Понятные слова?

А что тогда останется
Ну, всё равно нужно убирать быдлокод, а то там половина копипаст, а вторая запись макроса..и только 80% произведение искусства Улыбка) И ваще, работает тормазнуто, хрен разберёшься, да и не красиво просто... местами даже не совсем логично.
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 020


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #4: 29 Июнь 2016, 15:22 »

Ну, всё равно нужно убирать быдлокод, а то там половина копипаст, а вторая запись макроса..и только 80% произведение искусства
Не скромничай, там 146% шедевр древнеиндийского искуства Смеющийся
И ваще, работает тормазнуто...
Это потому что обрабатываешь каждую ячейку, да ещё и через диспетчер.
..хрен разберёшься, да и не красиво просто... местами даже не совсем логично.
Главное чтобы враг  Афро не разобрал, а мы как-нибудь осилим Крутой

Начну с простого:
Код:
Private sSheet , sStartCell, sFieldName, sFileName As String
Private bCloseFloodField, bStartAnalysis, bStartFloodField As Boolean
В первой строке ты объявляешь первые три переменные как Variant (по умолчанию), а четвёртую как String, во второй строке первые две переменные как Variant, а третья как Boolean — ты это хотел? Каждой переменной надо назначать тип. Но я типы Variant и Object не назначаю, достаточно, что будет по умолчанию Variant.
Записан

tagezi
Ветеран
*****
Offline Offline

Пол: Мужской
Расположение: Finland
Сообщений: 583



WWW
« Ответ #5: 29 Июнь 2016, 16:14 »

Начну с простого:
Код:

Private sSheet , sStartCell, sFieldName, sFileName As String
Private bCloseFloodField, bStartAnalysis, bStartFloodField As Boolean

В первой строке ты объявляешь первые три переменные как Variant (по умолчанию), а четвёртую как String, во второй строке первые две переменные как Variant, а третья как Boolean — ты это хотел? Каждой переменной надо назначать тип. Но я типы Variant и Object не назначаю, достаточно, что будет по умолчанию Variant.
Спасибо. Хм, что-то я был увернет, что можно простым перечислением задать... видимо из других языков программирования всосало в вакуум между ушами Улыбка
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 020


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #6: 29 Июнь 2016, 16:28 »

Идём дальше:
Открываем диалог и видим поля "для выбора" диапазона факторов — у нас есть "шикарный и ничем не ограниченный" выбор из одного (одного!!! Карл!) варианта диапазона факторов. Почему бы не сделать для каждого фактора своё поле ввода? Так будет понятно у каких факторов какие параметры.

То же самое и с показателями — выбора никакого реально нет, поля выбора не нужны. Для каждого показателя сделать чекбокс и завязать на определённую ячейку, больше ничего не нужно.

Должно быть так: вызываем диалог, выставляем "птички" на показателях и жмём "ОК". Всё. Готово.
Записан

tagezi
Ветеран
*****
Offline Offline

Пол: Мужской
Расположение: Finland
Сообщений: 583



WWW
« Ответ #7: 29 Июнь 2016, 17:02 »

Открываем диалог и видим поля "для выбора" диапазона факторов — у нас есть "шикарный и ничем не ограниченный" выбор из одного (одного!!! Карл!) варианта диапазона факторов. Почему бы не сделать для каждого фактора своё поле ввода? Так будет понятно у каких факторов какие параметры.
Да, можно, но тогда нужно делать интерактивную форму, в которой изначально будет 1-2 фактора, а когда пользователь их заполняет, будет появляться третий.
Понятно, что чаще всего используют 5-6 факторов, но в прошлом году для электростанции считали, кажется, 9. Есть более сложные проекты...
Если делать для каждого фактора отдельное поле, для него нужно также делать отдельное поле для наименования. Сейчас всё считается просто, с лева названия, скопировали диапазон и забили. Нормальный человек всё равно сделает таблицу, чтобы было проще воспринимать.


То же самое и с показателями — выбора никакого реально нет, поля выбора не нужны. Для каждого показателя сделать чекбокс и завязать на определенную ячейку, больше ничего не нужно.
Здесь тоже самое... нельзя запретить выбор собственный во всех 5 вариантах. Пользователю могут быть вообще не интересны чисто экономические показатели, он например хочет средняя цена мощности (Average capacity price), совокупная стоимость владения (Total Cost of Ownership), или анализ выгодности затрат (Cost-Benefits Analysis). И всё, куда пихать галки?
Да, обычно, особо в России использую максимум 4 предустановленных мной показателей (обычно 2, если быть честным Улыбка). Но например Microsoft REJ рекомендует рассчитывать также экономическая добавленная стоимость (economic value added).

Одной из долгосрочных целей, это добавление локализации этого всего 146%-ого индийского шедевра.
И создание интерактивного диалога для ввода данных. Но думаю нужно закончить его сейчас, потому что, как показывает практика, долгосрочные планы не часто осуществляются.
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 2 020


MacBook Pro, LibreOffice и Apache OpenOffice


« Ответ #8: 30 Июнь 2016, 08:28 »

Я имел ввиду что-то вроде этого (см. картинку), устанавливаем показатели, вводим коэффициенты для факторов.

Имена параметров и факторов можно не забивать вручную, а привязать к определённым ячейкам документа.


* Анализ чувствительности.png (56.12 Кб, 717x429 - просмотрено 17 раз.)
Записан

tagezi
Ветеран
*****
Offline Offline

Пол: Мужской
Расположение: Finland
Сообщений: 583



WWW
« Ответ #9: 30 Июнь 2016, 10:59 »

Я имел ввиду что-то вроде этого (см. картинку), устанавливаем показатели, вводим коэффициенты для факторов.

Имена параметров и факторов можно не забивать вручную, а привязать к определённым ячейкам документа.
Так, я понял тебя. Ты также, как моя комиссия на дипломе, вообще не понимаешь что происходит. Улыбка То что ты показываешь на картинке, я начал с этого 2 года назад. И да, по большому счету для электронной таблицы диалоговое окно в этом случае избыточно вообще. Давай попробуем с самого начала.
Для меня сам расчет показателей является "Черным ящиком". Я действительно не могу предсказать ни используемые показатели, ни используемые факторы, ни количество всего этого, ни куда факторы подвязаны. Естественно, я не могу предсказать как человек хочет их назвать. И естественно я не могу представить сам расчет используемый в конкретной модели. Да, с теми моделями, с которыми я работал, я знаю расчеты, но... это модели с которыми я работал.
Черный ящик - это система внутреннее устройство и механизм работы которой очень сложны, неизвестны или неважны в рамках данной задачи.
То есть, для меня модель выглядит как "Ты туда колбасу, а оттуда баран" (с).
Вот смотри, я прикладываю 3 модели. Первую не могу отдать полностью, там не всё понятно с лицензией, но так как цифры в общем доступе, то скриншоты можно.
2 остальные, это сильно упрощенная модель из нефтяники, вторая сильно упрощенная модель разработки программного продукта. Сильно упрощенная, потому что на практике они тоже гигантские получаются.
Даже если мы условимся с тем, что все показатели эффективности будут вынесены на отдельный лист, вернее конечный результат их расчета, чтобы мы могли предсказать место, то всё равно, для разных проектов они будут разные и их количество будет разное. Но самое главное количество факторов разное. Именно по этому нужно указывать их адрес. Поля для названий всего этого нужны для того, чтобы можно было сразу сформировать "правильные " таблицы и "правильные " диаграммы.

Твой вариант, подходит для конкретной модели, или конкретного типа моделей, если мы условимся что все модели будут иметь определённый вид.
На практике, такое возможно только в пределах одной конкретной организации, считающих только один вид деятельности.

ЗЫ: пока писал тебе ответ, понял что не правильно пересоздаю листы Улыбка


* snapshot2.png (112.13 Кб, 1442x522 - просмотрено 17 раз.)

* snapshot3.png (112.13 Кб, 1442x522 - просмотрено 18 раз.)
* Simple investment model oil.ods (49.02 Кб - загружено 7 раз.)
* thesis project assessment.ods (55.73 Кб - загружено 6 раз.)
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 227


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #10: 30 Июнь 2016, 11:24 »

Кстати, о дипломе! Давно о нём не вспоминали - так вот, кстати о нём...
Чем там дело кончилось-то?
Смотрим на эту фразу
Ты также, как моя комиссия на дипломе, вообще не понимаешь что происходит. Улыбка
Делаем вывод: тупые придирки от тупых придурков вылились в оценку бешеной работы в четыре балла. Апелляцию подавать не собираешься из соображений "Да пошли они все..." Так что ли?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
tagezi
Ветеран
*****
Offline Offline

Пол: Мужской
Расположение: Finland
Сообщений: 583



WWW
« Ответ #11: 30 Июнь 2016, 11:56 »

Делаем вывод: тупые придирки от тупых придурков вылились в оценку бешеной работы в четыре балла. Апелляцию подавать не собираешься из соображений "Да пошли они все..." Так что ли?
Да, я не правильно оценил ситуацию. Думал говорю с умными людьми, которые знают базовый функционал популярных табличных процессоров, представляют что такое модель инвестиционного проекта, и что такое анализ чувствительности (в конце концов он рекомендован Министерством финансов РФ), и делал презентацию проекта, а не лекцию про "как вставлять формулы в ячейку".
Ну и в итоге, да, 4 из жалости к среднему балу.
Нет, придраться было к чему, косяков в дипломе навалом: код сырой, аргументация местами страдает, где-то излишне сложный язык, где-то стандарты не соблюдены... но оценка снижена не за них, а за то что мало картинок в презентации было мало и я не тараторил, не понимая вообще о чем говорю, как большинство защищавшихся.
И да, апелляцию я подавать не буду.

"Да пошли они все..."
Да, именно так. Слово в слово Улыбка
И я не обижен, у меня уже есть мой любимый проект, да и без интересных предложений я не остаюсь.
Я просто реально зол, потому что эти люди учат других, как быть "индусами". И это один из лучших университетов СПб.
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!