Install
openclaw skills install qc-deep-feature-forensics12-dimensional technical feature attribution engine — compares winner vs loser trade entry conditions using RSI, Bollinger, MACD, volume surge, gap, and more to find what makes winning entries different.
openclaw skills install qc-deep-feature-forensicsGo beyond P&L analysis. This skill answers: "What market microstructure conditions were present when winning trades were entered vs losing trades?"
qc-order-forensics for high-level diagnosis, use this for deep-divepython3 deep_forensics.py <orders.csv>
| Factor | Description | Format |
|---|---|---|
gap_pct | Gap open % vs previous close | % |
volume_surge | Volume / 10-day average volume | x |
ma5_deviation | (Close - MA5) / MA5 | % |
ma20_deviation | (Close - MA20) / MA20 | % |
volatility_expansion | Intraday range / 5-day ATR | x |
intraday_return | (Close - Open) / Open | % |
rsi_14 | RSI(14) | 0-100 |
bb_position | Position in Bollinger Band (0=lower, 1=upper) | 0-1 |
macd_hist_norm | MACD histogram / Close | ratio |
consecutive_up_days | Count of consecutive up-close days | days |
distance_from_20d_high | (Close - 20d High) / 20d High | % |
prev_day_return | Previous day's return | % |
Table showing each factor's mean for winning vs losing trades, the delta, and a diagnostic interpretation. Example:
| Gap Open % | +3.2% | +1.1% | +2.1% | Winners enter on stronger gaps |
| Volume Surge | 2.8x | 1.4x | +1.4x | Volume confirmation helps |
Simulates applying each filter rule to the full trade set and measures:
Filters tested include: gap > 2%, volume > 2x, below MA20, RSI > 70, BB > 0.95, consecutive up > 3, near 20d high, negative intraday return.
Combined filter: Stacks all "Shield" filters and reports the combined effect.
Statistical percentile ranges (25th-75th) for each factor among winning trades. Defines the "ideal entry environment" envelope.
<name>_features.csv — Full feature matrix for all tradesfeature_diagnosis.md — Complete markdown reportYFinance data is cached per-ticker in yfinance_cache/ alongside the orders CSV. Subsequent runs on the same data skip downloads entirely.
pip3 install pandas numpy yfinance
yfinance_cache/ manually. The cache uses date-range coverage checks. Corrupted cache files will cause silent data gaps in indicator calculations.