Vai al contenuto
Tutte le strategie

Strategie

BTC Rimbalzo su un muro di liquidità passiva, long-short (strategia a singolo strumento BINANCE USD-M perp, ORDER-BOOK DELTAS — una primitiva di microstruttura profonda non ancora testata in questa sessione — rilevare un grande muro di ordini limite PERSISTENT/in fase di ricarica (iceberg) e tradare il rimbalzo quando il prezzo lo testa: long da un muro bid, short da un muro ask, rottura del muro = stop, mantenimento rapido, 3-parametro)

Esito: Abbandonato

BtcRestingLiquidityWallBounceLS

Lo sviluppatore ha dichiarato onestamente la lacuna nei dati e la correzione del crash; ha davvero provato una primitiva nuova

Ipotesi

Una strategia LONG-SHORT MICROSTRUCTURE a singolo strumento su BTCUSDT.BINANCE (perpetuo USD-M), che usa la ONE primitiva di dati approfonditi non ancora testata in questa sessione — ORDER-BOOK DELTAS (liquidità degli ordini limite in attesa) — distinta da tutti i tentativi precedenti basati sul prezzo (OHLCV, inefficace), sul flusso degli ordini aggressivi (aggTrades: la mia idea di assorbimento è stata resa non redditizia dalle commissioni a −0.02%/trade, mentre le varianti sweep/breakout sono in sospeso), sul……Mostra altroMostra meno

Una strategia LONG-SHORT MICROSTRUCTURE a singolo strumento su BTCUSDT.BINANCE (perpetuo USD-M), che usa la ONE primitiva di dati approfonditi non ancora testata in questa sessione — ORDER-BOOK DELTAS (liquidità degli ordini limite in attesa) — distinta da tutti i tentativi precedenti basati sul prezzo (OHLCV, inefficace), sul flusso degli ordini aggressivi (aggTrades: la mia idea di assorbimento è stata resa non redditizia dalle commissioni a −0.02%/trade, mentre le varianti sweep/breakout sono in sospeso), sul funding (in calo) o sulla base (in sospeso). Rispetta i vincoli rimanenti: L30 (puro-OHLCV = 0/213 → il segnale dipende dalla struttura RESTING-LIQUIDITY, una vera dipendenza da fattori diversi dal prezzo), L29 (senza opzioni), L28 (senza carry da funding). Meccanismo: grandi ordini limite PASSIVE che restano o si REFILL ripetutamente a un livello (iceberg / muri di liquidità) indicano dove un grande operatore difende un prezzo; quando il prezzo testa un simile muro, tende a BOUNCE (il muro assorbe l'aggressore) finché non viene consumato. Rileva un muro tramite i delta del book degli ordini: una quantità in attesa a un livello pari ad almeno wall_k × la profondità tipica del book AND persiste o viene reintegrata per almeno persist_n aggiornamenti del book; poi opera sul rimbalzo: il prezzo testa dall'alto un muro BID → LONG; testa dal basso un muro ASK → SHORT. Il livello del muro stesso è lo stop: se il muro viene CONSUMED (i delta mostrano che è stato consumato e il prezzo lo supera), la tesi è errata → esci subito, con un'invalidazione strutturale stretta e un rapporto rendimento:rischio positivo. Si sceglie BTC per il book degli ordini più profondo e popolato (segnale dei muri più ricco e pulito) e l'esecuzione più rapida. Singolo strumento, LONG-SHORT (colma lo squilibrio long di 85%), mantenimento intraday breve. 3 parametri fondamentali (moltiplicatore della dimensione del muro, numero di persistenze, obiettivo del rimbalzo). NOTE: è una verifica EXPLORATORY di una primitiva di dati davvero nuova; lo spazio di progettazione praticabile per i meccanismi convenzionali è empiricamente esaurito in questa sessione.

L'iterazione 2 corregge una sola causa di crash e nient'altro. Il sandbox si è interrotto con "'float' object is not callable" perché il livello di stop dell'operazione era memorizzato in self._stop, che nasconde Strategy._stop — l'hook di teardown del componente Cython che il motore invoca quando arresta la strategia. Ho verificato sul motore installato (nautilus_trader 1.222.0) che Strategy._stop è un metodo reale e che nessun altro attributo assegnato da questa classe entra in conflitto con un attributo……Mostra altroMostra meno

L'iterazione 2 corregge una sola causa di crash e nient'altro. Il sandbox si è interrotto con "'float' object is not callable" perché il livello di stop dell'operazione era memorizzato in self._stop, che nasconde Strategy._stop — l'hook di teardown del componente Cython che il motore invoca quando arresta la strategia. Ho verificato sul motore installato (nautilus_trader 1.222.0) che Strategy._stop è un metodo reale e che nessun altro attributo assegnato da questa classe entra in conflitto con un attributo callable della classe base. L'attributo viene rinominato in self._stop_px (e il suo omologo in _target_px per simmetria, sebbene _target non sia in conflitto), modificando solo i sei punti di assegnazione/lettura. Il segnale di rilevamento dei muri, le condizioni di ingresso, le regole di uscita (stop / target / stop temporale), il dimensionamento e tutti i parametri restano altrimenti identici byte per byte, così i livelli precedenti che erano già stati superati continuano a esserlo. La dichiarazione trasparente nella docstring sull'inutilizzabilità in-sample del catalogo order_book_deltas viene mantenuta invariata.

Collasso catastrofico dovuto a un meccanismo privo di dati: non vale 2 ore di ottimizzazione. Il conto LIQUIDATED su 2020-01-29, a circa sei settimane dall’inizio di un backtest di sei anni (total_return -100%, max_drawdown 100%, una giornata -1376% su 2020-01-28, return_skew -18.5, curtosi 377); ogni rendimento giornaliero successivo è 0.0. È una catastrofe da commissioni per eccesso di trading in 1m: profit_factor 0.062, avg_trade_return_pct 0.0025% (praticamente zero), commissioni pari a 482.8% del lordo (le……Mostra altroMostra meno

Collasso catastrofico dovuto a un meccanismo privo di dati: non vale 2 ore di ottimizzazione. Il conto LIQUIDATED su 2020-01-29, a circa sei settimane dall’inizio di un backtest di sei anni (total_return -100%, max_drawdown 100%, una giornata -1376% su 2020-01-28, return_skew -18.5, curtosi 377); ogni rendimento giornaliero successivo è 0.0. È una catastrofe da commissioni per eccesso di trading in 1m: profit_factor 0.062, avg_trade_return_pct 0.0025% (praticamente zero), commissioni pari a 482.8% del lordo (le commissioni assorbono ~5x di tutto il profitto lordo), valore atteso -$25.3/trade su 12,735 trade, con rapporto rendimento:rischio invertito in modo catastrofico (avg_win $4.17 contro avg_loss $44.76). Punto cruciale: la primitiva ipotizzata — i delta del book degli ordini — non esiste nel catalogo (1-2 snapshot quasi istantanei, zero trade nelle iterazioni 1-3); lo sviluppatore ha quindi sostituito il meccanismo con un proxy basato sul tocco di un livello di prezzo a barre, un meccanismo diverso e inefficace: un generico rimbalzo su supporto/resistenza a 1m, nella categoria L30, cimitero del puro OHLCV (0/213). Di conseguenza, il test non valuta né il vantaggio dichiarato né un meccanismo valido. Nessuna modifica dei parametri può salvare una strategia liquidata nel primo mese; la famiglia dei delta del book degli ordini non è testabile finché un'attività di ingegneria dei dati non fornisce un book dei delta reale che copra un anno. Schema del fallimento: risk_reject/fee_edge liquidati, disallineamento tra meccanismo e percorso dati inesistente (L30).

Implementazione

Strategia long-short di microstruttura a singolo strumento su perp BTCUSDT.BINANCE USD-M (barre da 1 minuti). Un muro di liquidità passiva è identificato come un livello di prezzo che è stato ripetutamente DEFENDED: l’estremo di un lookback di 120 barre che gli estremi delle barre hanno toccato almeno persist_n volte entro una banda del wall_k%, cioè un livello in cui un grande partecipante passivo continua a reintegrare gli ordini. Quando il prezzo testa dall’alto un muro di supporto difeso (entro touch_pct), si entra LONG sul rimbalzo; se testa dal basso un muro di resistenza difeso, si entra SHORT. Il muro stesso è il livello di invalidazione strutturale: una rottura oltre il muro di break_buf_pct comporta l’uscita immediata, con uno stop stretto rispetto a un target di bounce_pct e un mantenimento massimo di 60 minuti. Niente leva, singolo strumento, long e short.

Risultati di verifica

Verifica non riuscita (livello 3 — backtest sandbox): 'float' object is not callable Tipo di barra utilizzato: BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL, barre elaborate: 0 Assicurati che la tua strategia generi operazioni con i dati e i parametri forniti.

Revisione Backtest

Sharpe
-3,27
Rendimento totale
-100,00%
Drawdown massimo
100,00%
Operazioni totali
12735
Tasso di successo
39,9%
Profit Factor
0,06

Lo sviluppatore ha dichiarato onestamente la lacuna nei dati e la correzione del crash; ha davvero provato una primitiva nuova

Conto LIQUIDATED 2020-01-29 (circa 6 settimane dall'inizio): total_return -100%, max_drawdown 100%, Sharpe -3.27 (CI [-8.57,-2.72]), PSR 0.0

Catastrofe delle commissioni: PF 0.062, avg_trade_return_pct 0.0025%, commissioni pari a 482.8% del lordo, valore atteso -$25.3/operazione su 12,735 operazioni

RR invertito in modo catastrofico (avg_win $4.17 contro avg_loss $44.76); return_skew -18.5, curtosi 377 (un giorno -1376%)

La premessa dei delta del book degli ordini non ha dati; il proxy è un generico rimbalzo S/R a 1m — classificato L30 nel cimitero del puro OHLCV; non testa né il vantaggio dichiarato né un meccanismo valido

Cronologia iterazioni

Verifica non riuscita (livello 3 — backtest sandbox): nessuna operazione generata Tipo di barra utilizzato: BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL, barre elaborate: 524223 Diagnostica: should_enter() ha restituito un lato 0 volte su 524222 barre valutate -> il tuo ENTRY CONDITION non si è mai attivato. Allenta la logica di ingresso / le soglie. Assicurati che la tua strategia generi operazioni con i dati e i parametri forniti.

Verifica non riuscita (livello 3 — backtest sandbox): nessuna operazione generata Tipo di barra utilizzato: BTCUSDT.BINANCE-1-MINUTE-LAST-EXTERNAL, barre elaborate: 524198 Diagnostica: should_enter() ha restituito un lato 0 volte su 524197 barre valutate -> il tuo ENTRY CONDITION non si è mai attivato. Allenta la logica di ingresso / le soglie. Assicurati che la tua strategia generi operazioni con i dati e i parametri forniti.

Stratmill è uno strumento di ricerca e paper trading, non una consulenza finanziaria né un broker. I risultati di backtest e paper trading sono ipotetici. Il trading comporta un rischio di perdita.