FinRL 强化环境 (finrl-meta-envs)
提供多市场金融强化学习环境,支持PPO/DQN等DRL算法回测、Markowitz组合优化与实时模拟交易,适配Alpaca等券商接口。
Pipeline
data_collection -> data_storage -> factor_computation -> target_selection -> trading_execution -> visualization
Top Use Cases (9 total)
Automated Paper Trading with PPO Agent (UC-101)
Execute simulated paper trades in real-time using a trained PPO reinforcement learning agent connected to Alpaca brokerage API, enabling risk-free str
Triggers: paper trading, PPO agent, Alpaca
Alpaca Paper Trading Demo with PPO (UC-104)
Demonstrate live paper trading execution using a PPO neural network agent connected to Alpaca's paper trading API, enabling real-time trade simulation
Triggers: paper trading, Alpaca demo, PPO
Markowitz Mean-Variance Portfolio Optimization (UC-102)
Optimize portfolio allocation across multiple assets using Markowitz mean-variance optimization to maximize risk-adjusted returns, balancing expected
Triggers: portfolio optimization, Markowitz, mean-variance
For all 9 use cases, see references/USE_CASES.md.
Execute trigger: When user intent matches intent_router.uc_entries[].positive_terms AND user uses action verb (run/execute/跑/执行/backtest/fetch/collect)
What I'll Ask You
- Target market: A-share (default), HK, or crypto? (US stocks in ZVT are half-baked — stockus_nasdaq_AAPL exists but coverage is thin)
- Data source / provider: eastmoney (free, no account), joinquant (account+paid), baostock (free, good history), akshare, or qmt (broker)?
- Strategy type: MACD golden-cross, MA crossover, volume breakout, fundamental screen, or custom factor?
- Time range: start_timestamp and end_timestamp for backtest period
- Target entity IDs: specific stocks (stock_sh_600000) or index components (SZ1000)?
Semantic Locks (Fatal)
| ID | Rule | On Violation |
|---|
SL-01 | Execute sell orders before buy orders in every trading cycle | halt |
SL-02 | Trading signals MUST use next-bar execution (no look-ahead) | halt |
SL-03 | Entity IDs MUST follow format entity_type_exchange_code | halt |
SL-04 | DataFrame index MUST be MultiIndex (entity_id, timestamp) | halt |
SL-05 | TradingSignal MUST have EXACTLY ONE of: position_pct, order_money, order_amount | halt |
SL-06 | filter_result column semantics: True=BUY, False=SELL, None/NaN=NO ACTION | halt |
SL-07 | Transformer MUST run BEFORE Accumulator in factor pipeline | halt |
SL-08 | MACD parameters locked: fast=12, slow=26, signal=9 | halt |
Full lock definitions: references/LOCKS.md
Top Anti-Patterns (25 total)
AP-ZVT-183: 除权因子为 inf/NaN 时直接参与乘法导致复权静默失败
AP-ZVT-179: 第三方数据接口超限后异常被吞噬,数据静默缺失
AP-ZVT-183B: HFQ(后复权)与 QFQ(前复权)K 线表使用错误导致因子计算漂移
All 25 anti-patterns: references/ANTI_PATTERNS.md
Evidence Quality Notice
[QUALITY NOTICE] This crystal was compiled from blueprint finance-bp-116. Evidence verify ratio = 23.2% and audit fail total = 8. Generated results may have uncaptured requirement gaps. Verify critical decisions against source files (LATEST.yaml / LATEST.jsonl).
Reference Files
Compiled by Doramagic crystal-compilation-v6.1 from finance-bp-116 blueprint at 2026-04-22T13:00:56.369548+00:00.
See human_summary.md for non-technical overview.