An open API service indexing awesome lists of open source software.

https://github.com/hudson-and-thames/backtest_tutorial


https://github.com/hudson-and-thames/backtest_tutorial

Last synced: 20 days ago
JSON representation

Awesome Lists containing this project

README

        

# Backtesting Tutorial for Algorithmic Trading

Welcome to the GitHub repository for our [Udemy course](https://www.udemy.com/course/mastering-backtesting-for-algorithmic-trading/?referralCode=DED2C1825744E0151EAA) on backtesting for algorithmic traders. This course is designed to teach you the fundamental concepts and practical applications of backtesting trading strategies, using Python and various financial analysis libraries.

## About the Course

This course offers a comprehensive introduction to backtesting trading strategies. We focus on creating a robust framework to test your trading ideas and hypotheses with historical market data. The course covers:

- Building your own backtester in python.
- Before you backtest - use this protocol!
- Best Practices in Research for Quantitative Equity Strategies
- What Not to Do!
- The Importance of Causality in your Experiment Design
- Detecting False Investment Strategies
- Bonus Lectures

## Repository Contents

This repository includes the Jupyter Notebooks used in the course:

- **YFinance_Tutorial**: An introduction to pulling free data from Yahoo Finance, using the yfinance library.
- **Vectorized_Backtest_Tutorial.ipynb**: The main tutorial notebook with Python code and detailed explanations.
- **Intro_Transaction_Costs.ipynb**: A tutorial to show how transaction costs can be added to your backtests.

## Getting Started

To get started with the tutorial:

1. **Clone the Repository**: Clone this repository to your local machine using:
```bash
git clone https://github.com/hudson-and-thames/backtest_tutorial.git
```

2. **Set Up Your Environment**:
- It is recommended to use a virtual environment.
- Open the getting_started.md file to follow the setup instructions.

4. **Run the Jupyter Notebooks**: Open the notebooks in Jupyter and follow along with the course.

## Prerequisites

Before starting this course, you should have:

- Basic knowledge of Python programming.
- Understanding of financial markets and trading principles.
- Familiarity with Jupyter Notebooks.
- This is taught at a graduate level.

## Contributing

We welcome contributions to this tutorial! If you have suggestions for improvements, please feel free to make a pull request or open an issue.

## License

This tutorial is provided under the [MIT License](LICENSE).

## Contact

For any queries or feedback related to this course, please contact system[at]hudsonthames.org.