Foto sezione
Logo Bocconi

Course 2019-2020 a.y.


Department of Finance

Course taught in English

Go to class group/s: 31

FIN (6 credits - I sem. - OP  |  SECS-S/06)
Course Director:

Classes: 31 (I sem.)

Suggested background knowledge

Intermediate skills of calculus, probability and algebra and basic skills of derivatives valuation would allow students to successfully attend the course.

Mission & Content Summary

The course provides the essential tools to understand and solve core computational issues in financial engineering. In particular, we deal with the valuation of American and exotic derivatives that do not admit closed form prices, and that are widely traded in the markets. We analyze derivatives on discontinuous underlying assets, focusing on the jump-diffusion model, to gain insights on the main features of asset prices with jumps. Monte Carlo methods are then applied to price and hedge derivatives. We provide techniques to improve the efficiency and the accuracy of the Monte Carlo estimate of derivatives prices and sensitivities. Students are introduced to VBA (Visual Basic for Applications) and are tutored in the VBA implementation of the algorithms in the lab sessions. Main algorithms are also coded in Python. VBA is not mandatory: students proficient with Python, MatLab or R (or other programming languages) are allowed to use their preferred language instead of VBA for the assignment.

  • Valuation and replication of American and path-dependent options via lattice methods.
  • Valuation and replication of basket options in a multidimensional diffusive framework. Currency markets and quanto options.
  • Valuation of European options in the jump-diffusion model.
  • Monte Carlo methods in financial engeneering: efficiency and bias. Simulation of asset prices. Derivatives valuation. Variance reduction techniques. Valuation of the Greeks.
  • Introduction to VBA: routines, functions, plots, arrays, user forms.

Intended Learning Outcomes (ILO)
At the end of the course student will be able to...
  • Select the proper techniques to address path-dependency and American exercise features of financial derivatives.
  • Implement multivariate diffusive models to account for the covariance structure among financial assets;  price and hedge basket derivative securities.
  • Use jump diffusive models for financial assets and price by no-arbitrage European derivatives on these underlyings.
  • Master Monte Carlo methods to simulate asset prices, evaluate derivatives and their greeks, enhance the accuracy of the estimate.
At the end of the course student will be able to...

Solve core computational issues in financial engeneering as:

  • Price and replicate path-dependent and American options with trees.
  • Evaluate multiasset derivatives via Monte Carlo methods.
  • Enhance the accuracy of their Monte Carlo estimate via suitable variance reduction techniques.
  • Compute Greeks with various Monte Carlo methods.
  • Develop algorithms in VBA and Python.
  • Prepare an executive report on one of the aformentioned topics.

Teaching methods
  • Face-to-face lectures
  • Exercises (exercises, database, software etc.)
  • Individual assignments
  • Group assignments

Theory topics are explained in face-to-face lectures.

Students are introduced to VBA (Visual Basic for Applications) and Python, and tutored in the implementation of the alghorithms in the lab session. However VBA is not mandatory: students proficient with Python, R or MatLab are allowed to use their preferred language instead of VBA for the assignment. In the lab classes, students will implement algorithms and solve exercises.  Students will therefore be trained to develop a chosen assignment. The assignment can be shared by a student group, or can be done individually. Attending students only present their preliminary results during the last class of the course. Presentations offer the chance to get comments and feedback by instructors and colleagues and are not graded. However, presentations allow students to test their ability in delivering technical presentations.

Assessment methods
  Continuous assessment Partial exams General exam
  • Written individual exam (traditional/online)
  •     x
  • Individual assignment (report, exercise, presentation, project work etc.)
  •     x
  • Group assignment (report, exercise, presentation, project work etc.)
  •     x

    The assessment consists of a brief written individual exam and an assignment.


    The brief written individual exam counts 70% and consists of open questions on the main arguments of the classes.

    One open question  requires to compute the price and/or the replicating strategy of a financial derivative. The other open questions verify students  have acquired the necessary knowledge of the theory topics. A detailed list of the theory topics required for the exam will be distributed by the end of the course.


    The assignment counts 30% and consists in writing a code to solve a selected problem as, for example, the evaluation of a particular path-dependent option, and a brief report on the related numerical/financial issues. Students can choose to code with VBA, Python or any other preferred language (e.g. R, MatLab). The list of assignment titles and instructions are provided during the course. The assignment can be done in groups or individually, and is due the same day of the written exam.  The assignment grade is valid until the end of the academic year.

    The assignment allows students to deepen their knowledge on the specific selected topic, by writing a code, analyzing the numerical and financial critical issues, and by preparing a technical report. The assignment verifies the coding ability of the students, and their ability to price and replicate derivatives with trees, or Monte Carlo methods.

    Teaching materials

    Lecture notes, slides and codes distributed by the instructors via BBoard.

    Last change 08/04/2019 10:21