Programming for Financial Technology

Programming for Financial Technology#

The guide provides much of the programming materials used in Duke University’s Masters of Engineering In Financial Technology program.

Over the past decade, Python has evolved into the language of choice for many different application types. Python’s extensive libraries such as NumPy, pandas, and matplotlib provide robust tools for data manipulation, statistical analysis, and visualization, enabling developers to rapidly prototype and deploy sophisticated financial models and strategies. Moreover, Python’s seamless integration with other languages and platforms (e.g., Spark) facilitates interoperability and scalability, making it an indispensable tool for building scalable and resilient FinTech solutions that drive innovation and efficiency in today’s fast-paced financial landscape.

Similarly, C++ serves as a cornerstone language for Financial Technology (FinTech), offering unparalleled performance, robustness, and flexibility to meet the demanding requirements of this dynamic industry. Its speed and efficiency make it an ideal choice for developing high-frequency trading systems, algorithmic trading platforms, risk management software, and complex mathematical models. With its close-to-the-hardware capabilities, C++ enables developers to optimize code for latency-sensitive applications, ensuring lightning-fast execution critical for capitalizing on market opportunities. Furthermore, C++’s extensive libraries and mature ecosystem provide a wealth of tools and frameworks tailored specifically for financial applications, empowering developers to build scalable, secure, and reliable solutions that drive innovation and efficiency in the ever-evolving landscape of finance.

This resource will eventually contain nine sections:

  1. Preliminaries: Presents installing Python, C++, and supporting tools such as VS Code and Git.
  2. Python Basics: Provides an introduction to programming using Python
  3. Advanced Python: Contains additional Python topics, that while useful, are not critical to programming
  4. C++: Introduction to programming in C++.
  5. Databases: Discusses an overview of database design, including SQL and NoSQL, and how to interact with those resources in Python.
  6. Data Science: Covers using a variety of data science libraries to perform data cleaning, handling, analytics, machine learning, and visualization.
  7. Web Development: Provides an introduction to web development, including HTML, CSS, and JavaScript, as well as server-side programming with Flask.
  8. Big Data: Presents processing big data in Python using Apache Spark.
  9. The Tools: Introduces a series of tools commonly used in programming.

Exercise Answers - Python Basics