@geekbb: Open-source A-share quantitative workstation, using TickFlow data for three tasks: stock selection, real-time monitoring, and backtesting. Built-in 20 stock selection strategies (Polars vectorization runs all A-shares in seconds), supports no-code custom signals, AI strategy writing, multi-condition monitoring rules + Feishu push. https:…

X AI KOLs Timeline Tools

Summary

Open-source A-share quantitative workstation, based on TickFlow data, implements three functions: stock selection, real-time monitoring, and backtesting. Built-in 20 Polars vectorized strategies, supports AI strategy writing and Feishu push.

Open-source A-share quantitative workstation, using TickFlow data, does three things: stock selection, real-time monitoring, and backtesting. Built-in 20 stock selection strategies (Polars vectorization runs all A-shares in seconds), supports no-code custom signals, AI strategy writing, multi-condition monitoring rules + Feishu push. https://github.com/shy3130/tickflow-stock-panel…
Original Article
View Cached Full Text

Cached at: 07/02/26, 06:18 AM

Open source A-share quantitative workstation, using TickFlow data for stock selection, real-time monitoring, and backtesting. Includes 20 built-in stock selection strategies (Polars vectorized to scan all A-shares in seconds), supports custom signals without coding, AI-assisted strategy writing, multi-condition monitoring rules + Feishu push. https://github.com/shy3130/tickflow-stock-panel… — # shy3130/tickflow-stock-panel Source: https://github.com/shy3130/tickflow-stock-panel # 📈 A-Share Intelligent Quantitative Workstation Self-hosted, zero-maintenance A-share “Stock Selection + Monitoring + Backtesting” quantitative workstation Designed for individual retail investors and quantitative enthusiasts License: MIT Python (https://www.python.org/) React (https://react.dev/) Data: TickFlow (https://tickflow.org/auth/register?ref=V3KDKGXPEA) Deploy: Docker GitHub stars (https://github.com/shy3130/tickflow-stock-panel/stargazers) Quick Start · Core Features · Configuration · Roadmap - 🆓 Out-of-the-box — Leave Key empty to enter None mode, historical daily K-line free to use, no payment required - 🏠 Self-hosted, zero maintenance — Single Docker container deployment, data fully under your control - 🔍 Trinity — Stock selection (20 built-in strategies) + real-time monitoring + vectorized backtesting, Polars scans all A-shares in milliseconds - 🤖 AI-powered — Generate strategy code with a single sentence, any OpenAI-compatible interface can be integrated (leave blank to disable) - 🔌 Freely extensible — Integrate your own quantitative project data for joint analysis with built-in data - 🇨🇳 A-share specific — Automated AI post-market review and push to Feishu etc.; limit-up ladder, limit-up momentum, built-in THS concepts/industries Based on TickFlow (https://tickflow.org/auth/register?ref=V3KDKGXPEA) data source. Explicitly not doing: not comparable to Flush/TDX, no built-in “AI stock recommendation/limit-up prediction”. > ⚠️ Considering TickFlow data source lacks personalized data like sentiment/fund flow, I will open my own third-party data for research, including but not limited to currently built-in THS concepts/THS industries (updates here) > For more stable free data source recommendations, or to submit suggestions/feedback, email [email protected], QQ group 109338242 > If you find this useful, please give a Star. Thanks 🌹 — ## 🎯 Project Positioning A-share analysis workstation for individual retail investors and quantitative enthusiasts, focusing on three scenarios: “Stock Selection + Monitoring + Backtesting”, driven by LLM capabilities for market analysis, keeping pace with market rhythm. Empowers ordinary investors with a customizable quantitative tool. — ## 📸 Interface Preview Dashboard Dashboard Strategy Screener Backtest Backtest Monitor Center Monitor Limit-up Ladder Limit Ladder Concept Analysis Concept ### 📸 View more interface screenshots » — ## 🚀 Quick Start ### Prerequisites | Tool | Version | Installation | | :——————————— | :—– | :———————————————–– | | Python | ≥ 3.11 | python.org (https://www.python.org/) | | Node | ≥ 20 | nodejs.org (https://nodejs.org/) | | uv (https://docs.astral.sh/uv/) | latest | curl -LsSf https://astral.sh/uv/install.sh \| sh | | pnpm | 9 | npm i -g pnpm | ### Option A: Dev Mode (recommended for customization) bash cp .env.example .env # Fill in TICKFLOW_API_KEY as needed (leave blank = None mode) ./dev.sh # Windows: .\dev.ps1 Automatically checks/downloads dependencies, releases ports, starts both frontend and backend. Ctrl-C to stop both. Default: - Backend → · Frontend → - Custom ports: BACKEND_PORT=8000 FRONTEND_PORT=5173 ./dev.sh ### Option B: Docker (most convenient for deployment) bash cp .env.example .env docker compose up --build # Open http://localhost:3018 Environment adaptation and advanced options (old CPU · manual start · backtest dependencies) Old CPU compatibility (error due to missing avx2/fma or exit 132): Desktop client installer already includes a compatible kernel (works for both old and new CPUs). Docker/source code users should set BACKEND_EXTRAS=legacy-cpu in .env and rebuild. This switches Polars to rtcompat runtime. For backtesting, use BACKEND_EXTRAS=legacy-cpu backtest. Manual separate start: bash # Backend cd backend && uv sync --extra backtest # includes backtesting dependencies uv run uvicorn app.main:app --reload --port 3018 # Frontend cd frontend && pnpm install && pnpm dev # http://localhost:3011 Backtesting dependencies: vectorbt → numba is large, included as optional extras (uv sync --extra backtest). macOS/Intel may require brew install cmake for compilation if no prebuilt wheel. ### 🔄 Updating code (must-read for existing users) Pull new version with a single command: bash git pull The entire data/ directory is not tracked by git — market K-lines, financials, watchlists, backtesting, monitoring records, and even concept/industry extension data are all user data generated/pulled at runtime. git pull physically cannot affect them. New users on first launch will automatically pull two extension files for concepts/industries from the remote API, no manual action needed. > ⚠️ Never use the following commands to “resolve conflicts” or “clean up”. They will delete all untracked data under data/: > - git clean -fdx (most dangerous, deletes all files ignored by .gitignore) > - git reset --hard > - Delete the entire project folder and git clone again > > If git pull reports a conflict, it usually means you’ve locally modified tracked files. First run git stash to stash changes, then pull, or contact the author separately. Do not run the above commands. ### 🧭 First use after running 1. Settings → Credentials & Capabilities → Click Re-detect to confirm tier label. 2. SettingsRun post-market pipeline now: Pull daily K + compute enriched table (None/Free use free-api; current day data available 1-2 hours after market close). 3. Watchlist page → add symbols, then Stock Selection page → click strategy cards to scan / configure custom signals. 4. Backtest page → select strategy + date range → watch NAV / Sharpe / trade details (SSE real-time progress). 5. Monitor Center → configure rules (strategy / individual stock signals / price / anomalies), real-time popups during trading hours + persistent records. — ## ✨ Core Features ### 🔍 Stock Selection Engine (Screener) 20 built-in strategies, each as a separate Python file, implemented with Polars expression vectorization (backend/app/strategy/builtin/): | Type | Example Strategies | | :––––– | :—————————————————–– | | Trend / Pattern | Trend breakout · Bullish MA alignment · MA golden cross · MACD golden cross with volume · Bollinger band breakout | | Volume / Limit-up | Rising price and volume · High turnover strength · Consecutive limit-up · Gap-fill reversal · Limit-up momentum | | Reversal / Volatility | Oversold bounce · Oversold reversal · New low reversal · Low volatility leader · Retest MA20 | Three ways to extend strategies: | Method | Description | | :–––––––– | :–––––––––––––––––––––––––––––––––––––––––––––––––– | | 🎛️ Custom Signals | No coding needed; combine field + operator + threshold in UI to compile into a hot-loaded Polars expression | | 🤖 AI Generation | Describe logic in one sentence; LLM reads strategy-guide.md to generate a complete strategy file (validated via ast) → saved into data/strategies/ai/ | | 📝 Code Migration | Follow developer guide to rewrite existing strategy as Polars file into data/strategies/custom/; engine auto-discovers | ### 📊 Indicator Pipeline (Indicators) Native Polars vectorization, scanning all A-shares and persisting enriched Parquet: - MA / Trend: MA(5-60) · EMA · MACD · Momentum · Bollinger Bands - Oscillators / Volatility: RSI · KDJ · ATR · Annualized volatility · Amplitude - Volume / Limit-up: Volume ratio · Volume MA · Limit-up signal · Consecutive limit-up count - Atomic signals: MA/MACD golden cross / death cross · N-day high/low · Bollinger breakout - Adjusted prices: Automatic forward adjustment based on ex-rights factor, consistent with backtesting and indicators. ### 🧪 Backtest Engine (Backtest) Based on vectorbt: Three modes (single stock / strategy combination / custom signal combination). Realistic constraints (T+1 · commission · slippage · stop-loss · max holding days). Portfolio management (max positions · exposure · equal-weight / custom position). SSE streaming progress supports page switching and reconnection. Outputs NAV curve · Sharpe ratio · max drawdown · win rate · trade details. ### 📡 Monitor Center (Monitor) Unified rule engine, manage four types of monitoring (strategy · individual stock signal · price movement · market-wide anomalies) on one page: - Multi-condition AND/OR + cooling period dedup + severity levels (info/warn/critical) - Multiple entry points: Create in Monitor Center / Add from stock detail page “Add monitoring” / One-click enable from strategy card - Popup in bottom-right when triggered (configurable sound) + persistent log to alerts.jsonl, unread badge in menu - Trigger record details: Each record shows which specific condition was hit (e.g., RSI>80) and current price, clear visibility into why triggered - Feishu Webhook push: Configure a single global Feishu group bot URL; rules with push enabled send trigger alerts to Feishu (supports signature verification). Default push channel can be set in settings, auto-filled for new rules. ### 📈 Individual Stock Analysis (Beta) A single-stock decision page focused on “price action + key price levels”: - Dedicated daily K chart: Main chart + volume + slider, default last 6 months - 9 types of key price levels (pure functions, real-time computation in milliseconds): Support/resistance · Volume concentration zone · Pivot points · Previous high/low · Keltner channels · ATR stop-loss · Gap levels · Fibonacci · Round numbers - AI four-dimensional analysis: Technical / Fundamental / Financial / News, generated streaming, from a practical trader’s perspective ### 🧰 Data & Extensions - TickFlow multi-source data: Daily K / Minute K / Indices / Financials / Real-time quotes - 🔌 Third-party integration (key feature): Tushare etc. via HTTP timed pull · CSV/Excel upload · JSON write, automatic schema detection + symbol normalization, page-based visual configuration. Data can be combined with your own quantitative project data in DuckDB for joint analysis. - Post-market scheduled pipeline: APScheduler at 15:30 CST automatically pulls daily K + recalculates enriched + runs monitoring. - Token bucket rate limiting: Adapts to each tier’s rpm/batch, batch merging + incremental pull. — ## ⚙️ Configuration All configurations are read from the root .env file (start by copying .env.example). They can also be modified in the panel Settings page. ### Data Source: TickFlow ini TICKFLOW_API_KEY= # Leave blank = None mode (free historical daily K); Fill key = unlock features based on subscription tier Leave blank to enter None mode, uses free-api for historical daily K (current day data available 1-2 hours after market close). Register a free key to enter Free mode, enabling real-time monitoring for watchlist stocks. Real-time quotes by tier: | Tier | Real-time Capability | | :—–– | :————————————— | | Free | Real-time monitoring of top 5 symbols in watchlist (minimum 6-second refresh) | | Starter+ | Full market real-time quotes | | Pro | Minute K + order book | | Expert | WebSocket + financial data | > Full capability matrix at tickflow.org/pricing (https://tickflow.org/pricing/). Higher tiers include all benefits of lower tiers. ### AI (Optional) Used for natural language strategy generation. Leave all AI config blank to skip, core functionality unaffected. Supports any OpenAI-compatible interface: ini AI_PROVIDER=openai_compat # openai_compat | ollama AI_BASE_URL=https://api.deepseek.com/v1 AI_API_KEY= # leave blank = AI disabled AI_MODEL=deepseek-chat AI_DAILY_TOKEN_BUDGET=500000 # daily token budget limit ### Service & Data ini HOST=0.0.0.0 # bind address PORT=3018 # service port LOG_LEVEL=INFO # DEBUG | INFO | WARNING | ERROR DATA_DIR=./data # Parquet / DuckDB data storage directory ### Access Password When setting the access password for the first time in the panel, for security reasons only localhost or intranet access is allowed (to prevent strangers on the public internet from setting a password and locking the panel). There are two ways to set the initial password on a public server: 1. Environment variable preset (recommended) — Fill in AUTH_PASSWORD in .env. On first startup, it will be automatically initialized (hashed and written to auth.json, then no longer read from .env): ini AUTH_PASSWORD=your_password # at least 6 characters; only effective on first startup, does not overwrite if already set 2. SSH port forwarding — Run ssh -L 3018:127.0.0.1:3018 user@server_ip on your local machine, open http://127.0.0.1:3018 in browser to set password. > Detailed steps and password reset instructions in docs/deploy-password.md. After setting the password, change it via the UI (Settings → Change Password). — ## 🏗️ Technology Stack | Layer | Choice | | :———– | :———————————————————————————————— | | Backend | FastAPI · Pydantic v2 · APScheduler · sse-starlette | | Data | Polars (computation) · DuckDB (query) · Parquet (storage) | | Backtesting | vectorbt (the only pandas boundary in the project) | | Data Source | TickFlow (https://tickflow.org/auth/register?ref=V3KDKGXPEA) official SDK; other data sources in subsequent iterations | | AI (optional) | OpenAI-compatible interfaces (DeepSeek / Tongyi / Ollama etc.) | | Frontend | React 18 · Vite · TypeScript · Tailwind · Tanstack Query · Lightweight Charts · ECharts · dnd-kit | | Deployment | Docker two-stage build; frontend dist copied into backend image, single container | — ## 🗺️ Roadmap | Phase | Content | Status | | :—– | :—————————————————————– | :— | | 0-1 | Repo skeleton · FastAPI shell · Capability detection · K-line sync & analysis page | ✅ | | 2-3 | Polars enriched pipeline · Screener · vectorbt backtesting (T+1/commission/stop-loss) | ✅ | | 4-5 | Monitoring engine · Four types of monitoring rules · Real-time SSE push · Persistent logging | ✅ | | 6 | Individual stock analysis (dedicated daily K + 9 key price levels + AI four-dimensional analysis) | ✅ | | v2 | Webhook push (QMT/Juejin order placement) · Sector anomalies · Morning/evening report · More extensions | 🚧 | — ## 📚 Documentation & Contributions - docs/strategy-guide.md — Strategy development guide (AI generation & manual style) - docs/ — Strategy construction steps, examples Issues and PRs welcome. To add a built-in strategy: implement StrategyDef in backend/app/strategy/builtin/ following existing files; engine auto-discovers. — ## ⚠️ Disclaimer This project is for learning and quantitative research only. It does not constitute any investment advice. Backtesting results do not guarantee future returns. A-share market involves risk; invest cautiously. Data accuracy is subject to the official TickFlow data source. ## 📄 License MIT © tickflow-stock-panel contributors · This project relies on TickFlow (https://tickflow.org/auth/register?ref=V3KDKGXPEA) for data services. Please comply with its terms of service before use. ## Community This open-source project is linked to and recognized by the LINUX DO community (https://linux.do).

