Visão Geral
Curso Python for Finance. Maximize os retornos. Visualize seu portfólio. Execute seu mais recente Algoritmo de Negociação Assassino. Tudo isso e muito mais estão facilmente ao seu alcance aproveitando o poder do código aberto do Python.
Este Curso Python for Finance, ensina como aplicar Python a uma ampla gama de aplicativos de tecnologia financeira, incluindo a aquisição de dados de provedores de dados financeiros populares, bem como a limpeza, exploração e visualização dos conjuntos de dados resultantes. Os participantes aprendem como abordar a implementação de modelos algorítmicos e como construir modelos ricos e perspicazes, com ênfase em ética, conformidade e segurança.
Conteúdo Programatico
Introduction
Crunching the Numbers: Numerical Python With NumPy
- Introduction to the n-d-array
- NumPy operations
- Broadcasting
- Missing data in NumPy (masked array)
- NumPy structured arrays
- Improving performance through vectorization
- Random number generation
- Introduction to Monte-Carlo methods
- General approaches to implementing mathematical algorithms
Acquiring and Manipulating Financial Data With Pandas and Pandas-Datareader
- Series versus DataFrames
- Overview of data types in pandas
- Pandas I/O tools: CSV/Excel/SQL
- Pandas I/O tools: Pandas-datareader
- Subsetting DataFrames
- Creating and deleting variables
- Discretization of continuous data
- Scaling and standardizing data
- Identifying duplicates
- Dummy coding
Exploratory Data Analysis and Advanced Pandas Methods
- Uni- and multivariate statistical summaries and detecting outliers
- Group-wise calculations using pandas
- Pivot tables
- Long to wide and back: pivoting, stacking and melting
- Python visualization: Matplotlib and seaborn
- Pandas visualization: histograms, bar and box plots
- Pandas visualization: Scatter plots and pie charts
- Group-by plotting
- Pandas plot formatting
- mpl-finance and candlestick charts
- Merging DataFrames
- Pandas string methods
- Implementing regular expressions in pandas
- Handling missing data in pandas
Elementary Time Series Analysis
- Date/time formats in Python and pandas
- Running/rolling aggregates
- Resampling
Stochastic Processes
- Overview of noise models
- Stationarity
- Random walks and martingales
- Brownian motion
- Diffusion models
- The Black-Scholes model—and its limitations
Time Series Forecasting
- De-trending and seasonality
- Interpolation and extrapolation
- Auto-Regressive Integrated Moving Average (ARIMA) models
Measuring Impact: Testing For Group Differences
- Null hypothesis testing and p-values
- Group comparisons (p-values, t-tests, ANOVA, Chi-square tests)
- Correlation
Progressing, With Regression Models
- Linear regression
- Logistic regression
- Regression on count outcomes (Poisson processes)
Optional: Machine Learning Fundamentals for Finance with scikit-learn
- Requirements: NumPy, pandas. Time required: 4 hours
- Machine learning approaches to multivariate statistics
- Machine Learning theory
- Data pre-processing
- Supervised versus Unsupervised learning
- Unsupervised learning: clustering
- Clustering algorithms
- Evaluating cluster performance
- Dimensionality reduction
- A priori
- Principal component analysis (PCA)
- Penalized regression
- Supervised learning: regression
- Linear regression
- Penalized linear regression
- Stochastic gradient descent
- Scoring new data sets
- Cross-validation
- Variance-bias trade-off
- Feature importance
- Supervised learning: classification
- Logistic regression
- LASSO
- Random forests
- Ensemble methods
- Feature importance
- Scoring new data sets
- Cross-validation
Recurrent Neural Nets and LSTMs with PyTorch
- Requirements: NumPy, pandas, Machine Learning fundamentals.
- Introduction to PyTorch
- Introduction to tensor algebra and calculus
- Tensor algebra in PyTorch
- Training and validating models
- Regression in PyTorch
- Optimizers in PyTorch
- Linear regression
- Logistic regression
- Artificial Neural Networks
- Overview of Artificial Neural Networks (ANNs)
- Recurrent Neural Networks (RNNs)
- Sequence models and Long Short-Term Memory Networks (LSTMs)
- RNNs/LSTMs with PyTorch
- Building, training and validating a basic ANN
- Creating a RNN
- Building a LSTM
- Applications to financial time series, and cautionary tales
Scraping By: Obtaining Financial Data from Publicly Accessible Websites
- Requirements: Base Python. Time required: 2 hours
- Parsing HTML/CSS with BeautifulSoup
- Navigating tree data structures
- Selecting named node elements
- Selecting by property
- Establishing a Connection
- Urllib3 and connections
- POST and GET directives
- Building a Web Scraper
- Parsing a list of websites
- Collecting and storing data
- Advanced Scraping: Building a Web Spider with Scrapy
Blockchain technologies
- Requirements: Basic Python, NumPy (useful, but not mandatory). Time required: 4 hours.
- The Ingredients For a Blockchain
- Transaction records
- The distributed ledger
- Chain validation
- Nonces
- The Hash Function
- Overview of hash functions and tables
- Cryptographic hash functions
- Proof-of-work
- Advanced Functions
- Return statements
- The JSON format
- Exception trapping
- Assertions
- Constructing Your Own Blockchain
- Generating a block
- The genesis block
- Generating a chain though block validation
- Shortcomings of current blockchain technologies