Soojal Kumar
Back to Projects

Aug 2024 - Dec 2024

GenAI Project - Genetic Algorithm Optimization Engine

Optimization engine for evolving trading strategies using genetic algorithms.

This project implements a genetic algorithm framework that evolves candidate strategies using selection, crossover, mutation, and elitism. It supports training/testing workflows, configurable experiments, JSON summaries, and fitness progression plots.

PythonGenetic AlgorithmsOptimizationMachine LearningNumPyMatplotlib

Conceptual Visual

Evolution Loop

Initial Population

Fitness Evaluation

Selection

Crossover

Mutation

Best Strategy

Highlight

Genetic Algorithm

Highlight

Strategy Optimization

Highlight

CLI Configuration

Highlight

Fitness Visualizations

Executive Summary

This project implements a genetic algorithm framework that evolves candidate strategies using selection, crossover, mutation, and elitism. It supports training/testing workflows, configurable experiments, JSON summaries, and fitness progression plots.

Problem Statement

Optimization problems often require exploring large solution spaces. This project applies evolutionary search to discover candidate trading rules and compare strategy behavior across generations.

What I Built

Configurable CLI

JSON experiment summaries

Fitness plots

Train/test split workflow

How It Works

A conceptual workflow showing how the project moves from input to processing and output.

Step 1

Historical Data

Step 2

Candidate Strategies

Step 3

Fitness Scoring

Step 4

Genetic Operators

Step 5

Best Strategy

Step 6

Test Evaluation

Architecture / System Design

A simplified system view of the major project components and how responsibilities connect.

Step 1

CLI Config

Step 2

GA Engine

Step 3

Fitness Function

Step 4

Experiment Runner

Step 5

JSON Summary + Plots

Technical Implementation

Algorithm

  • Selection
  • Crossover
  • Mutation
  • Elitism

Experimentation

  • Configurable CLI
  • Training/testing workflows
  • Repeatable parameter tuning

Data + Output

  • Historical financial data
  • JSON summaries
  • Fitness progression plots

Tools

  • Python
  • NumPy
  • Matplotlib

Visual Showcase

Conceptual preview panels for the project experience. These are intentional placeholders, not fake screenshots.

Fitness Curve Placeholder

Conceptual visualization panel for optimization progress over generations.

Strategy Evolution Flow

Shows candidate strategy evolution from population to selected result.

Experiment Config Panel

Configuration surface for population size, mutation rate, and generation count.

JSON Output Preview

Structured experiment summary concept for result comparison.

Experiment Config Preview

{
  "population_size": 100,
  "mutation_rate": 0.05,
  "generations": 50,
  "best_fitness": "..."
}

Challenges & Solutions

Challenge

Large strategy spaces are difficult to search manually.

Solution

Used a genetic algorithm loop to evolve candidate strategies through repeated scoring and variation.

Challenge

Optimization experiments need visibility into parameter choices and outcomes.

Solution

Added CLI configuration, JSON summaries, and fitness progression visualizations.

Results / Impact

Demonstrates practical software engineering through modular structure, readable workflows, and clear technical documentation.

Shows ability to convert course and research concepts into working systems with real implementation constraints.