Course Code: bspa1
Duration: 35 hours
Course Outline:
  1. Introduction to Python Language and IDEs

    1. Virtual Environments – Conda

    2. IPython

    3. JupyterLab – IPython IDE

    4. Markdown for Reproducible research

  2. Programming with Python

    1. Data Types

    2. Data Structures

    3. Conditional Execution and Flow Control

    4. Loops

    5. Functions

  3. Working with OS & Data

    1. Connecting with SQL Database

    2. From SQL to pandas DataFrame

    3. Writing to disk

    4. Tstables, PyTables

  4. Data Wrangling I

    1. Ndarray data representation

    2. Vectorization and broadcasting

    3. Indexing, Filtering, mapping functions, sortingm reindexing

    4. Aggregations grouping, pivot tables

    5. Basic statistics, unique values

    6. Hierarchical indexes

  5. Data Wrangling II

    1. Data Cleansing

    2. Imputation

    3. Merge, Join

    4. Long wide format

    5. Groupby

    6. Sampling

  6. Data Visualization

    1. Basics plots with matplotlib

    2. Formatting plots

    3. 2D plots

    4. Statistical plots

    5. Interactive plots

  7. Financial Time Series Analysis

    1. DateTime objects and representation – day time, timestamp

    2. DateTimeIndex – organising data into DataFrame

    3. Generating DateTime range, leading, lagging

    4. Timezones, location, conversion

    5. Computations for Time Series data -rolling computation, frequency conversion

    6. Correlation Analysis

  8. Optimization techniques and Numerical computing

    1. Regression

    2. Interpolation

    3. Convex optimization

    4. Integration

    5. Symbolic computation

  9. Stochastics and Statistics

    1. Random Numbers

    2. Simulations

    3. Valuation

    4. Risk measures

    5. Statistical modeling with statsmodels

  10. Good programming practice

    1. Performance programming in Python – loops, algorithms, simulations

    2. Creating good scripts and using __main__

    3. Generators, Iterators

    4. Itertools – efficient loops

    5. Collections – enhanced objects