Automatic Transactional Systems 2400-QFU2TSA
Time Series Analysis
C++ in Quantitative Finance part I
1. Short introduction to Python and its syntax. Preparation of the PyCharm environment/ Installation of Anaconda Python distribution. Organisational matters.
Python flow control: conditional expressions (if, else, elif), loops (for ,while), user-defined functions.
2. Object Oriented Programming (OOP) in Python part I (classes, methods, objects, complex built-in structures in Python: list, dictionary, tuple, set)
3. Object Oriented Programming (OOP) in Python part II (inheritance, multiple inheritance, operator overloading)
4. Advanced topics in Python: files operation (read/write),regular expressions, lambda function, time series visualisation with matplotlib, use of automatic http requests package.
5. Linear algebra with NumPy +Data handling and wrangling with Pandas.
6. Solving mathematical problems in Python part I (root-finding algorithm, factorial calculation). Use of recursive functions.
7. Solving mathematical problems in Python part II (integral calculation). Use of Monte Carlo simulation.
8. Python for finance. The role of normal distribution (and its alternatives) in financial markets (normality tests on examples). Empirical properties of asset returns (stylized facts).
9. Option pricing models.
10. Back testing Minimum Variance portfolios, Maximum Sharpe Portfolio. Measures of trading strategy performance.
11. Trading systems based on Technical Analysis methods.
12. Strategies based on Machine Learning. Artificial Neural Network.
13. Strategies based on Machine Learning. Support Vector Machine.
14. Statistical Arbitrage strategies. Pair Trading.
15. Students presentations.
Type of course
After finishing the course student knows the fundamentals of Python programming. Student knows how to use Python and its packages to prepare and analyze data to solve financial problems and build own investment strategies.
Student is able to prepare Python programming environment and install required packages.
Student is able to implement in Python own investment strategies.
Participant understands that the expert use of Python requires continuous practice and improvement of his own skills. This course gives him the skills to seek knowledge ,and update it to constantly changing Python libraries.
KW01, KW02, KU01, KU02
Article Review: 10 points
Short tests: 20 points
Final Test (open-ended questions): 80 points (student must obtain >= 40 points to pass the course)
Project: 90 points [10 points for presentation +80 points for project and report]
Activity: up to 15 extra points
Total Score= (Article Review +Short tests + Final Test + Project+ Activity)/200 * 100%
The class attendance is mandatory. Four or more unjustified absences signify failure of
Grade Total Score % Description
5 +90% very good
4+ +80% better than good
4 +70% good
3+ +60% satisfactory
3 +50% sufficient
2 Less than 50%
(or less than 40 points at Test) fail
[1.] Lutz, M. (2013), “Learning Python” 5-th edition , O’Reilly
[2.] McKinney ,W (2012), “Python for Data Analysis”, O’Reilly
[3.] Aldridge, I. (2009), “Measuring Accuracy of Trading Strategies”, Journal of Trading 4,
Summer 2009, pp. 17–25.
[4.] Alexander, C. and Johnson, A. (1992), “Are Foreign Exchange Markets Really Efficient?”,
Economics Letters 40, pp. 449–453.
[5.] Brock, W.A., Lakonishok, J. and LeBaron, B. (1992), “Simple Technical Trading Rules and
the Stochastic Properties of Stock Returns”, Journal of Finance 47, pp. 1731–1764.
[6.] Chan, E. (2008), Quantitative Trading: How to Build Your Own Algorithmic Trading
Business, Wiley Trading
[7.] Hvidkjaer, S. (2006), “A Trade-Based Analysis of Momentum”, Review of Financial
Studies19, pp. 457–491.
[8.] Kissell, R. and Malamut, R. (2006), “Algorithmic Decision Making Framework”, Journal of
Trading 1, pp. 12–21.
Information on level of this course, year of study and semester when the course unit is delivered, types and amount of class hours - can be found in course structure diagrams of apropriate study programmes. This course is related to the following study programmes:
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: