Astal Creates / Work / Algo Trading Platform
In Development · Private

Algo Trading Platform

Autonomous options-trading system with real-time risk controls, multi-channel alerts, and a live dashboard.

Enquire about this🔒 Private, architecture shared with buyers on purchase.
Built withPython ·Next.js ·Supabase ·AWS EC2
Algo Trading Platform — product screenshot
Introduction

A cloud-hosted algorithmic trading platform that runs unattended against live market data on a fixed daily schedule, enforcing automated risk limits on every position it takes. Built for a single individual operator (not a multi-tenant product), with a companion web dashboard for monitoring performance and system health from anywhere.

Context & user problem

Why it needed to exist

Manual discretionary trading is error-prone and emotionally driven, with no consistent enforcement of risk limits. This system replaces that with a rule-based engine that applies the same hard risk controls every time, and validates changes in a safe paper-trading mode before any real capital is involved.

What was built

Inside the product

Independent multi-instrument architecture

Three isolated engine instances run identical code against three separate instrument configs, sharing no state or journal between them.

Automated risk controls

Per-trade capital limits, daily loss/profit halts, max concurrent positions, and per-symbol cooldowns are enforced in code before any trade is allowed.

Fail-safe execution model

Any error, missing data, or ambiguous condition causes the system to skip the action entirely rather than take a speculative one.

Multi-channel alerting

A custom Telegram bot delivers real-time trade and health notifications, with automatic email fallback (AWS SES) if a Telegram send fails.

Live web dashboard

A Next.js + Supabase dashboard shows engine health, open positions, and filterable historical trade data in near real time.

Statistics-driven tuning advisor

A separate module mines historical trades for statistically-supported, confidence-scored tuning suggestions, advisory only, never applied automatically.

Config-change audit trail

Every parameter change is versioned with before/after values and cross-referenced against trade outcomes on a dashboard timeline.

Automated test suite

490+ automated tests cover the core engine, risk manager, and journaling logic.

How the system works

End to end

  1. A scheduled job starts each trading engine at market open and authenticates it against the broker API.
  2. The engine streams live market data on fixed intervals and evaluates its entry rules on each cycle.
  3. Any qualifying signal passes through a risk-management layer that sizes and gates the position before execution.
  4. Every executed trade, rejected signal, and state change is logged to a local database for audit and analysis.
  5. Alerts fire in real time over Telegram/email, while background jobs sync the day's activity to the dashboard and generate an end-of-day report.
01Market data
02Strategy engine
03Risk manager
04Execution / paper trading
05Journal
06Telegram / email alerts
07Dashboard
Hardest engineering decision

Irregular option-chain strikes

Live option-chain data from the broker isn't always uniformly spaced: some underlyings mix legacy, corporate-action-adjusted strikes (from old splits/bonuses) with the current listing grid at irregular intervals, so naive 'round to the nearest step' arithmetic could compute a strike that doesn't exist in the real chain at all, or land on a real-but-stale contract with no active market. The fix required switching strike selection to work off the broker's actual listed-strike data rather than assumed spacing, then adding a bounded, liveness-aware search that prefers a genuinely tradeable nearby strike over a numerically-closer but illiquid one, while falling back safely to an explicit 'no viable contract' state when nothing nearby is actually tradeable, so a bad chain never gets silently misread as a good one.

Result & current status

Where it stands

Deployed and running continuously on AWS EC2 across three parallel instrument configurations, with daily automated reporting. Currently operating in paper-trading mode (simulated fills against live market data) for validation, not yet trading real capital.

490+
automated tests
3
isolated engines
Technology used

The full stack

  • Python
  • NumPy
  • pandas
  • pydantic
  • Zerodha Kite Connect API
  • SQLite
  • pytest
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Supabase (PostgreSQL)
  • SWR
  • Telegram Bot API
  • AWS SES
  • AWS EC2
  • systemd + cron
Next landmark

Continue along the river

Want something built like this?

This is one of several products shipped under Astal Creates. Tell me what you're building and I'll write back.