* Exchange students do not have to consider this information when selecting suitable courses for an exchange stay.

Course Unit Code | 154-0571/01 | |||||
---|---|---|---|---|---|---|

Number of ECTS Credits Allocated | 5 ECTS credits | |||||

Type of Course Unit * | Choice-compulsory | |||||

Level of Course Unit * | Second Cycle | |||||

Year of Study * | ||||||

Semester when the Course Unit is delivered | Winter Semester | |||||

Mode of Delivery | Face-to-face | |||||

Language of Instruction | English | |||||

Prerequisites and Co-Requisites | Course succeeds to compulsory courses of previous semester | |||||

Name of Lecturer(s) | Personal ID | Name | ||||

NEM191 | Ing. Radek Němec, Ph.D. | |||||

KRE330 | doc. Ing. Aleš Kresta, Ph.D. | |||||

Summary | ||||||

The course is aimed at expanding students' ability to formulate, solve and subsequently interpret practical problems in the field of quantitative finance with the support of the Python programming language. Attention is paid especially to practical applications of individual models and approaches, in which students are expected to have at least basic theoretical knowledge and orientation.
1) Introduction to Python: core concepts and syntax, basic data types and working with variables, control structures 2) Structured data types (data structures), shorthand syntax for optimized use of control structures 3) Basic principles of software project organization, use within Python program: functions and classes, scope and visibility of variables, working with libraries and packages 4) Libraries NumPy and Pandas: uses, examples 5) Input/Output Operations 6) Handling of financial time series in Python, calculation of basic statistics and visualization 7) Stochastics: random numbers generation, simulation of stochastic processes 8) Portfolio optimization problem, portfolio performance measures, back-testing of portfolio investment strategies 9) Technical analysis and algorithmic trading, back-testing of trading strategies 10) Risk management: risk measures, risk estimation and its back-testing 11) Valuation of derivatives, calculation of Greeks and implied volatility 12) Project defense | ||||||

Learning Outcomes of the Course Unit | ||||||

Students of the course will learn how to code in Python. They will be familiar with the conditional statements, functions, loops, basic data types and structures. They will understand the principles of working with libraries, packages and classes. They will be able to work with scientific packages such as NumPy and Pandas.
Graduates of the course will have the following skills and competencies. In Python, they will be able to calculate risk and return of individual securities and portfolios, calculate the investment portfolios, back-test the investment portfolio strategies, create and back-test algorithmic trading strategies, perform Monte Carlo simulations, price options and calculate the Greeks and implied volatility. | ||||||

Course Contents | ||||||

The course is aimed at expanding students' ability to formulate, solve and subsequently interpret practical problems in the field of quantitative finance with the support of the Python programming language. Attention is paid especially to practical applications of individual models and approaches, in which students are expected to have at least basic theoretical knowledge and orientation.
1) Introduction to Python: core concepts and syntax, basic data types and working with variables, control structures 2) Structured data types (data structures), shorthand syntax for optimized use of control structures 3) Basic principles of software project organization, use within Python program: functions and classes, scope and visibility of variables, working with libraries and packages 4) Libraries NumPy and Pandas: uses, examples 5) Input/Output Operations 6) Handling of financial time series in Python, calculation of basic statistics and visualization 7) Stochastics: random numbers generation, simulation of stochastic processes 8) Portfolio optimization problem, portfolio performance measures, back-testing of portfolio investment strategies 9) Technical analysis and algorithmic trading, back-testing of trading strategies 10) Risk management: risk measures, risk estimation and its back-testing 11) Valuation of derivatives, calculation of Greeks and implied volatility 12) Project defense | ||||||

Recommended or Required Reading | ||||||

Required Reading: | ||||||

BRUGIÈRE, Pierre. Quantitative portfolio management: with applications in Python. Cham, Switzerland: Springer, 2020. Springer texts in business and economics. ISBN 978-3-030-37739-7.
HILPISCH, Yves J. Financial theory with Python: a gentle introduction. Sebastopol, CA: O'Reilly, 2021. ISBN 978-1-098-10435-1. HILPISCH, Yves J. Python for finance: mastering data-driven finance. Second edition. Sebastopol, CA: O'Reilly, 2018. ISBN 978-1-492-02433-0. | ||||||

BRUGIÈRE, Pierre. Quantitative portfolio management: with applications in Python. Cham, Switzerland: Springer, 2020. Springer texts in business and economics. ISBN 978-3-030-37739-7.
HILPISCH, Yves J. Financial theory with Python: a gentle introduction. Sebastopol, CA: O'Reilly, 2021. ISBN 978-1-098-10435-1. HILPISCH, Yves J. Python for finance: mastering data-driven finance. Second edition. Sebastopol, CA: O'Reilly, 2018. ISBN 978-1-492-02433-0. | ||||||

Recommended Reading: | ||||||

HILPISCH, Yves J. Python for algorithmic trading: from idea to cloud deployment. Sebastopol, CA: O'Reilly, 2020. ISBN 978-1-492-05335-4.
LAROSE, Chantal D. and Daniel T. LAROSE. Data science using Python and R. Hoboken: Wiley, 2019. Wiley series on methods and applications in data mining. ISBN 978-1-119-52681-0. UNPINGCO, José. Python programming for data analysis. Cham, Switzerland: Springer, 2021. ISBN 978-3-030-68951-3. | ||||||

HILPISCH, Yves J. Python for algorithmic trading: from idea to cloud deployment. Sebastopol, CA: O'Reilly, 2020. ISBN 978-1-492-05335-4.
LAROSE, Chantal D. a Daniel T. LAROSE. Data science using Python and R. Hoboken: Wiley, 2019. Wiley series on methods and applications in data mining. ISBN 978-1-119-52681-0. UNPINGCO, José. Python programming for data analysis. Cham, Switzerland: Springer, 2021. ISBN 978-3-030-68951-3. | ||||||

Planned learning activities and teaching methods | ||||||

Lectures, Tutorials | ||||||

Assesment methods and criteria | ||||||

Tasks are not Defined |