Archiwum: Luty 2009

Opowieść o pewnym znaku

piątek, 20.02.2009

No cóż, opowieść zaczyna się wprawdzie ponad tydzień temu, ale to tylko bitwa, przygotowania do niej zaczęły się dużo wcześniej jeszcze w duchu systematyczności kiedy to jeszcze z książką, kartką i przyborami do pisania przedzierałem się przez zagadnienie Opcji (pewnego rodzaju ubezpieczenia na ryku finansowym).

Ale cóż, nadjechała sesja i to nie pkp, ale szybko koleją. Trzeba więc było zacząć kombinować, ale jako, że temat nie do końca przystawały do mojej wiedzy ekonomicznej, trzeba było go gdzie nie gdzie uszczuplić, gdzie nie gdzie trochę przyjemnie utuczyć aplikację, no tak żeby „ryrało” ;). I tak powstała analiza niby większego zagadnienia, czyli całego Portfela Opcji, ale tak naprawdę uboższego we wskaźniki ekonomiczne. Ot takie polskie rozwiązanie problemu, takie BMW z silnikiem od Citroena.

Po 2 dniach walki z aplikacją przerwaną innymi walkami na froncie sesji, dotarłem do szkoły by już na miejscu bitwy przygotować się do niej (no żeby w końcu k^*#$% zaczęło działać). Ucieszony jak małe dziecko kiedy zaczęły się pojawiać się pierwsze wykresy, usuwając tzw. „sprawdzenia danych” tak aby zaczęło to wyglądać w miarę, kończąc aplikację kiedy już pierwsze osoby swoje programy obroniły.

Obrona.

Chłopczyk już przygotowany (tak „za 5 dwunasta”), wykresy działają. Zaczyna się maglarz. Są pytania na kartce, są i odpowiedzi. Chłopczyk jest chyba przygotowany. A tu nagle jest error, jest błąd, choć jeszcze się kłuci. Przecież wszystko jest dobrze, wzory żywcem z Pańskiej książki – stęka. Nie może uwierzyć, że to już koniec, że trzeba tu za tydzień wrócić i jeszcze za to groszem zapłacić. Patrzy na ten wykres jeszcze, zagląda do książki i zauważa, że faktycznie wygląda zupełnie inaczej. Plus dla wykładowcy, bo tylko przy pewnych danych dało się to zauważyć. Minus dla studenta, bo takiej oczywistości nie sprawdził. Teraz zrezygnowany, zmęczony swoją porażką siedzi i marudzi.

Chwilkę posiedział i powkurzał się trochę, i myśli. Myśli gdzie jest błąd. Otwiera edytor. Patrzy na kod. Nie może uwierzyć. Nie ma możliwości tutaj na błąd. Ale walczy. Nie chodzi by zaliczyć, chodzi o honor, by znaleźć ten pewnie, jak to zawsze w jego przypadku bywa, trywialny błąd. Patrzy z niedowierzaniem na przykładowe tabele wyników. Chłopczyk postanawia nagle popracować na tych danych z książki, wpisując je w tablicę programu.

Kiedy pojawia się wynik opracowany na książkowych danych. Widać, że do połowy tabeli wyników programu, wyniki odpowiadają tym w książce. Obrazowo można powiedzieć, ktoś kto kupił Opcję zawsze prawie na niej zarabiał – osobiście sprzedałbym wszystko co mam i zapożyczył się na 100 lat, by kupić te Opcje, bo przecież zysk gwarantowany. W życiu nie ma tak dobrze…

Chłopczyk wrócił do wzorów, które przepisał z książki. A były tam 2 wzory składowe prawie bliźniaczek z jedną tylko różnicą, że w drugim na końcu odejmowało się pewną zmienną kiedy w pierwszym dodawało się ją, oby dwa potrzebne do uzyskania wyniku końcowego. Co się okazało. Chłopczyk nie zauważył, że wzory różniły się jeszcze jedną malutką rzeczą, przed drugim wzorem widniał „jak byk” znak minusu. Ten minus zmieniał połowę wykresu.

Chłopczyk w końcu znalazł błąd. Patrzył teraz pokornie na wykładowcę by pozwolił mu jeszcze raz pokazać efekt swoich poprawek (trochę się niestosownie zastosował przy pierwszym podejściu chłopiec). Dwa dni później, ale też z problemami program uzyskał ocenę 4, a dwie godziny później maraton sesyjny skończył się bez żadnej poprawki :).

Widzę, że opieprzacie, bo dotarliście aż tutaj :P.

Wnioski.

Jakie błędy popełnił Chłopczyk:

  1. Nie myślał o tym jaki efekt (wykres) powinien uzyskać i z czego ten wynik się miał wziąć
  2. Jeśli ktoś kto się zna na rzeczy uważa, że popełniłeś błąd to… nie wiadomo czy go popełniłeś :P, ale jest wielce prawdopodobne, że gdzieś się tam chochlik schował ;)
  3. Zobaczył jedną różnicę i zrezygnował z przepisania ręcznie drugiego wzoru, skopiował pierwszy i zmienił znak przed zmienną, a wzory różniły się dwoma niuansami
  4. Źle zachował się po „werdykcie”

Jakich błędów uniknął Chłopczyk:

  1. Nie poddał się! Walczył do końca i nie dał zmarnować swojej pracy, patrzył na kod, aż znalazł błąd i go poprawił, a następnie przekonał wykładowcę, żeby dał mu drugą szansę bo znalazł błąd – i to był klucz do zwycięstwa.
  2. Wierzył, że to co zrobił było dobre i poprawne, bronił swojego projektu, aż dostał argumentacje, która jasno stwierdzała, że program liczy źle, a co za tym idzie pokazuje błędne wykresy.
I to wszystko dzięki jednemu głupiemu

znakowi „-” !!!

który jednak był tam bardzo potrzebny ;)

Pozdrawiam