FIN510: Financial Technology and Data Science

Author

Professor Barry Quinn

Published

September 2, 2025

Embracing Computational Complexity in Finance

In the ever-evolving landscape of financial analytics, we witness the integration of computational methods, machine learning, and artificial intelligence with traditional financial analysis. These methodologies together provide a multifaceted approach to tackling the complex problems in finance, characterised by uncertainty, evolving market structures, and the need for careful interpretation of increasingly sophisticated models.

This course, FIN510: Financial Technology and Data Science, explores how Python programming and computational thinking can enhance our understanding of financial markets while maintaining appropriate humility about the limitations of our tools and methods.

Financial Markets: A Complex Computational Challenge

At the core of financial analytics is the understanding that market prices reflect the collective expectations and decisions of many participants. While computational methods offer powerful tools for analysis, we must remember that financial markets are complex adaptive systems that resist simple explanations or guaranteed predictions.

The application of Python programming to finance allows us to: - Process and analyze large datasets more efficiently - Implement and test theoretical models - Explore patterns and relationships in financial data - Build tools for risk assessment and portfolio management

However, we approach these capabilities with the understanding that models are simplifications of reality, and their usefulness depends on careful application and interpretation.

The Role of Computational Methods and Critical Thinking

Python programming brings computational power to financial analysis, enabling us to work with complex datasets and implement sophisticated models. However, the true value lies not in the sophistication of our tools, but in our ability to use them thoughtfully and interpret their results appropriately.

Machine learning and artificial intelligence offer exciting possibilities for financial analysis, but they also present new challenges in terms of interpretability, bias, and the risk of overconfidence in algorithmic solutions. This course emphasizes the importance of understanding both the potential and the limitations of these approaches.

Course Philosophy: Intellectual Humility and Computational Competence

Following the wisdom of George Box that “all models are wrong, but some are useful,” this course emphasizes the iterative nature of model development and the importance of continuous learning and adaptation. We aim to develop both technical competence in Python programming and the intellectual humility to recognize the limitations of our methods.

0.0.1 Our Unique Integrated Approach

This course uniquely combines two complementary perspectives:

Traditional Financial Analysis (Python for Finance): - Master technical implementation skills - Learn industry-standard methods and tools - Build production-ready financial applications

Modern Causal Reasoning (Causal AI): - Distinguish correlation from causation - Understand when relationships reflect true causal effects - Ask deeper questions about financial phenomena

The convergence of traditional financial analysis with modern computational methods requires careful consideration of assumptions, rigorous testing of models, and honest assessment of their performance and limitations. By integrating causal thinking throughout, we develop more robust analytical capabilities.

Adopting a Growth Mindset in Computational Finance

Learning computational methods for financial analysis, like any complex skill, requires dedication, effort, and persistence. Adopting a growth mindset can significantly enhance your ability to overcome obstacles and develop genuine competence in this challenging field.

A growth mindset in computational finance embodies these characteristics:

  • Embrace Challenges: View complex problems as opportunities to deepen understanding rather than obstacles to avoid
  • Persist Through Setbacks: Understand that debugging code and refining models is part of the learning process
  • Learn from Criticism: Use feedback on your work as valuable input for improvement
  • Find Lessons in Others’ Work: Study both successful applications and instructive failures
  • Maintain Intellectual Humility: Recognize that sophisticated tools require sophisticated understanding

0.0.2 The Iterative Nature of Computational Finance

Much like George Box’s vision of statistical modeling as an iterative process, computational finance requires continuous refinement of our approaches. We build models, test them against data, identify their limitations, and improve them. This cycle of development reflects the complex and evolving nature of financial markets themselves.


0.1 📚 Course Structure

Our 12-week journey is organized into three progressive modules:

0.1.1 Module 1: Foundations (Weeks 1-4)

Introduction to Computational Finance

  • Week 1: Understanding the Fintech Landscape & Python Fundamentals
  • Week 2: Financial Data: Sources, Quality, and Acquisition
  • Week 3: Time Series Analysis: Patterns and Limitations
  • Week 4: Statistical Methods and Risk Measurement

Assessment: Multiple choice test covering foundational concepts

0.1.2 Module 2: Analytical Methods (Weeks 5-8)

Exploring Advanced Techniques

  • Week 5: Algorithmic Approaches to Trading
  • Week 6: Machine Learning in Finance: Possibilities and Pitfalls
  • Week 7: Model Evaluation and Selection
  • Week 8: Artificial Intelligence Applications: Promise and Peril

Assessment: Case study examining model performance and limitations

0.1.3 Module 3: Contemporary Applications (Weeks 9-12)

Current Developments and Future Directions

  • Week 9: Text Analysis in Financial Contexts
  • Week 10: Large Language Models: Capabilities and Constraints
  • Week 11: Implementation Considerations and Practical Challenges
  • Week 12: Reflection on Progress and Future Developments

Assessment: Final project demonstrating thoughtful application of course concepts


0.2 Required Reading

0.2.1 Primary Textbooks

Python for Finance

Python for Finance
Yves Hilpisch (2019)

A comprehensive introduction to Python programming for financial applications. Provides practical examples of data analysis, visualization, and computational methods.

O’Reilly Link →

Causal AI

Causal AI
Robert Osazuwa Ness (2025)

A modern approach to causal reasoning and artificial intelligence, exploring how to distinguish correlation from causation in complex systems and make more robust decisions under uncertainty.

Manning Link →


0.3 Computational Tools

0.3.1 Python Programming Environment

# Core libraries we'll explore
import pandas as pd              # Data manipulation
import numpy as np               # Numerical computing  
import matplotlib.pyplot as plt  # Visualization
import yfinance as yf            # Financial data

# Traditional analysis tools
from sklearn import *            # Machine learning
import statsmodels.api as sm     # Statistical modeling

# Causal inference tools (integrated throughout course)
import dowhy                     # Causal inference
from dowhy import CausalModel    # Causal modeling
import pgmpy                     # Probabilistic graphical models

0.3.2 Development Environment

  • Jupyter Lab: Interactive computing environment for exploration and analysis
  • Git & GitHub: Version control for reproducible research and collaboration
  • Financial APIs: Access to market data with appropriate data quality considerations
  • Statistical Libraries: Tools for rigorous analysis with uncertainty quantification
  • Causal Inference Tools: Libraries for distinguishing correlation from causation

0.4 Learning Objectives

By the end of this course, students should be able to:

  1. Apply computational methods to financial data analysis, understanding both the potential insights and inherent limitations of these approaches

  2. Implement and evaluate machine learning techniques for financial applications, with careful attention to model assumptions and validation

  3. Critically assess artificial intelligence applications in finance, considering ethical implications and practical constraints

  4. Understand the regulatory and social context of financial technology, including questions of fairness, transparency, and accountability

  5. Develop well-documented, reproducible analyses that contribute meaningfully to financial decision-making


0.5 📊 Assessment Overview

Assessment Weight Format Timing
MCQ Tests 34% 2 × 17% tests Weeks 5 & 12
Case Study 16% ML model evaluation Week 7
Final Project 50% Python application January 14th

0.5.1 Final Project Options

  • Algorithmic Trading Analysis: Examine the development and evaluation of systematic trading approaches
  • Financial Text Analysis: Explore methods for extracting insights from financial documents and communications
  • Portfolio Construction Methods: Investigate computational approaches to portfolio management
  • Credit Assessment Models: Study machine learning applications in credit evaluation, including bias considerations

0.6 Course Rationale

0.6.1 Academic Context

This course builds on established foundations in finance and statistics, introducing computational methods as tools for enhanced analysis. We approach these technologies with appropriate skepticism, understanding that sophisticated methods require careful interpretation.

0.6.2 Practical Relevance

Financial institutions increasingly rely on computational methods for analysis and decision-making. Understanding these tools—including their assumptions and limitations—is essential for informed participation in modern financial markets.

0.6.3 Intellectual Development

  • Critical Thinking: Develop skills to evaluate computational approaches thoughtfully
  • Methodological Awareness: Understand the assumptions underlying different analytical methods
  • Ethical Considerations: Consider the broader implications of algorithmic decision-making in finance

0.7 Course Preparation

0.7.1 Before the Course Begins

  1. Install Python EnvironmentSetup Guide
  2. Acquire Required Textbooks → Hilpisch “Python for Finance” & Ness “Causal AI”
  3. Review Mathematical Prerequisites → Basic statistics and calculus
  4. Familiarize Yourself with Course Platforms → Blackboard and GitHub

0.8 Contact Information

0.8.1 Module Coordinator

Professor Barry Quinn
📧 b.quinn1@ulster.ac.uk
📞 +44 28 9536 5875
🏢 Room BC-08-205B
🕐 Office Hours: By appointment

0.8.2 Course Support

  • Academic Questions: Email or office hours
  • Technical Issues: Course discussion board
  • Administrative Matters: Contact module coordinator
  • Peer Learning: Encouraged through course forums

0.9 Course Philosophy

This course is designed around the principle that computational tools are most valuable when used thoughtfully. We aim to develop both technical competence and intellectual humility, recognizing that sophisticated methods require careful interpretation and contextual understanding.

Financial markets are complex systems that resist simple explanations. Our computational approaches should reflect this complexity, acknowledging uncertainty and avoiding overconfidence in our models and predictions.


Last updated: r Sys.Date() | Next intake: September 2025
This course is part of the BSc Finance and Investment Management programme at Ulster University Business School.