• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Undergrad Concentration Electives

I am an undergrad student switching from actuarial science to mathematics. Currently i am taking advanced calculus (up to surface integrals and Stoke's theorem), discrete math, partial differential equations and statistical inference.

The mandatory courses include real analysis, abstract algebra, complex analysis and numerical analysis.

There are 2 numerical analysis classes:

Numerical Methods (More abstract with less use of Matlab or similar packages): Number systems and errors. Solution of nonlinear equations. Interpolation. Systems of linear equations. Approximation. Differentiation and integration. Solution of ordinary differential equations.

Engineering Analysis and Computation I: Solution of sets of linear equations, roots of equations, curve fitting (interpolation), numerical integration and differentiation, numerical solution of ordinary and partial differential equations, boundary value problems and introduction to the finite difference method of computer programs for problem solving. It includes a programming based project.

Any of both courses can fulfill the numerical methods requirement. (since the abstract one is rarely offered.) It seems that the less abstract version can be more beneficial since it includes intensive use of Matlab and it includes numerical solutions to ODEs/PDEs. What do you think?

In addition, I would like to seek your advice regarding some courses which can be relevant to or useful in finance/economics. (directly or indirectly even if its sole point of relevance is advancing the level of mathematical maturity and shaping an abstract mindset)

Kindly sort down the following courses in order (1 being the most relevant and useful and n being the least relevant) and explain the reasoning behind what you type down (if possible):

Classic Differential Geometry: (not abstract and taught by an applied mathematician and it is different from abstract differential geometry and topology)


Functional Analysis

Number Theory

Integral Equations

Difference Equations

2nd More Advanced PDEs Class
(the course that I am currently taking covers the following, classification of PDEs, transformation to canonical form and deriving the characteristic equations, solution by separation and using fourier series, total DEs of 3 variables, 1st order linear PDEs, 1st order non linear PDEs, 2nd order linear PDEs)

Operations research: Network flows, minimal- cost network flows, maximal-flow problems. Critical-path methods and PERT. Non linear programming. Deterministic and probabilistic inventory theory. Deterministic and probabilistic dynamic programming.

Linear programming: Formulation of linear programming problems, graphical solutions, the simplex method. The revised simplex method, dual problems and sensitivity analysis. Transportation and assignment problems.

Stochastic processes (discrete only)
: Introduction to stochastic process, discrete time Markov chains (DTMC). The Exponential distribution and Poisson process, continuous-time Markov chains (CTMC). Transient and limiting behavior for both DTMC and CTMC. Single and multi channels Markovian queueing models, network of queues.

Mathematical modelling: introduction to the mathematical modeling. Deterministic models in discrete and continuous times using difference and differential equations. Probabilistic models in discrete and continuous times using discrete and continuous times Markov chains.

Formal logic

Graph theory

Advanced Linear Algebra

Derivatives; pricing
: Discrete and Continuous time model, options, options on futures, Black-Scholes formulas, Black’s formula, greeks and their calculation, implied volatility, mathematics of delta hedging and delta-gamma hedging, exotic options, normal and lognormal distributions, Brownian motion, geometric Brownian, stock price process under the physical and risk-neutral probability measures, stochastic differential equations, Black-Sholes equation, Ito’s lemma, risk-neutral pricing in continuous time, continuous and discrete time interest rate models, Monte Carlo Simulation.

Applied Regression Methods: Review of matrix algebra notation and vocabulary. Standard least squares method and application to problems arising from social, biological and engineering sciences. Deviation from assumption of multicollinearity. Variable selection methods. Analysis of variance, logistic regression models. Course includes an applied project (a thorough analysis of real-life data using computer packaged programs).

Analysis of Time Series Data: This course deals with the problems of modelling and forecasting time series data. Computer program packages are used as an aid for obtaining solutions. Topics include serial correlation, seasonal adjustments, exponential smoothing and extrapolation, state space models, moving average, autoregressive, ARMA and ARIMA models, and nonlinear time series, including ARCH models and chaos. Emphasis on model building, diagnostic checking, and model selection.

Applied Multivariate Analysis: Techniques of multivariate statistical analysis illustrated by examples from various fields. Topics include: Multivariate normal distribution. Sample geometry and multivariate distances. Inference about a mean vector. Comparison of several multivariate means, variances, and covariances. Detection of multivariate outliers. Principle components. Factor analysis. Canonical correlation. Discriminant analysis. Course includes an applied project (a thorough analysis of real-life data sets using computer-packaged programs).

Introduction to Econometrics (is it useful to take econometrics after taking advanced courses like applied regression analysis, analysis of time series data, and applied multivariate analysis?): The course covers the General Linear Regression Model. Topics include: departures from the basic assumptions of the general model: multicollinearity, autocorrelation, heteroskedasticity, errors in variables, dynamic systems and distributed lag models, the identification problem, estimation of structural equations. Assignments include applications to real world examples.

Econometric Methods: Extensions of the classical linear model. Instrumental variables. Errors in variables. Maximum likelihood estimation. Simultaneous equation systems. Vector autoregressions, error correction models, nonstationarity and cointegration.

Graduate Level Game Theory

Intermediate Microeconomics: Preferences, utility theory, and derivation of consumer demand. Convergence conditions in consumer choice. Slutsky decomposition. Supply, cost structure, factor inputs, and technology. Properties of production functions including the Euler Theorem. Monopoly, duopoly (Bertrand and Cournot), oligopoly, monopolistic, and competitive markets. The extent of market entry. Labor choice, the capital asset pricing model, and technological innovation. Introduction to game theory. General equilibrium and welfare economics.

Programming Fundamentals (took intro to problem solving and programming class): Overview of basic programming constructs. Functions, parameter passing and files. Data modeling with arrays, structures and classes. Pointers and linked lists. Recursion. Basic program design and analysis, testing and debugging techniques. Programming in C++. Program development using modern APIs.

Data Structures and Algorithms: The role of data structures in software engineering and algorithm design. Abstract data types and classes: concepts, data models, and levels of abstraction. Recursion. Analysis of algorithms. Elementary data structures and their implementation: arrays, strings, structures and files. Specification, implementation and application of stacks, queues, lists, trees and graphs. Searching and sorting algorithms.

Fundamentals of Database Systems: Basic concepts, database system environment, DBMS. Components and architecture access structures, indexing and hashing, high-level data models, ER and EER model, the relational model, relational languages, relational algebra, relational calculus, SQL, introduction to functional dependencies and normalization, social and ethical context of databases.

Object Oriented Programming

Analysis and Design of Algorithms: Design and analysis of basic classes of algorithms: Divide and conquer, greedy methods, tree and graph traversals, and backtracking. Applications to problems such as sorting and searching, traveling salesperson, and knapsack. Theory of complexity.

Theory of Computing

Classes that can be Related to High Frequency Trade:

Digital Design I: Basic logic gates, Boolean algebra, logic minimization algorithms, modular design of combinational circuits, introduction to computer arithmetic, memory elements, sequential circuits, Finite State Machines analysis and design, top-down digital systems design approach, timing aspects of digital systems. Exposure to modern Electronic Design Automation tools, Hardware Description Languages and programmable logic devices. The laboratory component will cover experiments in digital electronics.

Computer Organization and Assembly Language Programming: Explaining the state of the art computer systems focusing on major components: CPU,I/O, and memory. In-depth discussion of the instructions set architecture of the MIPS microprocessors. This includes different types of assembly instructions doing basic arithmetic, data movement, decision making, and jumping. Discussing different performance matrices of microprocessors and how to measure and analyze performance and evaluate speedups. Going through basic computer arithmetic covering integer and floating point operations. Discussing I/O ports, I/O devices and controllers, DMA channels, priority interrupts. Also discussing different I/O technologies, such as magnetic disks, flash disks, and optical storage. It also discusses the latest trends in microprocessors design and programming (such as SIMD and MIMD).

Concepts of Programming Languages: Comparative study of abstraction, syntax, semantics, binding times, data and sequence control, run-time resources, translators, and storage of programming languages. Programming projects using selected programming languages to enhance practical aspects.

Computer Architecture: The objectives of this course are to introduce the principles of Modern Computer Architecture and design. Topics to be discussed include Instruction Set Architectures, Arithmetic Logic Unit design, CPU data path design, CPU pipelining, memory hierarchy, cache and virtual memory, and introduction to I/O.

Fundamental Microelectronics Devices and Basic Circuits: Introduction to Electronics, Operational Amplifiers, Diodes, Bipolar Junction Transistors (BJT’s), Field Effect Transistors (FET’s), MOS and bipolar logic families, design parameter analysis, storage elements, interfacing logic families, Operational amplifiers.

Digital Design II: VLSI fabrication, Design of complex CMOS gates, Combinational and Sequential logic structures in VLSI; Semiconductor memories and array structures; Introduction of ASIC design techniques and tools; design and programming of FPGAs using CAD tools; timing in sequential circuits; essential hazards; races in sequential circuits; Digital systems design; Datapath and Control design; Modeling and simulation; Fault models and testing.

Data and Computer Communications: Data transmissions. Transmission media, data encoding, data link control, and multiplexing. Introduction to wide area networks and local area networks technology and systems.

Operating Systems: Operating systems concepts and structure. The Kernel, interrupts, system calls. Process concepts, operations, and implementation. Threads. Concurrency, interprocess communication and synchronization. Process scheduling. Resources and deadlocks. Memory management: swapping, paging, segmentation, virtual memory. File system interface, protection. Case studies: Windows, Linux, and MINIX.

Computer Systems: This course exposes attendees in breadth to the most viable systems relating to Information Technology, and their associated administration. This includes networking fundamentals and related management, operating systems, computer organization and architecture, hardware, firmware, and enterprise applications.

Digital Signal Processing: Characterizations of signals, ADC and DAC, Fourier series and Fourier transform for discrete and continuous time signals, sampling, Digital spectrum analysis, discrete transforms, digital filters, audio and image processing applications.

Software Engineering: Basic concepts of software engineering project management, ethical and social issues as well as the software development life cycle. Techniques for software specification, design, implementation, validation, verification and documentation. State-of-the art tools for computer-aided software engineering (CASE tools) are used to support term projects.

Compiler Design: Principles and practices in the design of compilers. Lexical analysis. Syntax analysis, top-down and bottom-up parsing. Syntax-directed translation and syntax trees. Declarations, types, and symbol management. Run-time environments, storage organization, parameter passing, dynamic storage allocation. Intermediate languages and intermediate code generation. Code generation and optimization.

Embedded Systems: Embedded processor architecture and programming, I/O and device driver interfaces to embedded processors with networks, video cards and disk drives. Using operating systems primitives for concurrency, timeouts, scheduling, communication and synchronization, Real-time resource management techniques, and application-level embedded system design concepts such as basic signal processing and feedback control.

Wide Area Networks: Communication architecture and protocols. Networks, internetworking and transport protocols. Issues of mobile computing, network security, and network applications.

Fundamentals of Distributed Systems: Introduction to distributed systems. Modeling, specifications, consistency, fault tolerance, interprocess communication, network and distributed operating systems, distributed mutual exclusion, distributed deadlock detection, load balancing and process migration.

Database Systems: Advanced relational database theory: functional dependencies, multivalued dependencies, join dependencies, inclusion dependencies. System catalog implementation, query optimization techniques, transaction processing, concurrency control, database security, backup and recovery strategies. Advanced data modeling (e.g. object-oriented databases), distributed and client server architectures, and further exposure to social and ethical issues in databases.

Design of Web-based Systems: Introduction to the Web as a platform, the Web as an n-tier client-server architecture, basic components of a web-based application, developing static and dynamic web pages. Enhancing Web pages using Scripting languages. Developing Web-based applications. Using Server-extension techniques and tools. Introduction to XML and its associated technologies. Emerging technologies and tools on the web. Wireless Web protocols and techniques.

Artificial Intelligence

Introduction to Artificial Neural Networks

Grad Level Data Mining/ Machine Learning

More about my background:
I intended in the beginning to declare business but I found that an undergrad business degree is not that rigorous and that it is mostly useless since it includes skills and intuition based topics that requires professional training rather than undergrad academic training from my point of view (an exception can be the finance classes but even the finance classes are not rigorous)

i decided to switch to actuarial science and I passed 2 of the society of Actuaries exams; P and FM, but I found that I am less interested in working in the insurance industry and I didn't want to waste my undergrad years taking too applied courses like life contingency and insurance models so I decided to switch to mathematics. (even if for those who continue to work as actuaries, a math degree is better than an undergrad actuarial science degree because actuarial science is all about professional exams)

Regarding my academic career path, I intend to apply for either a Ph.D in economics or to further advance my computational skills through applying for a computational sciences masters program. Professionally, I am still not sure but I intend to work in something quantitative/computational in the financial industry.