fix(backend): restore calculateRocketScore to fix crash
Build Institutional Trader / build-and-deploy (push) Successful in 2m3s Details

This commit is contained in:
Deep Koluguri 2026-06-25 19:40:16 -04:00
parent 8677489043
commit 2e2efaf530
1 changed files with 36 additions and 0 deletions

View File

@ -191,3 +191,39 @@ export function scoreSuitability({ quote, technicals, fundamentals, regime, data
},
};
}
export function calculateRocketScore(row) {
let score = 0;
// Premium tier (0-3 points)
if (row.premium_num >= 2000000) score += 3.0;
else if (row.premium_num >= 800000) score += 2.0;
else if (row.premium_num >= 200000) score += 1.0;
// Net premium imbalance (-1.5 to +1.5 points)
const totalPrem = row.bull_total + row.bear_total;
if (totalPrem > 0) {
score += 1.5 * ((row.bull_total - row.bear_total) / totalPrem);
}
// Vol > OI (1.2 points)
if (row.vol_num > row.oi_num) score += 1.2;
// Session weight (0-1 point)
const sessionWeights = { RTH: 1.0, POST: 0.5, PRE: 0.3, OFF: 0 };
score += sessionWeights[row.session_bucket] || 0;
// Catalyst flag (1 point)
if (row.near_alert_type) score += 1.0;
// OTM bias (0.8 points)
const isOTM =
(row.cp_norm === 'CALL' && row.strike_num > row.spot_num) ||
(row.cp_norm === 'PUT' && row.strike_num < row.spot_num);
if (isOTM) score += 0.8;
// Tape alignment (0.5 points)
if (row.tape_alignment === 1) score += 0.5;
return parseFloat(score.toFixed(2));
}