Computational Methods in Finance

classes, summer semester 2017/18



Homework and results are available at the bottom of the page.


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.


Homework (in pdf):

  1. (10 p.) Binomial Model. Deadline: 22.III.2018.
  2. (10 p.) Monte Carlo Method. Deadline: 5.IV.2018.
  3. (10 p.) Numerical schemes for SDEs. Deadline: 19.IV.2018.
  4. (12 p.) Variance reduction in MC method. Deadline: 10.V.2018.
  5. (15 p.) Numerical methods for PDEs. Deadline: 7.VI.2018.

Results are here.


© Piotr Kowalczyk