Course Code: bsppythana
Duration: 35 hours
Overview:

Analytical Team

Week1

Introduction to Python Language and IDEs

Week2

Programming with Python

Week3

Working with OS & Data

Week4

Data Wrangling I

Week5

Data Wrangling II

Week6

Data Visualization

Week7

Financial Time Series Analysis

Week8

Optimization techniques and Numerical computing

Week9

Stochastics and Statistics

Week10

Good programming practice

Course Outline:

Analytical Team

  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