Skip to content

An independent project which delves into the mechanics of algorithmic trading and backtesting. Python-based engine assessing trading strategies against 20 years of S&P500 close price data, outputting key return and risk metrics. Utilises numpy and pandas libraries for improved data management and clarity within the program.

Notifications You must be signed in to change notification settings

jamieharvey237/Algorithmic-Trading-Backtest-Engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Algorithmic-Trading-Backtest-Engine

An independent project which delves into the mechanics of algorithmic trading and backtesting. Python-based engine designed to quantitatively assess trading strategies against a Buy & Hold benchmark using 20 years of S&P500 close price data. Calculation of key risk-return metrics utilised to investigate the real-world trade-off between risk mitigation and return maximisation.

πŸ” Key Findings

Backtesting a 50/200-day SMA Crossover strategy revealed:

  • Nearly Identical Returns: ~8.5% annualized returns for both SMA and Buy & Hold.
  • Marginally Superior Risk-Adjusted Performance: Achieved a higher Sharpe Ratio (0.451 vs. 0.445).
  • Significant Risk Reduction: Demonstrated a 6% improvement in Maximum Drawdown, highlighting effective capital preservation.

πŸ”§Key Features

  • Historical data processing using `yfinance' API
  • Strategy simulation (50/200-day SMA Crossover & Buy & Hold)
  • Performance metrics calculation (CAGR, Sharpe Ratio, Max Drawdown)
  • Equity curve visualization with matplotlib

πŸ“Š Full Report & Analysis

For complete methodology and analysis, please read the full project report:

πŸ“„ Full Project Report (PDF)

About

An independent project which delves into the mechanics of algorithmic trading and backtesting. Python-based engine assessing trading strategies against 20 years of S&P500 close price data, outputting key return and risk metrics. Utilises numpy and pandas libraries for improved data management and clarity within the program.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages