11 Commits
Author SHA1 Message Date
warren618 6446477988 docs: add CONTRIBUTING.md, issue templates, and contribution roadmap
- CONTRIBUTING.md with dev setup, code standards, and difficulty-tiered roadmap
- GitHub issue templates (bug report + feature request) with YAML forms
- README: add Contributing section with contribution areas table
2026-04-10 16:17:19 +08:00
warren618 10a3027b7a test: add 236 unit tests + CI pytest integration
- 13 test files covering: market detection, loader registry/fallback,
  engine market rules (ChinaA T+1/涨跌停, Crypto funding/liquidation,
  US/HK commission), signal alignment, metrics, optimizer, provider mapping
- CI: fix branch master→main, add pytest step (e2e excluded)
- pyproject.toml: add pytest config + dev dependencies
- .gitignore: expose unit tests, keep e2e local-only
2026-04-10 14:36:11 +08:00
warren618 238ea828b5 feat: multi-provider support (11 providers + Ollama) and performance tuning
- Expand _sync_provider_env() from 4 to 12 providers with independent env keys
- Add provider configs: OpenRouter, OpenAI, DeepSeek, Gemini, Groq, DashScope,
  Zhipu, Moonshot, MiniMax, MIMO, Ollama (local)
- LLM timeout 2400s→120s, retries 5→2 for faster failure recovery
- Decouple all timeout/concurrency params to env vars (9 configurable knobs)
- Update .env.example with all provider blocks and tuning params
- Update README: condensed News, multi-provider prerequisites, env var docs
2026-04-10 13:53:29 +08:00
warren618 9757ccbdc0 fix: harden ml-strategy skill template with input validation, div-by-zero guards, and output contract
Restructured ml-strategy SKILL.md from a skills-creator perspective:
- Added validate_data() input gate (columns, min rows, NaN ratio)
- Guarded RSI/Bollinger Band division-by-zero with .replace(0, nan)
- Added inf→NaN sanitization at end of build_features()
- Added sliding window option (window_type + sliding_size params)
- Added output contract: fillna(0).clip(-1, 1) guarantees clean signals
- Provided complete SignalEngine example so agent can copy-paste safely
- Reduced Common Pitfalls from 7 to 3 (4 now enforced by code)
- Zero changes to backtest engine — all fixes are skill-only
2026-04-10 01:50:04 +08:00
warren618 72d5026a1b feat: data source expansion with auto-fallback + web search + skill categorization
- Add DataLoader Protocol + Registry with market-level fallback chains
- New data sources: AKShare (A-shares/US/HK/futures, free) and CCXT (100+ crypto exchanges)
- Auto-fallback: tushare unavailable -> akshare; OKX unavailable -> CCXT
- Zero-config: all markets work without any API keys
- New web_search tool (DuckDuckGo) for web information retrieval
- Skill categorization: 68 skills organized into 7 categories (data-source, strategy, analysis, asset-class, crypto, flow, tool)
- New data-routing meta-skill for intelligent data source selection
- Registry self-initializes via _ensure_registered() — no manual imports needed
- Pattern detection returns market type instead of source name (decoupled)
- runner.py loads .env via dotenv for reliable token access
2026-04-09 13:43:13 +08:00
warren618 211ddb80b7 feat: Pine Script v6 export for TradingView integration
Add full-stack Pine Script export: backtest strategies can now be
converted to TradingView Pine Script v6 via natural language, CLI,
API, or the web UI.

- New `pine-script` skill with Python-to-Pine mapping table and v6 syntax guide
- CLI: `/pine <run_id>` slash command and `--pine` flag
- API: `GET /runs/{run_id}/pine` endpoint
- Frontend: Pine Script button on RunCompleteCard + modal code viewer with copy
- README: updated news, capabilities, skill count (65), CLI/API docs
2026-04-09 11:31:41 +08:00
warren618 d457cf4a5b feat: multi-market backtest engines with per-market rules
Replace single vectorised daily_portfolio engine with bar-by-bar engines
that enforce real market rules:
- ChinaAEngine: T+1, no shorting, price limits, 100-lot, stamp tax
- CryptoEngine: 24/7, funding fees, liquidation, maker/taker, leverage
- GlobalEquityEngine: US zero-commission + fractional / HK stamp tax + lots

New shared foundation: models.py (Position/TradeRecord/EquitySnapshot),
metrics.py (extracted from daily_portfolio), base.py (BaseEngine ABC).
Runner routes by source to the correct engine automatically.
2026-04-09 01:17:28 +08:00
warren618 5531de7bf1 docs: add News section to README
Record initial release date (2026-04-01) and project milestones.
2026-04-08 23:47:30 +08:00
chaohuang-ai 1cbe5eedea Update README.md 2026-04-01 23:32:07 +08:00
warren618 95ba197591 fix: update video links 2026-04-01 19:08:21 +08:00
warren618 34eae37ba4 Initial commit 2026-04-01 18:14:49 +08:00