research(wave-0822): VOL-SIZE e' un LEAD — e un overlay giornaliero su equity a gradino e' look-ahead che nessun causality check vede
This commit is contained in:
@@ -52,7 +52,8 @@ MIN_ORDER_ASSUNTO = 5.0 # [D] pavimento DERIBIT usato da eval_weights_small
|
||||
MIN_ORDER_HL = 10.0 # [C] "Order must have minimum value of $10." (docs/error-responses)
|
||||
FEE_LEG_MODELLO = 0.0005 # [D] 0.05%/gamba, config CONGELATA di XSR01
|
||||
XSR_SOGLIA_HAIRCUT = 0.40 # [D] soglia pre-registrata del gate 2026-10-23
|
||||
CAPITALI = (600.0, 1000.0, 2000.0, 3000.0, 5000.0, 10000.0, 20000.0, 50000.0)
|
||||
CAPITALI = (600.0, 1000.0, 1500.0, 2000.0, 3000.0, 4000.0, 5000.0, 7500.0,
|
||||
10000.0, 20000.0, 50000.0)
|
||||
TICKETS = (50.0, 100.0, 300.0)
|
||||
ANN = np.sqrt(365.0)
|
||||
|
||||
@@ -273,9 +274,10 @@ def sim_libro(Weff: np.ndarray, R: np.ndarray, r_hedge: np.ndarray | None, cap0:
|
||||
zero = move & (lots < 1)
|
||||
n_lot0 += int(zero.sum())
|
||||
move = move & (lots >= 1)
|
||||
need = np.abs(w_t - w) > 1e-12 # una gamba gia' a posto NON e' un ordine saltato
|
||||
w_new = np.where(move, w_t, w)
|
||||
n_fill += int(move.sum())
|
||||
n_skip += int((~move).sum())
|
||||
n_fill += int((move & need).sum())
|
||||
n_skip += int(((~move) & need).sum())
|
||||
d = np.abs(w_new - w)
|
||||
c = float((d * fee).sum()) if fee is not None else float(fee_leg) * float(d.sum())
|
||||
if r_hedge is not None: # la gamba di copertura paga anch'essa
|
||||
|
||||
Reference in New Issue
Block a user