fix(backend): restore calculateRocketScore to fix crash
Build Institutional Trader / build-and-deploy (push) Successful in 2m3s
Details
Build Institutional Trader / build-and-deploy (push) Successful in 2m3s
Details
This commit is contained in:
parent
8677489043
commit
2e2efaf530
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue