Metody obliczeniowe w finansach

ćwiczenia, semestr letni 2018/19



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 lub R. 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;
  • w przypadku programu w Octave 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ę;
  • 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:

  • maksymalna liczba punktów za zadanie będzie podana przy każdym zadaniu w zależności od jego trudności
  • za zadanie dostaje się 0 punktów, jeśli plik programu nie wykonuje się (zawiera błędy formalne, nie jest "plikiem wykonywalnym" lub zawiera niepoprawny plik z danymi);
  • za zadanie dostaje się co najwyżej 30% punktów, jeśli program produkuje całkowicie niepoprawny wynik spowodowany złą implementacją algorytmu;
  • za zadanie dostaje się co najmniej 90% 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. Całe rozwiązanie powinno znajdować się w jednym pliku: najpierw funkcje, potem program (w przypadku programu w Octave powinien on być wykonywalnym programem). Ten plik powinien mieć nazwę jednoznacznie identyfikującą autora oraz wykonywane zadanie przez podanie jego numeru. 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.

  2. W przypadku programu w Octave 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. W przypadku programu w R powinien być to plik tekstowy zawierający dane każdą w osobnej linii w kolejności takiej, jak podana w opisie zadania.

  3. Wszystkie pliki wymienione w poprzednim punkcie powinny być razem spakowane pod nazwą nazwisko_zad1.zip (lub inne rozszerzenie w zależności od użytej pakowarki).

  4. 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. (10 p.) Model dwumianowy. Termin: 21.III.2019.
  2. (10 p.) Metoda Monte Carlo. Termin: 11.IV.2019.
  3. (12 p.) Schematy numeryczne dla równań stochastycznych. Termin: 9.V.2019.
  4. (12 p.) Redukcja wariancji w metodzie MC. Termin: 23.V.2019.
  5. (16 p.) Metody numeryczne dla równań różniczkowych cząstkowych. Termin: 13.VI.2019.

Punktacja za zadania dostępna jest tutaj.


© Piotr Kowalczyk