Similar Articles

@WY_mask: Strongly recommend installing this for anyone wanting to trade US stocks. It has 40k stars on GitHub. An AI large model based intelligent analysis system for A-shares, Hong Kong stocks, and US stocks watchlists. Automatically analyzes daily and pushes decision dashboards, market trend analysis, important news, individual stock tracking, and generates investment analysis reports. https://gith…

X AI KOLs Timeline

Recommending an open-source stock intelligent analysis system based on AI large models. Supports A-shares, Hong Kong stocks, and US stocks. Automatically analyzes daily and pushes decision dashboards. Has 40k stars on GitHub.

@AYi_AInotes: Wow, these two GitHub projects must be recommended together. People doing AI investment research can save months of effort. Someone turned the full free data of A-shares + US and Hong Kong stocks into an AI-native Skill. No need to integrate APIs, no need to handle anti-scraping, almost zero API keys. In Claude, Cursor, Codex…

X AI KOLs Timeline

Recommend two open-source GitHub projects that turn full free data of A-shares and US/Hong Kong stocks into AI-native Skills. You can call market data, research reports, etc. with one sentence in Claude, Cursor, Codex, greatly improving AI investment research efficiency.

ZhuLinsen/daily_stock_analysis

GitHub Trending (daily)

这是一个基于AI大模型的A股/港股/美股智能分析系统,支持每日自动分析并推送决策报告到企业微信、飞书、Telegram等多个平台,并提供Web工作台和多种数据源集成。

@qinbafrank: A Premium AI Investment Research Assistant Worth Trying. In the current era of AI explosion, we frequently use various AI-based investment research tools. Recently, a friend recommended @dappOS_com's buy-side equity research SOP launched via xBubble, which is truly impressive. Just input a stock ticker in one sentence (...

X AI KOLs Timeline

DAPPOS has launched a buy-side equity research SOP through xBubble, allowing users to generate professional reports comparable to institutional buy-side analysts' internal research memos simply by entering a stock ticker, eliminating the need for tedious prompt engineering.

@spicycandy00: Opportunity to buy the dip? Or just the beginning of the decline? "Please stop selling, I need to support my family!" Today I strongly recommend this [AI Stock Master]. It's not some mystical magic tool, but a tool that can truly help you make objective quantitative judgments: RTSI Individual Stock Trend Strength Index — Multi-dimensional quantification of real individual stock trend strength TMA Technical Momentum...

X AI KOLs Timeline

Introducing AI Stock Master, an open-source platform for stock trend analysis based on large language models, integrating core algorithms such as RTSI and MSCI. It supports analysis of A-shares, Hong Kong stocks, and US stocks, aiming to help investors make data-driven rational decisions.