Nova School of Business and Economics

Numerical Methods and Matlab

Code

2172

Academic unit

null

Department

null

Credits

3,5

Teacher in charge

Andre C. Silva

Teaching language

English

Objectives

The objective of Numerical Methods and Matlab is to introduce a programming language to solve problems in Economics and Finance. We use Matlab, a programming language with a variety of applications and used in institutions such as central banks, universities, and investment banks. We first cover the building blocks of programming languages such as working with if statements, for loops, and functions. We then cover important numerical problems such as root finding, optimization, and the simulation of random numbers. In our final part, we cover applications such as optimal portfolio choice and the use of dynamic programming for the decision on consumption and investment. As we go along, we see how to use the functionalities of Matlab, such as how to load data and how to make plots. The spirit of the course is to learn how to program with practical examples in Economics and Finance.

Prerequisites

N/A

Subject matter

  • 1 - Introduction. Matlab
  • Variables in Matlab. Matrices and arrays. Mathematical operations

  • 2 e 3 - Programming
  • Logical operations

    Control flow: If, else, elseif. For loops, while loops

    Scripts and functions

    Numbers in computers

  • 4 - HP Filter
  • Description. Programming with an application

    Load and save data. Using datetime. Plots

  • 5 e 6 - Root Finding
  • Root finding. Interpolation

  • 7 - Random Numbers

  • 8 - Portfolio Optimization

  • 9 e 10 - Dynamic Programming
  • Optimal growth problem

  • 11 - Dynamic Problems in Economics and Finance
  • Using Dynare

  • 12 - Special Topics
  • Symbolic Math. Advanced Techniques. Other Applications

    Bibliography

    ‐ Matlab (2012) Matlab Primer, online pdf documentation;
    ‐ Stroustrup, B. (2008) The C++ programming language, 3rd edition (optional; advanced material);
    ‐ Lab equipped with a digital projector and PCs with basic Matlab installed. Each PC can be shared by 2 students. The Matlab Optimization Toolbox would be desirable.

    Teaching method

    Mostly of sessions the teacher will give a talk about a specific topic, accompanied by supervised work in the labs PCs. During the course but outside the classroom, students will develop a project, in group, which consists of programming a computational task of their choice (a variety of possible projects are provided).

    Evaluation method

    Mandatory final exam: 50% of the final grade; group written assignments (groups of preferably 3 students): remaining 50%.

    Courses