Skip to content

A comprehensive learning roadmap for mastering the core disciplines necessary for successful sole algorithmic trading. This repository serves as a structured template, guiding users through essential topics in software engineering, data science, machine learning, and finance. It combines certifications, curated resources, and hands-on projects.

License

Notifications You must be signed in to change notification settings

rmcmillan34/algorithmic-trading-learning-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithmic Trading Learning Roadmap

Self paced roadmap to building algorithmic trading software and systems powered by AI and Data Science.

MIT License Repo Size Last Commit Issues Stars GitHub forks GitHub contributors

Welcome to the Algorithmic Trading Learning Roadmap repository! This repository provides a structured, comprehensive roadmap for developing expertise in the core skills needed to become a proficient algorithmic trader. It includes resources, certifications, and project ideas across various fields that intersect in the world of algorithmic trading, such as AI, data science, finance, software engineering, cloud computing, and more.

Repository Overview

This repository is organized in a hierarchical folder structure, each top-level folder focusing on a key area of knowledge essential for algorithmic trading. Each top-level folder contains topics and Markdown files listing curated resources, recommended certifications, project ideas, and guidelines to help build foundational and advanced skills in that topic.

Table of Contents

Purpose

After deciding that I wanted to undertake the enormous task of becoming an algorithmic trader, I noticed there was a lot of information across many domains that I would need to master. I learn best when I have a structured list of things outlining what I need to learn. The purpose of this repository is to provide my self-paced, modular curated learning template and resources to help other aspiring algorithmic traders build proficiency in:

  • Artificial Intelligence: Applying machine learning techniques to create predictive models for trading.
  • Algorithmic Trading: Developing, testing, and optimizing trading algorithms.
  • Cloud & DevOps: Deploying scalable trading algorithms on cloud platforms with CI/CD pipelines.
  • Computer Science: Understanding algorithms, data structures, and programming languages to build efficient trading systems.
  • Data Science: Analyzing, processing, and interpreting large datasets to make data-driven decisions.
  • Finance: Understanding financial markets, instruments, and quantitative finance principles.
  • Mathematics: Applying mathematical principles such as probability, statistics, and calculus in financial modelling.
  • General Skills: Technical Writing, Databases, Project management, and more.
  • Software Engineering: Writing clean, efficient code and following best practices for project deployment and version control.

This repository is designed to be used as a local repository, to organise resources, and learning materials, adaptable for individual use or collaboration, and suitable for any level of experience.

Why Build This Roadmap?

After 15 years as a technician, and completing postgraduate studies in cybersecurity, I realised that I am ready to retire, and since I’ve yet to hit the lottery, algorithmic trading felt like the next best shot at financial independence... with the added benefit of needing less luck and more skill.

But making it in this space requires more than just enthusiasm. It demands fluency across multiple disciplines:

  • Software engineering and version control
  • Mathematics and statistics
  • Data science and machine learning
  • Financial markets and trading strategies
  • Cloud infrastructure and automation

After accumulating hundreds of gigabytes of books, courses and materials, I knew that I needed a system to avoid drowning in content. I also wanted to find the best possible resources without wasting time jumping between outdated blog posts, half-finished courses, and noisy forums — so I’ve gathered them all in one place. With community input and regular updates, we can all skip the fluff and focus on learning what actually matters.

And this is what I came up with, a modular learning system I’m building to keep myself accountable, organized, and always moving forward.

If you’re also chasing financial freedom through algorithmic trading — and want a roadmap that respects both depth and structure — you’re in good company.

👉 Feel free to star the repo, share it with others, or open a pull request to improve any section — let’s build this together.

Repository Structure

The design of this repository is modular and hierarchical, allowing for easy navigation and organization of resources. The philosophy behind this structure is to create a clear and logical flow of information, making it easier for learners to follow their own learning paths and a place to store and organise content. Each domain is broken down into subdomains, with each subdomain containing specific topics and resources. The main components include:

  • Assets: Storage for compelte projects, anki flashcards, obsidian vaults for downloading and storing your own resources.
  • Domains: Each domain represents a key area of knowledge, such as "Artificial Intelligence" or "Finance."
  • Subject: Each subfolder within a domain contains a specific topic, such as "Machine Learning" or "Deep Learning." for Artificial Intelligence.
  • Markdown files: Each domain and subject contains a README.md file outlining the topic and a list of resources, including books, online courses, and project ideas.
  • Resources: Each Subject contains a folders for the storage of your own resources, including:
    • Books: Recommended textbooks and reference materials.
    • Online Courses: Links to online courses and certifications.
    • Projects: Ideas for practical projects to apply the knowledge gained.
.
├── \assets                # Assets for the project
│   ├── \anki              # Anki flashcards
│   └── \img               # Images for the project README's
└── roadmap                # Main directory for the roadmap domains and focus areas
    ├── artificial-intelligence
    │   ├── artificial-intelligence-foundations
    │   ├── deep-neural-networks
    │   ├── machine-learning
    │   ├── natural-language-processing
    │   ├── optimisation-techniques
    │   ├── probabilistic-models
    │   ├── reinforcement-learning
    │   └── signal-processing
    ├── cloud-devops
    │   ├── amazon-web-services
    │   ├── cloud
    │   ├── devops
    │   ├── docker
    │   ├── git
    │   ├── github-actions
    │   ├── google-cloud-platform
    │   ├── kubernetes
    │   └── microsoft-azure
    ├── computer-science
    │   ├── compilers
    │   ├── computer-architecture
    │   ├── cuda
    │   ├── data-structures
    │   ├── operating-systems
    │   ├── theory
    │   ├── algorithms
    │   ├── assembly-language
    │   ├── c++
    │   ├── concurrency
    │   ├── network-programming
    │   ├── object-oriented-programming
    │   ├── programming
    │   └── python
    ├── data-science
    │   ├── data-analytics
    │   ├── data-science
    │   ├── data-visualisation
    │   ├── data-wrangling
    │   ├── r-language
    │   ├── research-methods
    │   ├── statistical-data-analysis
    │   └── time-series-analysis
    ├── finance
    │   ├── algorithmic-trading
    │   ├── cryptocurrency
    │   ├── econometrics
    │   ├── fintech
    │   ├── forex
    │   ├── high-frequency-trading
    │   ├── options
    │   ├── portfolio-optimisation
    │   ├── quantitative-finance
    │   ├── risk-management
    │   └── technical-analysis
    ├── general-skills
    │   ├── database-fundamentals
    │   ├── excel
    │   ├── linux
    │   ├── networking
    │   ├── security
    │   ├── soft-skills
    │   ├── sql
    │   └── technical-writing
    ├── mathematics
    │   ├── calculus
    │   ├── discrete-mathematics
    │   ├── financial-mathematics
    │   ├── game-theory
    │   ├── information-theory
    │   ├── linear-algebra
    │   ├── mathematics-foundations
    │   ├── optimisation
    │   ├── ordinary-differential-equations
    │   ├── partial-differential-equations
    │   ├── principal-component-analysis
    │   ├── probability-statistics
    │   └── stochastic-processes
    └── software-engineering
        ├── clean-code
        ├── design-patterns
        ├── documentation
        ├── legacy-code
        ├── project-management
        ├── refactoring
        ├── requirements-engineering
        ├── software-architecture
        ├── software-engineering
        ├── software-testing
        ├── system-design
        ├── version-control
        └── web-development

Usage Guide

Select a Topic: Start with the topic area that aligns best with your current lack of knowledge or an interest area (e.g., Data Science, Finance). Follow the Roadmap: Each domain README contains a progressive list of topics, some mandatory, some nice to know and others for further learning. Start with the basics and work through each section, aiming to complete recommended certifications and projects. Build Projects: Apply your newly gained skills to projects recommended within each subject. Document Your Progress: Use a note-taking application such as Obsidian or a Trello board to keep track of completed courses, certifications, and projects. Collaborate and Share: Share your progress and insights with the community. Open pull requests to suggest new resources or improvements.

Getting Started

To get started collating your own projects and resources, clone this repository:

git clone https://github.com/rmcmillan34/algorithmic-trading-learning-roadmap.git
cd algorithmic-trading-learning-roadmap

and then peruse the README.md files in each domain and subject folder to find resources, recommended courses, and project ideas.

Domains and Focus Areas

Navigate through the following domains and focus areas to find resources and topics that interest you:

Recommended Tools

  • Python: Primary language for algorithmic trading projects.
  • Jupyter Notebooks: For data science and machine learning experimentation.
  • Git: For version control and collaboration.
  • Cloud Services: Set up accounts on AWS, GCP, or Azure for cloud projects.
  • Anki: For spaced repetition learning and flashcards.
  • Obsidian: For note-taking and organizing resources.
  • Trello: For project management and tracking progress.

Contributing

We welcome contributions to expand and improve the resources in this repository! To contribute:

  1. Fork this Repository:

    • Create a new branch for your contribution, sourcing from the appropriate category branch.
  2. Make Your Changes:

    • Add or improve resources and ensure they are high-quality, open-access, and relevant to algorithmic trading.
  3. Submit a Pull Request:

    • Provide a clear description of your changes and their impact on the project.

Collaboration Tools/Resources

Community Discussions

I'd like to make this a community project and learn from everyone! Join the conversation! Visit our Discussions section to:

  • Ask questions about the syllabus or specific topics.
  • Share your projects and get feedback.
  • Discover new resources and insights.

License

This project is licensed under the MIT License - you are free to use, modify, and distribute this template with attribution. See the LICENSE file for more details.

About

A comprehensive learning roadmap for mastering the core disciplines necessary for successful sole algorithmic trading. This repository serves as a structured template, guiding users through essential topics in software engineering, data science, machine learning, and finance. It combines certifications, curated resources, and hands-on projects.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published