feat: Unraid deploy, dealer-flow heatmap, confluence zones, 13F capture
Ship Node production images, Unraid compose, and Gitea CI/CD (test then push registry images; cron script if no runner). Rebuild dealer flow as a heatmap-first map with integrity gates and chart helpers. Add confluence zone rules, session clock, capture evidence, and tighter 13F/queue/options paths, plus the matching UI and tests.
This commit is contained in:
@@ -3,6 +3,7 @@ import { strict as assert } from 'node:assert';
|
||||
import {
|
||||
buildDealerMap,
|
||||
contractGex,
|
||||
contractVex,
|
||||
isDegradedDealerMap,
|
||||
isHealthyDealerMap,
|
||||
isSaneIv,
|
||||
@@ -50,6 +51,13 @@ test('contractGex: call positive, put negative', () => {
|
||||
assert.equal(call, -put);
|
||||
});
|
||||
|
||||
test('contractVex uses the same S² notional as GEX', () => {
|
||||
const gex = contractGex(0.02, 1000, 44, 'call');
|
||||
const vex = contractVex(0.02, 1000, 44, 'call');
|
||||
assert.equal(vex, gex);
|
||||
assert.equal(contractVex(0.02, 1000, 44, 'put'), -vex);
|
||||
});
|
||||
|
||||
test('buildDealerMap: expiries sorted nearest-left and capped', () => {
|
||||
const rows: NormalizedOptionRow[] = [];
|
||||
for (const exp of ['2026-08-08', '2026-08-15', '2026-08-22', '2026-09-19', '2026-10-17', '2026-11-21', '2026-12-19', '2027-01-16']) {
|
||||
|
||||
Reference in New Issue
Block a user