Python Environment Setup
A practical installation guide for this course
Python environment setup
This guide will help you set up a professional Python environment for financial data science.
Required Software
1. Anaconda Distribution (Recommended)
Download: https://www.anaconda.com/download
Anaconda includes Python, Jupyter Lab, and most scientific libraries pre-installed.
Installation steps:
- Download Anaconda for your operating system
- Run the installer with default settings
- Verify the installation by opening Anaconda Navigator
2. Alternative: Miniconda + Manual Setup
For advanced users who prefer minimal installation:
# install miniconda
# Then install required packages
conda install pandas numpy matplotlib seaborn plotly
conda install scikit-learn tensorflow jupyter
pip install yfinance pandas-datareader quantlib-pythonRequired Python Libraries
Core Data Science Stack
# Data manipulation and analysis
import pandas as pd
import numpy as np
# Visualization
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px
# Statistical analysis
import scipy.stats as stats
import statsmodels.api as smFinancial Libraries
# Financial data acquisition
import yfinance as yf
import pandas_datareader as pdr
# Quantitative finance
import quantlib as ql
# Time series and econometrics
from arch import arch_modelMachine Learning & AI
# Traditional ML
from sklearn import *
import xgboost as xgb
import lightgbm as lgb
# Deep learning
import tensorflow as tf
from tensorflow.keras import layers
# Natural Language Processing
from textblob import TextBlob
from transformers import pipelineInstallation commands
Option 1: Conda installation (Recommended)
# Create a clean environment for the course
conda create -n fds python=3.10
conda activate fds
# Install core packages
conda install pandas numpy matplotlib seaborn plotly
conda install scikit-learn jupyter jupyterlab
conda install -c conda-forge yfinance
# Install additional packages via pip
pip install arch pandas-datareader quantlib-python
pip install xgboost lightgbm tensorflow
pip install textblob transformers vaderSentimentOption 2: Pip installation
# Install all packages via pip
pip install pandas numpy matplotlib seaborn plotly
pip install scikit-learn jupyter jupyterlab
pip install yfinance pandas-datareader quantlib-python
pip install arch statsmodels scipy
pip install xgboost lightgbm tensorflow
pip install textblob transformers vaderSentimentVerification Script
Run this script to verify your installation:
# Environment verification script
import sys
import importlib
required_packages = [
'pandas', 'numpy', 'matplotlib', 'seaborn', 'plotly',
'sklearn', 'yfinance', 'arch', 'statsmodels',
'tensorflow', 'xgboost', 'textblob'
]
print("Python environment check")
print("=" * 40)
print(f"Python Version: {sys.version}")
print()
missing_packages = []
for package in required_packages:
try:
module = importlib.import_module(package)
version = getattr(module, '__version__', 'Unknown')
print(f"✓ {package}: {version}")
except ImportError:
print(f"✗ {package}: NOT installed")
missing_packages.append(package)
if missing_packages:
print(f"\n❌ Missing packages: {', '.join(missing_packages)}")
print("Please install missing packages before proceeding.")
else:
print("\n✅ All required packages installed successfully!")
print("You're ready to start.")Development Environment Setup
Jupyter Lab Configuration
# Recommended Jupyter Lab extensions
# Run these commands in your terminal:
# install extensions
pip install jupyterlab-git
pip install jupyterlab_code_formatter
pip install jupyterlab-variableInspector
# Configure Jupyter for finance
jupyter lab --generate-config
# Add to ~/.jupyter/jupyter_lab_config.py:
c.ServerApp.open_browser = True
c.ServerApp.port = 8888
c.NotebookApp.notebook_dir = '/path/to/your/fds/projects'VS Code Setup (Optional but Recommended)
Extensions to install: - Python - Jupyter - Python Docstring Generator - GitLens - Pylance
API Setup
Financial Data APIs
1. Yahoo Finance (Free)
import yfinance as yf
# Test Yahoo Finance connection
ticker = yf.Ticker("AAPL")
data = ticker.history(period="1mo")
print("Yahoo Finance connection successful!")2. Alpha Vantage (Free tier available)
- Sign up at https://www.alphavantage.co/
- Get your free API key
- Store in environment variable:
import os
os.environ['ALPHA_VANTAGE_API_KEY'] = 'your_api_key_here'
# Test connection
import pandas_datareader as pdr
data = pdr.get_data_alphavantage('AAPL', api_key=os.environ['ALPHA_VANTAGE_API_KEY'])3. Quandl (Optional)
# install and setup Quandl
pip install quandl
import quandl
quandl.ApiConfig.api_key = "your_quandl_api_key"Troubleshooting
Common Issues
ImportError: No module named ‘package_name’
# Solution: install the missing package
pip install package_name
# Or if using conda:
conda install package_nameSSL Certificate Errors (yfinance)
# Add this to your Python scripts
import ssl
ssl._create_default_https_context = ssl._create_unverified_contextJupyter Kernel Issues
# Register your conda environment as Jupyter kernel
conda activate fds
python -m ipykernel install --user --name=fdsMemory Issues with Large Datasets
# Optimise pandas memory usage
import pandas as pd
pd.set_option('display.max_columns', None)
pd.set_option('mode.chained_assignment', None)
# Use chunking for large files
for chunk in pd.read_csv('large_file.csv', chunksize=10000):
process(chunk)Performance optimisation
Recommended Settings
# Add to your Python startup file
import warnings
warnings.filterwarnings('ignore')
# Configure pandas for better performance
import pandas as pd
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('display.max_colwidth', 50)
# Configure matplotlib for better plots
import matplotlib.pyplot as plt
plt.style.use('seaborn-v0_8')
plt.rcParams['figure.figsize'] = (12, 8)
plt.rcParams['font.size'] = 10
# Set random seeds for reproducibility
import numpy as np
np.random.seed(42)Getting Help
Course Support
- Discussion Board: Post technical questions
- Office Hours: By appointment
- Email: b.quinn1@ulster.ac.uk
Online Resources
- Python Documentation: https://docs.python.org/
- Pandas Documentation: https://pandas.pydata.org/docs/
- Stack Overflow: Tag questions with
pythonandfinance - GitHub Issues: Course repository for bug reports
Emergency Contacts
- IT Support: 028 9536 7188
- Blackboard Help: blackboardhelpdesk@ulster.ac.uk
This setup guide will be updated throughout the semester. Check back for the latest versions and troubleshooting tips.