Metody obliczeniowe w finansach

ćwiczenia, semestr letni 2016/17



Treść zadań domowych i punktacja znajdują się poniżej.


Warunki zaliczenia

Zaliczenie ćwiczeń będzie polegało na rozwiązaniu zadanych prac domowych. Każda praca domowa to zadanie polegające na napisaniu odpowiedniego programu w Octave. Krótkie wprowadzenie do Octave dostępne jest tutaj.

Kod programu należy przesyłać na mój adres e-mail w terminie podanym przy każdym zadaniu.
Nie sprawdzam programów przysłanych po terminie!

Zdarzyć się może, że przesyłane programy zawierają bardzo różnego rodzaju błędy:

  • przesłane programy zawierają błędy formalne, które uniemożliwiają ich uruchomienie;
  • przesłane programy nie są "plikami wykonywalnymi", tzn. program nie działa w ten sposób, że wypisując po znaku zachęty Octave nazwę programu powodujemy jego realizację (jeśli program działa po wklejeniu jego listingu do konsoli, to NIE JEST to "plik wykonywalny");
  • progamy są poprawne formalnie (działają), ale produkują bezsensowne wyniki;
  • programy sa poprawne formalnie i (w zasadzie) poprawne merytorycznie, tzn. produkują wyniki niepoprawne, bo zostały popełnione proste (a głupie) błędy programistyczne;
  • programy sa poprawne formalnie i merytorycznie, tzn. produkują poprawne wyniki, ale są napisane nieefektywnie (czas ich realizacji dyskwalifikuje je w praktycznym użytkowaniu).

Różny charakter wymienionych błędów sprawia, że ogólne pojęcie zaliczenia zadania staje się nieostre. Przy zaliczaniu zadań stosowane będą następujące kryteria szczegółowe:

  • za każde zadanie można zdobyć 0-10 punktów;
  • za zadanie dostaje się 0 punktów jeśli:
    1. nazwa przysłanych plików z programem i danymi nie spełnia kryteriów wskazanych w opisie zadania oraz poniżej,
    2. plik programu nie wykonuje się (zawiera błędy formalne, nie jest "plikiem wykonywalnym" lub zawiera niepoprawny plik z danymi);
  • za zadanie dostaje się 1-3 punktów, jeśli program produkuje całkowicie niepoprawny wynik spowodowany złą implementacją algorytmu;
  • za zadanie dostaje się 4-8 punktów, jeśli program jest poprawny formalnie i (w zasadzie) merytoryczne, ale zawiera drobne błędy w implementacji algorytmu (liczba punktów zależy od rodzaju popełnionego błędu);
  • za zadanie dostaje się 9-10 punktów, jeśli program jest poprawny formalnie i merytoryczne (liczba punktów zależy od efektywności programu, tj. czasu wykonania, przejrzystości kodu, elegancji oraz odporności programu na niepoprawne dane).

Szczegółowa instrukcja postaci oddawanego zadania:

  1. Nazwy zmiennych oraz komentarze nie powinny zawierać polskich liter.

  2. Całe rozwiązanie powinno znajdować się w jednym pliku: najpierw funkcje, potem program. Ten plik powinien być wykonywalnym programem, czyli po wpisaniu w Octave jego nazwy program powinien być wykonany. Ten plik powinien mieć nazwę jednoznacznie identyfikującą autora oraz wykonywane zadanie przez podanie jego numeru. Plik ten powinien mieć nazwę nnnnn_zadx.m, gdzie nnnnn jest nazwiskiem autora, a x numerem zadania, np. kowalski_zad1.m. Nazwa pliku z danymi będzie narzucana przez treść zadania. Zwykle pliki te będą miały nazwy CWx_data.txt, gdzie x będzie numerem zadania. Jeśli konieczny jest komentarz, to też powinien być nazwany: kowalski_zad1_koment.txt.

  3. Pliki z danymi powinny używać standardowej struktury przekazywania danych używanej w Octave, tj. takiej w jakiej Octave zapamiętuje zmienne po wykonaniu komendy save. Przykład takiego formatu znajduje się w załączonym pliku.

  4. Wszystkie pliki wymienione w poprzednim punkcie powinny być razem spakowane pod nazwą kowalski_zad1.zip (może byc rozszerzenie rar lub tar w zależności od użytej pakowarki).

  5. Wysyłany list powinien zawierać tylko załączony plik spakowany i temat identyfikujący, że chodzi o przesłane rozwiązanie.


Zadania (w formacie pdf w jęz. angielskim):

  1. Model dwumianowy CEV. Termin: 23 marca 2017.
  2. Metoda Monte Carlo. Termin: 6 kwietnia 2017.
  3. Schematy numeryczne dla równań stochastycznych. Termin: 27 kwietnia 2017.
  4. Redukcja wariancji w metodzie MC. Termin: 11 maja 2017.
  5. Metody numeryczne dla równań różniczkowych cząstkowych. Termin: 25 maja 2017.
  6. Metody numeryczne dla opcji amerykańskich. Termin: 8 czerwca 2017.
    Slajdy w wykładem o opcjach amerykańskich są dostępne tutaj.

Wyniki zadań dostępne są tutaj.


© Piotr Kowalczyk