Skip to content

AlgoGators/algosystem

Repository files navigation

🚀 AlgoSystem

PyPI version Python 3.9+ License: GPL v3 Built with Poetry

AlgoGators professional algorithmic backtesting and dashboard visualization library.

🚀 Quick Start

Installation

pip install algosystem

Command Line

# Generate dashboard from CSV algosystem dashboard strategy.csv # With benchmark comparison algosystem dashboard strategy.csv --benchmark sp500 # Launch visual editor algosystem launch # Create IP-ready results algosystem ip strategy.csv --benchmark sp500

Python API

import pandas as pd from algosystem.api import quick_backtest # Load strategy data (CSV with date index and price column) data = pd.read_csv('strategy.csv', index_col=0, parse_dates=True) # Run backtest and show dashboard engine = quick_backtest(data)

📊 Dashboard Features

Available Metrics (20+)

  • Performance: Total Return, Annualized Return, Volatility
  • Risk: Max Drawdown, VaR, CVaR, Skewness
  • Ratios: Sharpe, Sortino, Calmar, Information Ratio
  • Benchmark: Alpha, Beta, Correlation, Tracking Error

Available Charts (15+)

  • Core: Equity Curve, Drawdown, Daily Returns
  • Rolling: Sharpe, Sortino, Volatility, Skewness
  • Analysis: Monthly Returns, Yearly Returns, Benchmark Comparison

Built-in Benchmarks (40+)

  • Indices: S&P 500, NASDAQ, DJIA, Russell 2000
  • International: Europe, UK, Japan, China, Emerging Markets
  • Sectors: Technology, Healthcare, Financials, Energy
  • Assets: Gold, Real Estate, Commodities, Bonds

📖 Documentation

🔧 Example Usage

Complete Workflow

from algosystem.api import AlgoSystem # Load data and benchmark strategy_data = pd.read_csv('strategy.csv', index_col=0, parse_dates=True) benchmark_data = AlgoSystem.get_benchmark('sp500') # Run backtest engine = AlgoSystem.run_backtest(strategy_data, benchmark_data) # Print results AlgoSystem.print_results(engine, detailed=True) # Generate dashboard AlgoSystem.generate_dashboard(engine, open_browser=True) # Export data AlgoSystem.export_data(engine, 'results.csv')

Engine-Level Control

from algosystem.backtesting import Engine engine = Engine( data=strategy_data, benchmark=benchmark_data, start_date='2022-01-01', end_date='2022-12-31' ) results = engine.run() dashboard_path = engine.generate_dashboard()

📋 Data Format

Your CSV should have:

  • Date column as index (YYYY-MM-DD)
  • Price/value column representing portfolio value
Date,Strategy 2022-01-01,100000.00 2022-01-02,100500.00 2022-01-03,99800.00

About

Pythonic AlgoGators Library for Backtesting

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors