CSV=/opt/PolymarketBTC15mAssistant/logs/signals.csv echo "=== File info ===" wc -l $CSV ls -la $CSV echo "" echo "=== Time span ===" head -2 $CSV | tail -1 | awk -F, '{print "first:", $1}' tail -1 $CSV | awk -F, '{print "last :", $1}' echo "" echo "=== Recommendation breakdown ===" awk -F, 'NR>1{print $12}' $CSV | sort | uniq -c | sort -rn echo "" echo "=== Max edges seen ===" awk -F, 'NR>1 && $10+0 > maxu {maxu=$10+0} END{printf "max edge_up: %.4f\n", maxu}' $CSV awk -F, 'NR>1 && $11+0 > maxd {maxd=$11+0} END{printf "max edge_down: %.4f\n", maxd}' $CSV echo "" echo "=== Phase distribution ===" awk -F, 'NR>1{ t=$3+0; if (t >= 10) p="EARLY"; else if (t >= 5) p="MID"; else p="LATE"; print p }' $CSV | sort | uniq -c echo "" echo "=== Max model_up/down at each phase ===" awk -F, 'NR>1{ mu=$6+0; md=$7+0; t=$3+0; if (t >= 10) p="EARLY"; else if (t >= 5) p="MID"; else p="LATE"; if (mu > m[p"_u"]) m[p"_u"]=mu; if (md > m[p"_d"]) m[p"_d"]=md; } END{for (k in m) printf " %-6s model_up=%.3f model_down=%.3f\n", k, m[k], 1-m[k]}' $CSV echo "" echo "=== TREND_UP rows: would-be ENTER breakdown ===" awk -F, 'NR>1 && $4 == "TREND_UP" && $10+0 > 0{ e=$10+0; mu=$6+0; if (e >= 0.05 && mu >= 0.55) bucket="BOTH met (would ENTER)"; else if (e >= 0.05) bucket="edge ok, model low"; else if (mu >= 0.55) bucket="model ok, edge low"; else bucket="both low"; cnt[bucket]++ } END{for (k in cnt) printf " %-30s %d\n", k, cnt[k]}' $CSV echo "" echo "=== TREND_DOWN rows ===" awk -F, 'NR>1 && $4 == "TREND_DOWN" && $11+0 > 0{ e=$11+0; md=$7+0; if (e >= 0.05 && md >= 0.55) bucket="BOTH met (would ENTER)"; else if (e >= 0.05) bucket="edge ok, model low"; else if (md >= 0.55) bucket="model ok, edge low"; else bucket="both low"; cnt[bucket]++ } END{for (k in cnt) printf " %-30s %d\n", k, cnt[k]}' $CSV echo "" echo "=== Recent 5 rows ===" tail -5 $CSV echo "" echo "=== PM2 errors (last 20 each) ===" echo "--- watcher ---" tail -20 /opt/PolymarketBTC15mAssistant/logs/pm2-watcher.err.log 2>/dev/null echo "--- bot ---" tail -20 /opt/PolymarketBTC15mAssistant/logs/pm2-bot.err.log 2>/dev/null