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
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
- Try for 15 minutes: Attempt to solve problems independently
- Ask Peers: Collaborate with classmates for insights
- Consult Documentation: Use official library documentation
- 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.