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

No packages published

Contributors 2

  •  
  •