Laboratory Sessions

Hands-on Python coding for financial data science

1 FIN510 Laboratory Sessions

Laboratory sessions are the heart of FIN510, where theory meets practice. Each week, you’ll implement financial algorithms, analyze real market data, and build professional-grade applications.

1.1 Lab Philosophy

Learning by Doing

Our labs follow the principle of active learning. You’ll write code, debug problems, and build real applications rather than just following tutorials. This approach ensures you develop practical skills that transfer directly to industry roles.


1.2 Weekly Lab Schedule

1.2.1 Module 1: Foundation Labs (Weeks 1-4)

1.2.1.1 Lab 1: Python Environment & Financial Calculations

Week 1 | Duration: 2 hours

Objectives: - Set up professional Python development environment - Master basic financial calculations in Python - Create your first financial data analysis

Activities: - Install Anaconda and configure Jupyter Lab - Implement compound interest and annualized return calculations - Create basic portfolio analysis functions - Version control setup with Git

Deliverable: Personal Python environment + basic financial calculator


1.2.1.2 Lab 2: Financial Data APIs & Acquisition

Week 2 | Duration: 2 hours

Objectives: - Connect to financial data sources programmatically - Build automated data collection pipelines - Handle data quality issues and missing values

Activities: - Yahoo Finance API integration - Multi-asset data collection - Data cleaning and validation - Create reusable data acquisition functions

Deliverable: Financial data pipeline with quality checks


1.2.1.3 Lab 3: Time Series Visualization & Analysis

Week 3 | Duration: 2 hours

Objectives: - Create professional financial visualizations - Implement technical analysis indicators - Build interactive dashboards

Activities: - Candlestick charts and technical indicators - Interactive plots with Plotly - Time series decomposition - Volatility analysis and visualization

Deliverable: Interactive financial dashboard


1.2.1.4 Lab 4: Portfolio Risk Analysis

Week 4 | Duration: 2 hours

Objectives: - Calculate comprehensive risk metrics - Implement Modern Portfolio Theory - Perform Monte Carlo simulations

Activities: - VaR and CVaR calculations - Portfolio optimization with constraints - Monte Carlo risk simulation - Correlation and diversification analysis

Deliverable: Complete portfolio risk assessment tool


1.2.2 Module 2: Core Methods Labs (Weeks 5-8)

1.2.2.1 Lab 5: Algorithmic Trading Strategy ⚡

Week 5 | Duration: 2 hours | Assessment Week

Objectives: - Design and implement trading strategies - Build backtesting frameworks - Evaluate strategy performance

Activities: - Momentum and mean reversion strategies - Transaction cost modeling - Performance attribution analysis - Risk-adjusted return calculations

Deliverable: Complete trading strategy with backtesting

📝 Assessment: MCQ Test 1 (17%) during lab session


1.2.2.2 Lab 6: Machine Learning Model Development

Week 6 | Duration: 2 hours

Objectives: - Implement supervised learning for finance - Master feature engineering techniques - Understand overfitting in financial contexts

Activities: - Stock price prediction models - Feature engineering for financial data - Cross-validation for time series - Model selection and hyperparameter tuning

Deliverable: ML prediction system with validation


1.2.2.3 Lab 7: Advanced ML & Model Evaluation ⚡

Week 7 | Duration: 2 hours | Assessment Week

Objectives: - Compare advanced ML algorithms - Implement proper model evaluation - Address bias and fairness in financial ML

Activities: - Random Forest vs XGBoost vs Neural Networks - Time series cross-validation - Bias detection in credit models - Model interpretability techniques

Deliverable: Comprehensive model comparison study

📝 Assessment: Case Study Analysis (16%) during lab session


1.2.2.4 Lab 8: Neural Networks for Finance

Week 8 | Duration: 2 hours

Objectives: - Implement deep learning for financial prediction - Build LSTM networks for time series - Understand AI applications in finance

Activities: - LSTM network architecture design - Time series prediction with deep learning - Model training and validation - Performance comparison with traditional methods

Deliverable: Deep learning prediction system


1.2.3 Module 3: AI Applications Labs (Weeks 9-12)

1.2.3.1 Lab 9: Financial Sentiment Analysis

Week 9 | Duration: 2 hours

Objectives: - Implement NLP for financial text analysis - Build sentiment analysis systems - Correlate sentiment with market movements

Activities: - Multi-model sentiment analysis (TextBlob, VADER, FinBERT) - News data collection and processing - Sentiment-price correlation analysis - Real-time sentiment monitoring

Deliverable: Financial sentiment analysis platform


1.2.3.2 Lab 10: Generative AI Applications

Week 10 | Duration: 2 hours

Objectives: - Apply LLMs to financial analysis - Build automated research systems - Implement AI-powered reporting

Activities: - OpenAI API integration for financial analysis - Automated investment research reports - ESG analysis with LLMs - Prompt engineering for finance

Deliverable: AI-powered financial research assistant


1.2.3.3 Lab 11: Production Systems & Deployment

Week 11 | Duration: 2 hours

Objectives: - Deploy ML models in production - Build APIs for financial applications - Implement monitoring and governance

Activities: - Flask/FastAPI development for financial services - Model deployment and versioning - API documentation and testing - Monitoring and alerting systems

Deliverable: Production-ready financial API


1.2.3.4 Lab 12: Project Presentations & Career Development ⚡

Week 12 | Duration: 2 hours | Assessment Week

Objectives: - Present final projects professionally - Receive peer and instructor feedback - Plan career development in fintech

Activities: - Final project presentations (10 minutes each) - Peer evaluation and feedback - Career guidance and networking - Course reflection and next steps

📝 Assessment: MCQ Test 2 (17%) + Project presentations


1.3 Lab Resources

1.3.1 Code Repositories

Each lab has an associated GitHub repository with: - Starter notebooks: Template code to begin exercises - Sample datasets: Curated financial data for practice - Solution examples: Reference implementations (released after lab) - Extension challenges: Advanced exercises for quick finishers

1.3.2 Technical Support

  • Lab Assistants: Available during all sessions for technical help
  • Online Forum: 24/7 peer and instructor support
  • Office Hours: Weekly one-on-one consultation available
  • Video Tutorials: Screen recordings of key concepts

1.3.3 Software Requirements

  • Python 3.9+: Via Anaconda distribution
  • Jupyter Lab: Primary development environment
  • Git: Version control for all projects
  • GitHub Account: For code submission and collaboration

1.4 Lab Policies

1.4.1 Attendance

  • Mandatory: Lab attendance is required and monitored
  • SEAtS App: Check in using university attendance system
  • Make-up Sessions: Available for excused absences only
  • Participation: Active engagement affects final grade

1.4.2 Collaboration

  • Encouraged: Peer learning and discussion
  • Pair Programming: Work together on complex problems
  • Code Review: Provide constructive feedback to peers
  • Individual Submission: All deliverables must be your own work

1.4.3 Assessment Integration

  • Continuous Assessment: Lab performance contributes to participation grade
  • Portfolio Development: Labs build toward final project
  • Skill Progression: Each lab builds on previous learning
  • Industry Preparation: Labs simulate real-world scenarios

1.5 Getting Help

1.5.1 During Labs

  1. Try for 15 minutes: Attempt to solve problems independently
  2. Ask Peers: Collaborate with classmates for insights
  3. Consult Documentation: Use official library documentation
  4. Request Help: Flag lab assistant after genuine effort

1.5.2 Outside Labs

  • Discussion Board: Post questions for peer and instructor response
  • Office Hours: Schedule one-on-one consultation
  • Email Support: Technical questions via course email
  • Study Groups: Form peer learning groups

1.5.3 Emergency Support

  • Technical Issues: IT support for hardware/software problems
  • Health/Personal: Student wellbeing services
  • Academic: Module coordinator for course-related issues

1.6 Lab Assessment Rubric

1.6.1 Participation and Engagement (15% of final grade)

Grade Criteria
A (90-100%) Exceptional engagement, helps others, completes extensions
B (80-89%) Strong participation, completes all activities, good collaboration
C (70-79%) Adequate engagement, completes most activities
D (60-69%) Minimal participation, struggles with basic activities
F (0-59%) Poor attendance, little engagement, incomplete work

1.6.2 Technical Skills Development

Progression Tracking: - Week 1-4: Python fundamentals and data handling - Week 5-8: Statistical modeling and machine learning - Week 9-12: AI applications and production deployment

Skill Checkpoints: - Can you fetch and clean financial data? (Week 2) - Can you implement basic ML models? (Week 6) - Can you deploy models in production? (Week 11)


Lab materials are updated weekly. Check the course GitHub repository for the latest notebooks and datasets.