30 октомври 2005

Кусурите на Excel

Както стана ясно от предишния постинг, Excel е нещо повече от електронна таблица. Незнам дали поради факта, че с излизането на Windows 95, Microsoft пуснаха и офис пакета си, имайки конкурентно предимство пред останалите заради монопола си (в крайна сметка, каквото и да се говори, останалите разработчици на софтуер, можеха да започнат състезанието с продукти за Windows 95 с няколко обиколки закъснение) или просто наистина е бил хубав, но доста от бизнес решенията на водещи компании са реализирани на Excel. Например хората абонирани за Bloomberg, могат да си дърпат необходимите данни директно в Excel през съответния add-ins. Представете си само колко е удобно следното нещо: с натискане на едно бутонче, което активира макрос, който вие сте писали, ви си дърпат важни данни от някъде (може и да не е Bloomberg, има и други източници на данни), те ви се зареждат, правят ви се дневните отчети (през pivot таблици да речем) и графики, пъхат се в локалната ви база данни, преоценяват ви се коефициентите на финансовия модел, който ползвате и се сратират някакви симулации. Звучи хубаво, нали! Този сценарий не е хипотетичен, такива неща се използват в България. Това да може човек да си спести голяма част от рутинната работа е голям плюс. Та в тази връзка искам да коментирам неща, коита НЕ БИВА да правите на Excel.

В стандартната инсталация на Excel има един add-ins, който се нарича Data Analysis и е предназначен за разни статистически анализи, които в описания по-горе процес може да се използват на някоя от стъпките. В този пакет има и процедури за генериране на случайни числа, които биха могли да бъдат полезни при разни симулации да се оценяват разни рискове и вероятности за някакви финансови загуби. Проблемът обаче е, че използването на тези процедури не генерира резултата, който очаквате. Например, генерирайте 1000 или 10000 пъти стандартно нормално разпределение. След това сортирайте резултата от колоната във възходящ ред и вижте какво става в опашката. Забелязвате ли как някои големи числа се срещат поняколко пъти? Може би това се дължи, че генерираните числа са близки едно до друго. Сложете 14 знака след десетичната точка. Изненада, числата съвпадат. А каква е вероятността да си изтегли 2 или 3 пъти едно и също число по-малко от -2 от извадката на стандартно нормално разпределение. Правилно: минимална. Излиза, че генератора на случайни числа на Excel използва най-вероятно стойности от някаква предварително зададена таблица. Това е супер смешно, защото има добри алгоритми за това и те не са тайна. Явно хората, които са разработвали това ги е мързяло, което говори за голяма несериозност от тяхна страна. Представете си, че вашия бизнес зависи от такива симулации за да знаете дали да поемете даден риск или не. Тогава просто ви е спукана работата, тъй като е възможно да не взимате правилните решения.

P.S. Разните там ежедневни бъгове в Excel не смятам да ги коментирам, не че няма какво да се напише и за тях.

Няма коментари: