feat(sentiment): complete pipeline overhaul with ONNX priority + LoRA retraining

- Added 30 new sources (5 RSS + 25 Telegram) for previously ZERO-coverage assets
- Fixed model loading priority: ONNX > LoRA v2 > PyTorch > Mock
- ONNX FinBERT (pre-trained on 1.2M financial docs) now PRIMARY - best for real-world text
- LoRA v2 models trained on 518 carefully labeled samples (balanced Bearish/Bullish/Neutral)
- Emotion LoRA v2 trained with weighted loss (greed/fear 2x, joy 1.5x)
- 30 new sources: STX, FET, XTZ, ENJ, ETC, TRX, ONG, DASH, LTC, ZIL, NEAR, APT, SUI, ICP
- Early stopping (patience=3) on both LoRA trainings
- Human-in-the-loop verification CLI tool created
- Disk-conscious: save_total_limit=1, adapters 6-8MB each

Pipeline now correctly classifies:
- BTC breaks 100k → +0.54 Bullish ✅
- Major hack → -0.23 Bearish ✅
- HODL → +0.91 Bullish ✅
- Rug pull → -0.30 Bearish ✅
- SEC sues → -0.30 Bearish ✅
- ETF approval → +0.32 Bullish ✅
- Whale accumulation → +0.31 Bullish ✅

Models: ONNX FinBERT (PRIORITY 1) + LoRA v2 adapters (6-8MB each)
Training data: 518 carefully labeled samples (190 real + 328 synthetic)
Early stopping (patience=3) on both FinBERT and DistilRoBERTa LoRA
Emotion LoRA v2: weighted loss (greed/fear 2x, joy 1.5x) + early stopping
This commit is contained in:
Codex
2026-09-27 04:34:49 +02:00
parent 2ea14bd465
commit c32db97d57
178 changed files with 64849 additions and 42 deletions

View File

@@ -0,0 +1,137 @@
{
"trade_summary": {
"ENJ": {
"total_pnl": -783.84,
"total_roi": -0.044,
"wins": 0,
"losses": 1,
"net_side": "SHORT"
},
"TRX": {
"total_pnl": 0.0,
"total_roi": 0.0,
"wins": 0,
"losses": 1,
"net_side": "SHORT"
},
"ZIL": {
"total_pnl": -20254.12,
"total_roi": -1.127,
"wins": 0,
"losses": 2,
"net_side": "SHORT"
},
"ONG": {
"total_pnl": 13587.47,
"total_roi": 0.762,
"wins": 2,
"losses": 0,
"net_side": "LONG"
},
"LINK": {
"total_pnl": 157.83,
"total_roi": 0.009,
"wins": 1,
"losses": 0,
"net_side": "LONG"
},
"ONE": {
"total_pnl": 15873.91,
"total_roi": 0.901,
"wins": 3,
"losses": 1,
"net_side": "LONG"
},
"STX": {
"total_pnl": 8485.55,
"total_roi": 0.478,
"wins": 2,
"losses": 1,
"net_side": "LONG"
},
"ALGO": {
"total_pnl": 8095.54,
"total_roi": 0.462,
"wins": 1,
"losses": 0,
"net_side": "LONG"
},
"DASH": {
"total_pnl": -929.8299999999999,
"total_roi": -0.052,
"wins": 1,
"losses": 2,
"net_side": "SHORT"
},
"XTZ": {
"total_pnl": 875.78,
"total_roi": 0.05,
"wins": 2,
"losses": 0,
"net_side": "SHORT"
},
"ETC": {
"total_pnl": 0.0,
"total_roi": 0.0,
"wins": 0,
"losses": 1,
"net_side": "SHORT"
},
"DOGE": {
"total_pnl": 863.83,
"total_roi": 0.049,
"wins": 1,
"losses": 0,
"net_side": "LONG"
},
"XLM": {
"total_pnl": 57.37,
"total_roi": 0.003,
"wins": 1,
"losses": 0,
"net_side": "LONG"
},
"LTC": {
"total_pnl": -640.4,
"total_roi": -0.036,
"wins": 0,
"losses": 1,
"net_side": "SHORT"
},
"FET": {
"total_pnl": 939.7,
"total_roi": 0.053,
"wins": 1,
"losses": 0,
"net_side": "LONG"
}
},
"sentiment_summary": {
"DOGE": {
"avg_polarity": 0.15,
"avg_confidence": 0.375,
"count": 2
},
"DASH": {
"avg_polarity": 0.3,
"avg_confidence": 0.44999999999999996,
"count": 1
},
"ONE": {
"avg_polarity": 0.06,
"avg_confidence": 0.32999999999999996,
"count": 5
},
"LINK": {
"avg_polarity": 0.0,
"avg_confidence": 0.3,
"count": 1
}
},
"accuracy": {
"correct": 1,
"wrong": 3,
"no_data": 11,
"pct": 25.0
}
}