154-0571/01 – Applied quantitative finance in Python (AQFP)

Gurantor departmentDepartment of FinanceCredits5
Subject guarantordoc. Ing. Aleš Kresta, Ph.D.Subject version guarantordoc. Ing. Aleš Kresta, Ph.D.
Study levelundergraduate or graduateRequirementChoice-compulsory type B
Year2Semesterwinter
Study languageEnglish
Year of introduction2022/2023Year of cancellation
Intended for the facultiesEKFIntended for study typesFollow-up Master
Instruction secured by
LoginNameTuitorTeacher giving lectures
KRE330 doc. Ing. Aleš Kresta, Ph.D.
NEM191 Ing. Radek Němec, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Credit 1+3

Subject aims expressed by acquired skills and competences

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.

Teaching methods

Lectures
Tutorials

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

Compulsory literature:

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. Python for finance: mastering data-driven finance. Second edition. Sebastopol, CA: O'Reilly, 2018. ISBN 978-1-492-02433-0. HILPISCH, Yves J. Financial theory with Python: a gentle introduction. Sebastopol, CA: O'Reilly, 2021. ISBN 978-1-098-10435-1.

Recommended literature:

HILPISCH, Yves J. Python for algorithmic trading: from idea to cloud deployment. Sebastopol, CA: O'Reilly, 2020. ISBN 978-1-492-05335-4. UNPINGCO, José. Python programming for data analysis. Cham, Switzerland: Springer, [2021]. ISBN 978-3-030-68951-3. 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.

Way of continuous check of knowledge in the course of semester

E-learning

Other requirements

no additional requirements

Prerequisities

Subject has no prerequisities.

Co-requisities

Subject has no co-requisities.

Subject syllabus:

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

Conditions for subject completion

Full-time form (validity from: 2022/2023 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of points
Credit Credit 85 (85) 85
        Vypracování a obhajoba projektu Project 85  85
Mandatory attendence parzicipation: without obligatory attendance

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2022/2023 (N0412A050005) Finance P English Ostrava 2 Choice-compulsory type B study plan
2022/2023 (N0488A050004) Finance and Accounting (S01) Finance P Czech Ostrava 2 Choice-compulsory type B study plan
2022/2023 (N0688A050001) Information and Knowledge Management P Czech Ostrava 2 Choice-compulsory type B study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner
Incoming students - MS 2022/2023 Full-time English Choice-compulsory 163 - International Office stu. block