{"repo":"marketcalls/ExpiryFlow","free":true,"listed":false,"github":"https://github.com/marketcalls/ExpiryFlow","clone":"git clone https://github.com/marketcalls/ExpiryFlow.git","description":"Dhan Expiry Data Management Platform","language":"TypeScript","stars":35,"topics":["dhan-api","duckdb","fastapi","react","shadcn-ui","sqlite"],"license":"MIT","category":"databases-storage","readme_excerpt":"ExpiryFlow A fullstack platform for downloading, visualizing, and backtesting historical F&O options data from Dhan. Built for systematic options strategy research. Features - Data Download — Fetch historical OHLCV data for expired option contracts (rolling options) from Dhan API with rate limiting, chunked downloads, and duplicate detection - ATM Straddle Visualization — Intraday combined CE+PE premium chart and table with date/expiry selectors, spot overlay toggle - Dynamic Straddle Backtester — Backtest ATM straddle rolling strategy with bar-by-bar equity curve, drawdown, trade log, daily P&L, and full metrics - Editable Commissions — Slab-based turnover commission structure with configurable lot sizes per symbol - IST Timestamps — All data stored in IST for natural market-hours queries Stack - Backend : FastAPI, SQLite (config/commissions), DuckDB (market data), httpx - Frontend : React, Vite, TypeScript, ShadCN UI, Zustand, TradingView Lightweight Charts - Data : DuckDB for high-performance time-series storage and backtesting Setup Backend Runs on http://localhost:8000 Frontend Runs on http://localhost:5173 Usage 1. Open http://localhost:5173 2. Enter your Dhan Client ID, API Key, and API Secret 3. Login with your PIN and TOTP code 4. Dashboard — Download historical options data (multi-expiry, multi-strike, date chunking) 5. Straddle — Visualize intraday ATM straddle premium with interactive chart 6. Backtest — Run dynamic straddle strategy backtests with configurable ca","default_branch":null,"files":null,"tree":[],"storefront":"/r/marketcalls","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/marketcalls/ExpiryFlow/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}