BtcTakerFlowExhaustionReversalLS1H
Υποθέσεις
BTC Αντιστροφή λόγω εξάντλησης της ροής taker, Long-Short (Ένα μόνο μέσο, διαρκές συμβόλαιο BINANCE USD-M, μπάρες 1 ωρών, συναλλαγές ενάντια στην ακραία ανισορροπία επιθετικών εντολών — Short στις αγορές FOMO τελικού σταδίου / Αγορά στις πωλήσεις πανικού — Με φίλτρο καθεστώτος πλευρικής κίνησης, νέο σήμα αναλογίας taker, 3 παράμετροι)
Υποθέσεις
Μια στρατηγική LONG-SHORT επαναφοράς στον μέσο όρο σε ένα μόνο μέσο, το BTCUSDT.BINANCE (διαρκές συμβόλαιο USD-M, μπάρες 1 ωρών), που καθοδηγείται από ORDER FLOW, όχι από την τιμή — μια είσοδος σήματος που δεν χρησιμοποιείται από καμία στρατηγική σε λειτουργία. Σε κάθε μπάρα υπολογίζει την ανισορροπία επιθετικών αγορών/πωλήσεων taker (ποσοστό όγκου αγορών taker) από τα συμπληρωματικά δεδομένα αναλογίας taker των συμβολαίων μελλοντικής εκπλήρωσης της Binance (εναλλακτικά: trade_ticks ταξινομημένο βάσει της επιθετικής πλευράς), εξομαλυμένη σε ένα σύντομο παράθυρο. Υπόθεση: όταν οι επιθετικές αγορές γίνονται ακραίες και επίμονες (π.χ. ποσοστό αγορών taker ≥ 0.68 στο παράθυρο εξομάλυνσης), ο οριακός αγοραστής με εντολή αγοράς στην τρέχουσα τιμή βρίσκεται σε τελικό στάδιο FOMO / αναγκαστικής κάλυψης θέσεων, χωρίς νέα ζήτηση μέσω οριακών εντολών πίσω του — εξάντληση της επιθετικής πλευράς που προηγείται αξιόπιστα μιας βραχυπρόθεσμης υποχώρησης, οπότε FADE αυτήν SHORT. Συμμετρικά, η ακραία και επίμονη επιθετικότητα taker-SELL (ποσοστό ≤ 0.32) είναι πωλήσεις πανικού/συνθηκολόγησης με εντολές στην τρέχουσα τιμή, καθώς οι προσφορές αραιώνουν — ανοίξτε θέση LONG. Πρόκειται σκόπιμα για μια οικογένεια DIFFERENT σε σχέση με όλα όσα αποτυγχάνουν σε αυτό το εργοστάσιο: είναι NOT ακολούθηση τάσης (το νεκροταφείο ενός μόνο καθεστώτος με 209 αποτυχίες — κινείται αντίθετα στη ροή και κατανέμεται σε διαφορετικά καθεστώτα, αποδίδοντας σε κάθε κατεύθυνση όπου η ροή υπερεκτείνεται), NOT carry χρηματοδότησης (η κορεσμένη οικογένεια καλαθιών που αποτυγχάνει λόγω προμηθειών — το πλεονέκτημά της είναι μια κίνηση αντιστροφής 0.4–0.6%, όχι μια ταμειακή ροή μικρότερη της μίας μονάδας βάσης), NOT ένα καλάθι N σκελών (αφορά ένα μόνο μέσο, με 2 εκτελέσεις ανά πλήρη κύκλο ανοίγματος/κλεισίματος θέσης, οπότε παρακάμπτει το εμπόδιο προμηθειών 2N×10 μονάδων βάσης του L12), και NOT δικαιώματα προαίρεσης (χωρίς εμπόδιο πλήθους συναλλαγών — τα γεγονότα ακραίας ροής ενεργοποιούνται δεκάδες φορές τον χρόνο, παράγοντας εκατοντάδες συναλλαγές για αξιόπιστη μέτρηση του πλεονεκτήματος). Περιορίζεται μέσω φίλτρου σε καθεστώτα NON-TRENDING (συναλλαγές ενάντια στη ροή μόνο όταν ένα αργό φίλτρο τάσης δείχνει επίπεδη/πλευρική κίνηση), ώστε να αποφεύγεται ο ένας πραγματικός τρόπος αποτυχίας — η ακραία ροή που αποτελεί συνέχεια INFORMED αντί για εξάντληση. Οι 3 λίγες παράμετροι (παράθυρο εξομάλυνσης ροής, κατώφλι ανισορροπίας, έξοδος) διατηρούν την ανθεκτικότητά της στην υπερπροσαρμογή.
Υποθέσεις
Η επανάληψη 3 αντιμετωπίζει τη μοναδική αποτυχία QA του Επιπέδου -4: την έλλειψη συναλλαγών (6 συναλλαγές/363 ημέρες) λόγω ενός υπερβολικά αυστηρού σύνθετου φίλτρου. Καμία αλλαγή στον μηχανισμό, στις εισαγωγές κώδικα ή στη λογική του σήματος (αυτά πέρασαν τα Επίπεδα 1-3)· χαλαρώνουν μόνο οι τρεις περιορισμοί εισόδου/εξόδου, ώστε η στρατηγική να υπερβεί το ελάχιστο όριο μετρησιμότητας των ~100 συναλλαγών. Η αλλαγή entry_z 1.2->0.8 ενεργοποιεί συναλλαγές σε περισσότερες ακραίες τιμές ροής, παραμένοντας πέρα από τον θόρυβο και πάνω από το κόστος taker 0.10% για έναν πλήρη κύκλο ανοίγματος/κλεισίματος θέσης (η αντιστροφή στην οποία βασίζεται η υπόθεση είναι 0.4-0.6%). Η αλλαγή regime_threshold 0.55->0.65 επιτρέπει περισσότερες μπάρες πλευρικής κίνησης, ώστε η σύζευξη πλευρικής κίνησης-AND-ακραίου z να πάψει να επιτείνει τη σπανιότητα, εξακολουθώντας να αποκλείει τις ισχυρές τάσεις (ο τρόπος αποτυχίας της συνέχισης που καθοδηγείται από πληροφορημένους συναλλασσόμενους). Οι αλλαγές exit_z 0.3->0.25 και max_hold_bars 24->10 επιταχύνουν την εναλλαγή θέσεων, επαναφέροντας τη στρατηγική νωρίτερα σε κατάσταση χωρίς ανοιχτή θέση και πολλαπλασιάζοντας τον αριθμό των παραθύρων εισόδου ανά έτος. Το σήμα κυλιόμενου z που είναι ανεξάρτητο της κλίμακας (L5) και ο σχεδιασμός που κινείται αντίθετα στη ροή, κατανέμεται σε διαφορετικά καθεστώτα και αφορά ένα μόνο μέσο, τα οποία το διαφοροποιούν από το νεκροταφείο στρατηγικών τάσης/carry/καλαθιών/δικαιωμάτων προαίρεσης, παραμένουν αμετάβλητα.
Υποθέσεις
Fade εξάντλησης taker-flow σε single-perp με αρνητική προσδοκία, χωρίς edge και με συμπληρωματικό data wall (L73/L55). profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), προσδοκία -$62.6/trade, avg_trade_return_pct 0.0146% (~μηδενικό, καθαρός χαμένος)· avg_loss > avg_win με win_rate 0.447, επομένως το fade βρίσκεται στη λάθος πλευρά του flow. Κρίσιμα, παρά τις 58,512 μπάρες σε διάστημα 2019-2026, ALL 85 trades και 100% των αποδόσεων συγκεντρώνονται σε ένα μόνο παράθυρο ~6 μηνός 2026, επειδή το taker_ratio supplementary feed καλύπτει μόνο ένα πρόσφατο τμήμα — annual_returns={2026:-5.32}, μηνιαία 2026-03..08 — επομένως δεν μπορεί να κατασκευαστεί walk-forward 3-window μαζί με 20% holdout. Αυτή είναι η ίδια order-flow-gated single-perp υπογραφή που έχει ήδη εγκαταλειφθεί τρεις φορές σε αυτό το batch (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout). Καμία ρύθμιση παραμέτρων δεν μετατρέπει ένα αρνητικό edge ανά trade σε θετικό, και ο optimizer δεν μπορεί να αγοράσει την ημερολογιακή κάλυψη που λείπει από το feed. Δεν αξίζει 2 ώρες βελτιστοποίησης. Μοτίβο αποτυχίας: fee_edge/no_edge single-perp order-flow-gated fade με πρόσφατο-only supplementary window.
Υλοποίηση
Στρατηγική long-short επαναφοράς στον μέσο όρο βάσει ροής εντολών στο διαρκές συμβόλαιο BTCUSDT.BINANCE USD-M (μπάρες 1 ωρών). Υπολογίζει ένα κυλιόμενο z-score του εξομαλυμένου ποσοστού επιθετικών αγορών taker από τα συμπληρωματικά δεδομένα taker_ratio της Binance· συναλλάσσεται ενάντια στις ακραίες και επίμονες επιθετικές αγορές SHORT (εξάντληση FOMO τελικού σταδίου) και στις ακραίες επιθετικές πωλήσεις LONG (συνθηκολόγηση λόγω πανικού), μόνο σε καθεστώς πλευρικής κίνησης (χαμηλός δείκτης αποδοτικότητας Kaufman). Κλείνει τη θέση όταν ομαλοποιείται η ροή, ενεργοποιείται ένα αυστηρό όριο διακοπής ζημιών 1% ή συμπληρώνεται ένα χρονικό όριο. Ένα μόνο μέσο, μόχλευση 1.0, 3 βασικές ρυθμιζόμενες παράμετροι.
Αποτελέσματα Επαλήθευσης
CLEAN RESTART 2026-09-04 — το ιστορικό verdict και οι καταγραφές μάθησης αυτής της εκτέλεσης αφαιρέθηκαν και επανεκκινήθηκε από την επαλήθευση. Η προηγούμενη εγκατάλειψή του προήλθε από το pipeline, όχι από την αγορά: το harness Layer-2 έκανε λανθασμένη σύνδεση των βοηθητικών @staticmethod (διορθώθηκε), το QA εξέδιδε οριστικά verdict απόδοσης σε smoke test χωρίς βελτιστοποίηση (αφαιρέθηκε — το QA αξιολογεί πλέον μόνο την ορθότητα), και τα timeouts του sandbox οφείλονταν σε εξάντληση των backtest slots (διορθώθηκε). Η υπόθεση και ο κώδικας της στρατηγικής παραμένουν αμετάβλητα. Επαληθεύστε τον κώδικα βάσει των δικών του στοιχείων· η απόδοση θα κριθεί αργότερα από το πλήρες backtest και τον optimizer.
Αποτελέσματα Επαλήθευσης
Μειώστε την προεπιλεγμένη τιμή του taker_lag_seconds σε ~7200-14400 δευτερόλεπτα, ώστε οι μη επικαιροποιημένες ροές δεδομένων να εμποδίζουν τις εισόδους.
Αποτελέσματα Επαλήθευσης
Το taker_lag_seconds έχει προεπιλογή 90000 (25 ώρες), επομένως το _current_fraction δέχεται μια παρατήρηση taker_ratio έως περίπου 25h παλιά πριν επιστρέψει None. Δεν αποτελεί look-ahead (το bisect bound είναι μονόπλευρο στο bar ts_event <= ts_init), αλλά σε κενά του feed η στρατηγική συναλλάσσεται βάσει μιας ένδειξης flow ηλικίας μίας ημέρας.
Αποτελέσματα Επαλήθευσης
Προσθήκη στο _frac_buf μόνο όταν προχωρά το self._tk_ts[idx].
Αποτελέσματα Επαλήθευσης
Το _current_fraction επιστρέφει την πιο πρόσφατη παρατήρηση ανεξάρτητα από το αν είναι νέα, επομένως το ίδιο fraction προστίθεται ξανά στο _frac_buf σε κάθε μπάρα μέχρι να προχωρήσει το feed, συμπιέζοντας ελαφρά το rolling-z baseline std. Δεν αποτελεί παραβίαση ορθότητας σε cadence 1h.
Έλεγχος Backtest
Καθαρή υλοποίηση σε ένα μόνο μέσο (2 εκτελέσεις ανά πλήρη κύκλο ανοίγματος/κλεισίματος θέσης, χωρίς το εμπόδιο προμηθειών ενός καλαθιού), με φίλτρο καθεστώτος, μόνο 3 βασικές ρυθμιζόμενες παράμετροι — ανθεκτική στην υπερπροσαρμογή εκ κατασκευής
Έλεγχος Backtest
Η είσοδος σήματος order-flow διαφοροποιείται ουσιαστικά από τα νεκροταφεία trend/carry/basket
Έλεγχος Backtest
Καθαρός χαμένος χωρίς edge: profit_factor 0.62, total_return -5.29%, Sharpe -0.71 (CI [-1.35, 0.02]), προσδοκία -$62.6/trade, avg_trade_return_pct 0.0146% (~μηδενικό και αρνητικό πρόσημο)
Έλεγχος Backtest
avg_loss ($301) υπερβαίνει το avg_win ($232) με win_rate 0.447 — το exhaustion-fade βρίσκεται συστηματικά στη λάθος πλευρά της κίνησης του flow
Έλεγχος Backtest
Εμπόδιο συμπληρωματικών δεδομένων (L73): και οι 85 συναλλαγές και το 100% των αποδόσεων εμπίπτουν σε ένα μόνο παράθυρο 2026 διάρκειας ~6 μηνών (annual_returns={2026:-5.32}, μηνιαίως 2026-03..08), επειδή η ροή δεδομένων taker_ratio καλύπτει μόνο ένα πρόσφατο τμήμα του ιστορικού 2019-2026 OHLCV — το πραγματικά διαθέσιμο δείγμα δεν μπορεί να υποστηρίξει αξιολόγηση walk-forward με 3 παράθυρα + ανεξάρτητο δείγμα ελέγχου 20%
Έλεγχος Backtest
commission_pct_of_gross 47% — οι προμήθειες συν το impact καταναλώνουν ήδη το ήμισυ του μικτού αποτελέσματος, ακόμη και πριν από το edge με αρνητικό πρόσημο
Έλεγχος Backtest
Ταιριάζει με την κατηγορία order-flow-gated single-perp χωρίς επιζώντες (BtcTakerAggressionPersistence, AvaxTakerAggressorDominance, EthTakerFlowBreakout, όλα εγκαταλείφθηκαν) και την L55 sub-1.15-PF κατηγορία fade μονο-ονόματος
Έλεγχος Backtest
6mo (2026 μόνο)
Έλεγχος Backtest
πολυετές
Iteration History
Η επαλήθευση απέτυχε (Layer 3 — backtest sandbox): Δεν παρήχθησαν trades
Τύπος μπάρας που χρησιμοποιήθηκε: BTCUSDT.BINANCE-1-HOUR-LAST-EXTERNAL, Μπάρες που υποβλήθηκαν σε επεξεργασία: 8729
Διαγνωστικά: η should_enter() επέστρεψε πλευρά 0 φορές σε 8679 μπάρες που αξιολογήθηκαν -> το ENTRY CONDITION δεν ενεργοποιήθηκε ποτέ. Χαλαρώστε τη λογική / τα thresholds εισόδου.
Βεβαιωθείτε ότι η στρατηγική σας παράγει trades με τα δεδομένα και τις παραμέτρους που δόθηκαν.
Iteration History
Η επαλήθευση απέτυχε (Layer 4 — έλεγχος QA):
- Το entry gate ενεργοποιείται υπερβολικά σπάνια για να παραχθεί μετρήσιμο αποτέλεσμα. Το sandbox παρήγαγε μόνο 6 trades σε 363 ημέρες (~6 trades/έτος). Το σύνθετο gate απαιτεί ταυτόχρονα (a) καθεστώς RANGING (Kaufman efficiency ratio < regime_threshold), (b) ακραίο rolling z του taker-buy fraction (|z| >= entry_z=1.2), και (c) η στρατηγική να είναι FLAT, και στη συνέχεια διατηρεί τη θέση έως 24 μπάρες — επομένως οι γνήσιες είσοδοι είναι σπάνιες, παρότι το z διασχίζει συχνά τη ζώνη. Αυτός είναι ακριβώς ο τρόπος αποτυχίας L16 ('BTC 4H aggressor imbalance 16 trades', 'BTC taker-ratio 16 trades'), και εμφανίζεται WORSE εδώ (6 trades). Ακόμη και ένα backtest πολλών ετών με αυτόν τον ρυθμό παραμένει πολύ κάτω από το κατώτατο όριο μετρησιμότητας των ~100 trades. Η ίδια η αιτιολόγηση της υπόθεσης ('δεκάδες φορές τον χρόνο, εκατοντάδες trades για αξιόπιστη μέτρηση edge') διαψεύδεται άμεσα από το αποτέλεσμα των 6 trades.
- Επειδή το αποτέλεσμα βασίζεται σε 6 trades, κάθε βασική μετρική είναι μη διαγνωστική: Sharpe 0.84, αλλά sharpe_ci_low -1.08 (CI περιλαμβάνει το μηδέν), profit_factor 10.26 και win_rate 0.667 σε 6 δείγματα, return_skew 7.23 / kurtosis 94.8, και avg_win $300 έναντι avg_loss $58 — μία μόνο largest_win $662 αντιπροσωπεύει ολόκληρη τη θετική απόδοση (+1.08%). Κανένα από αυτά δεν μπορεί να θεωρηθεί αξιόπιστη ένδειξη edge. Αυτό αποτελεί άμεση συνέπεια του ζητήματος του αριθμού των trades παραπάνω, όχι ανεξάρτητο ελάττωμα.
Iteration History
Η επαλήθευση απέτυχε (Layer 4 — έλεγχος QA):
- Το βασικό edge είναι αρνητικό και κάτω από τις προμήθειες, διαψεύδοντας τον κεντρικό ισχυρισμό της υπόθεσης. Η υπόθεση αναφέρει ότι το fade συλλαμβάνει μια «0.4-0.6% reversal move»· το sandbox μετρά avg_trade_return_pct -0.025% -- αρνητικό, και κατά μία τάξη μεγέθους κάτω τόσο από τον ισχυρισμό όσο και από το κατώτατο όριο προμήθειας των 0.15% futures. Ενισχυτική ένδειξη γνήσιας απουσίας edge (όχι απλώς θόρυβος): profit_factor 0.518, Sharpe -1.53 (CI [-2.73, +0.07]), win_rate 0.50 με λόγο ανταμοιβής/κινδύνου INVERTED (avg_loss $338 ~= 2x avg_win $175), omega_ratio 0.35. Κρίσιμα, αυτό εμφανίστηκε BECAUSE την iter-3 χαλάρωση (entry_z 1.2->0.8, regime_threshold 0.55->0.65) που πρόσθεσε trades: οι πρόσθετες είσοδοι ενεργοποιούνταν σε ασθενέστερα flow extremes που NOT αντιστρέφονταν, παρασύροντας το μέσο edge σε αρνητικό. Αυτό αποτελεί άμεση ένδειξη ότι το σήμα taker-flow-exhaustion δεν διαθέτει reversal alpha που να καλύπτει το κόστος -- οι μπάρες ακραίας ανισορροπίας επιθετικών εντολών δεν επιστρέφουν συστηματικά προς τον μέσο όρο σε αυτά τα thresholds.
- Ο αριθμός των trades παραμένει κάτω από το κατώτατο όριο μετρησιμότητας. Η iter-3 αύξησε τα trades από 6 σε 26 σε διάστημα 363 ημερών (~26/έτος), αλλά αυτό παραμένει πολύ κάτω από το κατώτατο όριο των ~100 trades που απαιτείται για να διακριθεί το edge από τον θόρυβο (L16· οι συγγενείς προσπάθειες BTC aggressor-imbalance/taker-ratio απέτυχαν στα 16 trades). Με 26 trades και skew -4.83 / kurtosis 43 (μία μόνο απώλεια -$945 κυριαρχεί), οι μετρικές εξακολουθούν να επηρεάζονται κυρίως από τον θόρυβο -- το Sharpe CI εκτείνεται από -2.73 έως +0.07. Ο developer έχει παγιδευτεί ανάμεσα σε δύο αποτυχημένα καθεστώτα: αυστηρότερο gate -> μη μετρήσιμο (6 trades), χαλαρότερο gate -> περίπου μετρήσιμο αλλά αρνητικό edge (26 trades, -0.025%/trade). Και τα δύο αποτυγχάνουν.
Το Stratmill είναι εργαλείο έρευνας και εικονικών συναλλαγών (paper trading), όχι επενδυτική συμβουλή ή χρηματιστηριακός μεσίτης. Τα αποτελέσματα backtest και paper trading είναι υποθετικά. Οι συναλλαγές ενέχουν κίνδυνο απώλειας.