{"id":51188850,"url":"https://github.com/adaline-ankit/ai-trading-framework","last_synced_at":"2026-06-27T13:02:12.205Z","repository":{"id":344638400,"uuid":"1182537171","full_name":"adaline-ankit/ai-trading-framework","owner":"adaline-ankit","description":"Open-source AI trading workflow framework with approval-first execution, Telegram ops, replay, and broker adapters","archived":false,"fork":false,"pushed_at":"2026-03-15T21:52:08.000Z","size":201,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-16T05:17:47.060Z","etag":null,"topics":["ai-trading","fastapi","framework","paper-trading","python","telegram","zerodha"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adaline-ankit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-15T16:49:34.000Z","updated_at":"2026-03-15T21:38:01.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/adaline-ankit/ai-trading-framework","commit_stats":null,"previous_names":["adaline-ankit/ai-trading-framework"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/adaline-ankit/ai-trading-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaline-ankit%2Fai-trading-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaline-ankit%2Fai-trading-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaline-ankit%2Fai-trading-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaline-ankit%2Fai-trading-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adaline-ankit","download_url":"https://codeload.github.com/adaline-ankit/ai-trading-framework/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaline-ankit%2Fai-trading-framework/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34854180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-trading","fastapi","framework","paper-trading","python","telegram","zerodha"],"created_at":"2026-06-27T13:02:11.432Z","updated_at":"2026-06-27T13:02:12.200Z","avatar_url":"https://github.com/adaline-ankit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Trading Framework\n\n[![CI](https://github.com/adaline-ankit/ai-trading-framework/actions/workflows/ci.yml/badge.svg)](https://github.com/adaline-ankit/ai-trading-framework/actions/workflows/ci.yml)\n[![Docker](https://github.com/adaline-ankit/ai-trading-framework/actions/workflows/docker.yml/badge.svg)](https://github.com/adaline-ankit/ai-trading-framework/actions/workflows/docker.yml)\n[![Release](https://github.com/adaline-ankit/ai-trading-framework/actions/workflows/release.yml/badge.svg)](https://github.com/adaline-ankit/ai-trading-framework/actions/workflows/release.yml)\n[![License: Apache-2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\n[![Python](https://img.shields.io/badge/python-3.11%2B-3776AB.svg)](pyproject.toml)\n\nOpen-source framework for building approval-first AI trading copilots, Telegram trading assistants, and replayable trading workflows.\n\nThis project is not an autonomous stock picker. The default operating model is:\n\n`research -\u003e signal generation -\u003e AI reasoning -\u003e explainability -\u003e risk guardrails -\u003e approval -\u003e execution -\u003e analytics`\n\n## Why This Exists\n\nMost AI trading repositories are one-off bots, notebooks, or strategy bundles. `ai-trading-framework` is intended to be the reusable layer underneath:\n\n- Telegram-first trading assistants\n- human-in-the-loop broker execution systems\n- AI research and signal copilots\n- paper trading and replayable operator simulations\n- plugin ecosystems for strategies, brokers, data providers, and reasoning engines\n\n## What You Can Build With It\n\n- approval-first AI trading copilots\n- Telegram trading operators\n- research and signal pipelines\n- paper-trading sandboxes\n- broker-connected operator consoles\n- plugin packages for strategies, brokers, and providers\n\n## Core Capabilities\n\n- Strategy SDK for one-file strategy authoring\n- plugin interfaces for strategies, providers, brokers, notifiers, risk policies, and LLMs\n- event-driven workflow engine with replay support\n- explainability and deterministic risk policy chain\n- dashboard, Telegram, API, and CLI surfaces on one runtime\n- Postgres-backed operator auth sessions and durable broker connectivity\n- paper broker and approval-gated live broker path\n- instrument-aware broker model for equities, ETFs, futures, options, commodities, currencies, and mutual-fund workflows\n- Railway example deployment, plus generic Docker deployment support\n\n## Architecture\n\n```mermaid\nflowchart TD\n    A[\"Data Providers\"] --\u003e B[\"Feature + Strategy SDK\"]\n    B --\u003e C[\"Signal Engines\"]\n    C --\u003e D[\"Reasoning Engine\"]\n    D --\u003e E[\"Explainability\"]\n    E --\u003e F[\"Risk Policy Chain\"]\n    F --\u003e G[\"Approval Service\"]\n    G --\u003e H[\"Execution Service\"]\n    H --\u003e I[\"Analytics + Replay\"]\n    J[\"Telegram / Dashboard / CLI / API\"] --\u003e G\n```\n\nFor a fuller view, see [docs/architecture.md](docs/architecture.md).\n\n## Quickstart\n\n### 1. Install\n\n```bash\nuv sync --extra dev\n```\n\n### 2. Scaffold a bot project\n\n```bash\nuv run ai-trading init my-bot --template paper-sandbox\ncd my-bot\ncp .env.example .env\nuv run ai-trading doctor\n```\n\n### 3. Run local sandbox mode\n\n```bash\nuv run ai-trading sandbox\n```\n\n### 4. Generate a recommendation\n\n```bash\nuv run ai-trading scan INFY\nuv run ai-trading recommend\nuv run ai-trading watchlist add SBIN\n```\n\n### 5. Start the API\n\n```bash\nuv run ai-trading run --reload\n```\n\n### 6. Run tests\n\n```bash\nuv run pytest\n```\n\nShortcut targets are also available:\n\n```bash\nmake dev\nmake check\nmake run\n```\n\nFor a fuller local path, see [docs/quickstart.md](docs/quickstart.md).\n\nTo browse the documentation as a local site:\n\n```bash\nuv sync --extra docs\nuv run mkdocs serve\n```\n\n## Deployment\n\nThe framework is deployable anywhere a Python app or container can run.\n\n- generic deployment guide: [docs/deployment.md](docs/deployment.md)\n- Railway example: [docs/deployment_railway.md](docs/deployment_railway.md)\n- Docker image: [deploy/docker/Dockerfile](deploy/docker/Dockerfile)\n- local stack: [docker-compose.yml](docker-compose.yml)\n\nRailway is included as a fast hosted example, not a platform requirement.\n\n## Authentication\n\nThe runtime supports:\n\n- `AUTH_MODE=PASSWORD` for bootstrap or single-admin deployments\n- `AUTH_MODE=OIDC` for external identity providers\n- `AUTH_MODE=HYBRID` for OIDC with a password fallback\n\nOperator sessions are stored in the database, not on disk. Broker connection state is also persisted in Postgres.\n\n## Telegram And Operator UX\n\nThe framework ships with:\n\n- Telegram webhook and outbound bot support\n- inline Telegram approve/reject/why/risk actions\n- interactive production dashboard\n- approval queue, positions, replay, and history reset\n- watchlist management and investment planner controls\n- holdings-aware multi-idea allocation and rebalance suggestions\n\nDocs:\n\n- [docs/telegram.md](docs/telegram.md)\n- [docs/brokers_zerodha.md](docs/brokers_zerodha.md)\n\n## CLI\n\n```bash\nai-trading init\nai-trading doctor\nai-trading status\nai-trading watchlist add INFY\nai-trading watchlist list\nai-trading recommend\nai-trading run --reload\nai-trading scan INFY\nai-trading analyze INFY\nai-trading backtest INFY\nai-trading replay \u003crun-id\u003e\nai-trading benchmark INFY\nai-trading invest 10000 INFY TCS SBIN --broker PAPER\nai-trading connect-telegram\nai-trading login-zerodha\nai-trading sandbox\nai-trading deploy\n```\n\n## Examples\n\n- [examples/paper_trading_bot](examples/paper_trading_bot)\n- [examples/telegram_zerodha_bot](examples/telegram_zerodha_bot)\n- [examples/custom_strategy](examples/custom_strategy)\n- [examples/sandbox_demo](examples/sandbox_demo)\n\n## Docs\n\n- [Quickstart](docs/quickstart.md)\n- [Architecture](docs/architecture.md)\n- [Framework Deep Dive](docs/framework_deep_dive.md)\n- [Build With The Framework](docs/build_with_framework.md)\n- [Build Your Bot In 10 Minutes](docs/build_your_bot_in_10_minutes.md)\n- [Unified Bot Product Spec](docs/unified_bot_product_spec.md)\n- [Unified Bot Checklist](docs/unified_bot_checklist.md)\n- [Unified Bot End State](docs/unified_bot_end_state.md)\n- [Deployment](docs/deployment.md)\n- [Railway Deployment](docs/deployment_railway.md)\n- [Strategy SDK](docs/strategy_sdk.md)\n- [Plugins](docs/plugins.md)\n- [Replay](docs/replay.md)\n- [Explainability](docs/explainability.md)\n- [Telegram](docs/telegram.md)\n- [Zerodha](docs/brokers_zerodha.md)\n- [Public Launch Checklist](docs/public_launch_checklist.md)\n\n## Project Status\n\nCurrent strengths:\n\n- strong paper-trading and operator workflow support\n- replayable, approval-first execution model\n- Telegram and dashboard operator surfaces\n- plugin-oriented framework structure\n\nRemaining external or optional steps for a fully complete launch:\n\n- fully verified live Zerodha execution on the production account\n- optional OIDC provider setup for multi-user SSO\n- optional PyPI publish credentials\n\n## Contributing\n\nStart with:\n\n- [CONTRIBUTING.md](CONTRIBUTING.md)\n- [CHANGELOG.md](CHANGELOG.md)\n- [SECURITY.md](SECURITY.md)\n- [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md)\n- [SUPPORT.md](SUPPORT.md)\n\n## Community Health\n\nThis repository includes:\n\n- issue templates\n- PR template\n- security policy\n- code of conduct\n- release automation\n- dependency update automation\n- CodeQL security scanning\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaline-ankit%2Fai-trading-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadaline-ankit%2Fai-trading-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaline-ankit%2Fai-trading-framework/lists"}