HyperliquidSolFundingExtremeContrarian
Υποθέσεις
Hyperliquid SOL Αντισυμβατική στρατηγική σε ακραία ποσοστά χρηματοδότησης αέναων συμβολαίων — Long-Short, σε ένα μόνο περιουσιακό στοιχείο: FADE Συνωστισμός θέσεων όταν το κυλιόμενο Z-Score του ποσοστού χρηματοδότησης φτάνει σε ακραίο επίπεδο (πολύ θετικό ποσοστό χρηματοδότησης = υπερμοχλευμένες θέσεις long → SHORT· πολύ αρνητικό = συνθηκολόγηση των κατόχων θέσεων short → LONG), με επιβεβαίωση από τη μη επιβεβαίωση της κίνησης από την τιμή, έξοδος κατά την επαναφορά του ποσοστού χρηματοδότησης / Stop ATR / χρονικό Stop (SOLUSDT.HYPERLIQUID, 4 ώρες, 3 παράμετροι)
Υποθέσεις
Μια LONG-SHORT, single-instrument, contrarian στρατηγική καθοδηγούμενη από POSITIONING στο Hyperliquid SOL perpetual, βασισμένη σε ένα NON-OHLCV μηχανικό σήμα — το perpetual FUNDING — χρησιμοποίησε τον OPPOSITE τρόπο για την οικογένεια dead cash-and-carry του factory. Αυτό είναι NOT delta-neutral carry (το οποίο απέτυχε επειδή το funding P&L ήταν πολύ μικρό σε σχέση με τον θόρυβο του basis) και NOT price momentum (τα HL momentum baskets είναι 0/84). Αντί γι’ αυτό, το funding χρησιμοποιείται ως δείκτης crowding/positioning για τον χρονισμό ενός DIRECTIONAL fade: το καλά τεκμηριωμένο αποτέλεσμα ότι όταν το perp funding είναι εξαιρετικά θετικό, οι long θέσεις είναι υπερβολικά μοχλευμένες και πληρώνουν για να διακρατούν — μια κατάσταση που ιστορικά προηγείται LOWER forward perp returns (κίνδυνος squeeze/washout)· αντίστοιχα, το ακραία αρνητικό funding υποδηλώνει short θέσεις που έχουν capitulate και προηγείται αναπηδήσεων. Επιλέχθηκε για να καλύψει ταυτόχρονα τρεις υποεκπροσωπούμενες κατηγορίες: HYPERLIQUID (6.8% έναντι στόχου 20%), long_short (14.2%), και ένα data-safe non-OHLCV edge που δεν βρίσκεται στο νεκροταφείο overfit του OHLCV. Single-name και σκόπιμα 3-παραμετρική, ώστε να παραμένει υλοποιήσιμη (τα multi-instrument HL baskets απέτυχαν λόγω coding timeouts) και να αντιστέκεται στο overfitting. IMPLEMENTATION NOTE: διατήρηση του funding baseline ως rolling deque που ενημερώνεται incremental (O(1) ανά update) — NEVER επανεξέταση ολόκληρης της σειράς funding μέσα στο on_bar (αυτό το μοτίβο προκάλεσε τα επαναλαμβανόμενα 300s sandbox timeouts).
Υποθέσεις
Η επανάληψη 2 διορθώνει τη μοναδική αποτυχία του Layer-2 (`FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given`, και τα έξι σενάρια). Το -2 του Layer`_StrategyProxy` επανασυνδέει κάθε callable attribute της στρατηγικής σε ένα απλό wrapper μέσω `types.MethodType`, το οποίο μετατρέπει τη staticmethod ενός ορίσματος της base class, `_bar_ts`, σε bound method — έτσι το `self._bar_ts(bar)` φτάνει με δύο ορίσματα. Η ελάχιστη διόρθωση αντικαθιστά εκείνη την κλήση με έναν module-level helper `_bar_timestamp_ns(bar)` που διαβάζει απευθείας το `bar.ts_event` (με fallback στο `ts_init`) — συμπεριφορικά πανομοιότυπο, απρόσβλητο από το rebinding του proxy. Τίποτα άλλο δεν άλλαξε: imports, δομή κλάσης, parsing funding, λογική σήματος, entries, exits και sizing είναι byte-identical με το previous_code που πέρασε το Layer 1, επομένως κανένας προηγούμενος έλεγχος δεν μπορεί να παλινδρομήσει. Σημειώστε ότι το `_bar_interval_ns` εξακολουθεί να καλείται από το `__init__`, το οποίο εκτελείται στο πραγματικό instance πριν το proxy επανασυνδέσει οτιδήποτε, άρα δεν επηρεάζεται. Η μόχλευση 2.0 καταναλώνεται στο `position_size` μέσω `self.config.leverage` στο gross-notional cap.
Υποθέσεις
Contrarian fade ακραίων τιμών funding για single-name με αρνητική αναμενόμενη αξία — δεν υπάρχει edge προς βελτιστοποίηση. PF 0.60, total_return -33.7%, Sharpe -0.42, αναμενόμενη αξία -$156/trade, και avg_trade_return_pct -0.37% (αρνητικό, κάτω από το 0.15% fee floor του Hyperliquid, L22). Ζημιές σε κάθε έτος (2024 -14.8%, 2025 -13.8%, 2026 -6.5%), με αμφότερα τα long και short σκέλη να έχουν win rate κάτω από -43% και avg_loss > avg_win — το contrarian fade βρίσκεται συστηματικά στη λάθος πλευρά της κίνησης, και ο μόνος θετικός μήνας είναι μία μοναδική ημέρα outlier +10.77% (κύρτωση 9.8). Ο μηχανισμός έχει υλοποιηθεί σωστά (χωρίς timeout, με πίστωση funding), αλλά ανήκει σε δύο οικογένειες μηδενικών επιζώντων: mean-reversion/fade single-name (L55) και supplementary(funding)-gated directional single-perp (L73). Το φίλτρο μη επιβεβαίωσης της τιμής δεν πρόσθεσε πραγματικό edge. Το πρόσημο του edge ανά trade είναι αρνητικό, κάτι που καμία ρύθμιση παραμέτρων δεν μπορεί να αντιστρέψει. Δεν αξίζει 2 ώρες βελτιστοποίησης. Μοτίβο αποτυχίας: fee_edge/no_edge contrarian fade single-perp με gating μέσω funding.
Υλοποίηση
Long-short contrarian single-name στο Hyperliquid SOL perp (4H bars). Το funding χρησιμοποιείται ως δείκτης crowding: ένα κυλιόμενο z-score του hl_funding_rates print έναντι της δικής του trailing κατανομής επιστρέφεται σε κάθε bar ως συνεχές σήμα. Το ακραία θετικό z (συνωστισμένες long θέσεις που πληρώνουν υπερβολικά) γίνεται fade με SHORT· το ακραία αρνητικό z (short θέσεις που έχουν capitulate) γίνεται fade με LONG, αλλά μόνο όταν η τιμή δεν επιβεβαιώνει το crowd (το close δεν σχηματίζει νέο υψηλό/χαμηλό confirm_bars-bar). Έξοδος σε επαναφορά του funding (|z| <= exit_z), σε stop ATR που αποθηκεύεται κατά την είσοδο ή σε calendar time stop που μετράται από τη θέση.ts_opened. Το sizing είναι risk-first: το stop ATR κοστίζει περίπου risk_frac του equity, με ανεξάρτητο gross-notional cap.
Αποτελέσματα Επαλήθευσης
CLEAN RESTART 2026-09-04 — το ιστορικό αποφάσεων και τα αρχεία μάθησης αυτής της εκτέλεσης αφαιρέθηκαν και ξεκίνησε ξανά από την επαλήθευση. Η προηγούμενη εγκατάλειψή της προήλθε από το pipeline, όχι από την αγορά: η harness Layer-2 έκανε εσφαλμένη σύνδεση των βοηθητικών συναρτήσεων @staticmethod (διορθώθηκε), η QA εξέδιδε τελικές αποφάσεις απόδοσης σε ένα μη βελτιστοποιημένο smoke test (αφαιρέθηκε — η QA αξιολογεί πλέον μόνο την ορθότητα), και τα timeouts του sandbox προέρχονταν από εξάντληση των backtest slots (διορθώθηκε). Η υπόθεση και ο κώδικας της στρατηγικής παραμένουν αμετάβλητα. Επαληθεύστε τον κώδικα βάσει των προσόντων του· η απόδοση θα κριθεί αργότερα από το πλήρες backtest και τον optimizer.
Αποτελέσματα Επαλήθευσης
Περιορίστε το _param_bounds στα 3 βασικά tunables της επικεφαλίδας (entry_z, exit_z, funding_lookback_prints)· κλειδώστε τις παραμέτρους risk/plumbing ως σταθερές.
Αποτελέσματα Επαλήθευσης
Η υπόθεση προτείνει έναν σχεδιασμό «3-παραμετρικό, σκόπιμα, ώστε να αντιστέκεται στο overfitting», όμως το _param_bounds εκθέτει 11 βελτιστοποιήσιμες παραμέτρους. Ο μηχανισμός είναι σωστός, αλλά μια αναζήτηση walk-forward 11-διαστάσεων αντιφάσκει με το δηλωμένο σκεπτικό κατά του overfit και αυξάνει τον κίνδυνο PBO. Δεν αποτελεί blocker.
Αποτελέσματα Επαλήθευσης
Δεν απαιτείται κάτι· σημειώθηκε για τον αναλυτή.
Αποτελέσματα Επαλήθευσης
Τα συνθετικά σήματα του Layer-2 παρέμειναν όλα παγωμένα στο 0.0 (δεν εισήχθησαν δεδομένα ποσοστού χρηματοδότησης), επομένως η διαδρομή εκτέλεσης συναλλαγών δοκιμάστηκε μόνο από το sandbox (το οποίο πραγματοποίησε 65 συναλλαγές βάσει πραγματικών δεδομένων ποσοστού χρηματοδότησης). Μη κρίσιμο σφάλμα.
Έλεγχος Backtest
Ο μηχανισμός ενεργοποιείται καθαρά και παράγει επαρκές δείγμα (201 trades σε 953 ημέρες) χωρίς timeout — η υλοποίηση funding O(log n) λειτουργεί όπως προβλέπεται
Έλεγχος Backtest
Single-instrument, single supplementary feed (hl_funding_rates), χωρίς παθολογία δεδομένων/επαλήθευσης· το funding πιστώνεται στο PnL
Έλεγχος Backtest
Αρνητική αναμενόμενη αξία: profit_factor 0.60, total_return -33.7%, αναμενόμενη αξία -$156/trade
Έλεγχος Backtest
avg_trade_return_pct -0.37% — αρνητικό και πολύ χαμηλότερο από το 0.15% fee floor του Hyperliquid (L22)
Έλεγχος Backtest
Ζημιές και στα τρία έτη (2024 -14.8%, 2025 -13.8%, 2026 -6.5%) — επίμονα χωρίς edge, όχι edge που έχει υποβαθμιστεί
Έλεγχος Backtest
Και τα δύο σκέλη χάνουν (win 42% long, win 42% short), με avg_loss > avg_win — το fade ακραίων τιμών funding βρίσκεται στη λάθος πλευρά της κίνησης
Έλεγχος Backtest
Ο μοναδικός θετικός μήνας οφείλεται σε μία μόνο ημέρα με ακραία τιμή +10.77% (κύρτωση 9.8)· η υποκείμενη πορεία των συναλλαγών είναι ομοιόμορφα αρνητική
Έλεγχος Backtest
Κατευθυντική στρατηγική αντίθετη στην κίνηση, σε ένα μόνο περιουσιακό στοιχείο, με προϋπόθεση ενεργοποίησης βάσει του ποσοστού χρηματοδότησης — κατηγορίες επαναφοράς στον μέσο όρο (0/174) και κατευθυντικών στρατηγικών σε ένα μόνο αέναο συμβόλαιο με συμπληρωματικές προϋποθέσεις ενεργοποίησης (L73), χωρίς κανέναν επιζώντα
Iteration History
Η επαλήθευση απέτυχε (Layer 2 — συνθετικά σενάρια):
Χρησιμοποιήθηκαν οι παράμετροι: ['exit_z', 'entry_z', 'atr_bars', 'risk_frac', 'min_prints', 'confirm_bars', '_param_bounds', 'atr_stop_mult', 'max_hold_bars', 'max_lag_seconds', 'max_notional_frac', 'funding_lookback_prints']
Ελέγξτε ότι η __init__ ορίζει όλα τα attributes από το self.parameters.get().
- steady_uptrend: TypeError: Η FactoryStrategy._bar_ts() δέχεται 1 positional arguments, αλλά δόθηκαν 2 (bar timestamp: 1735690500000)
- steady_downtrend: TypeError: Η FactoryStrategy._bar_ts() δέχεται 1 positional arguments, αλλά δόθηκαν 2 (bar timestamp: 1735690500000)
- flat_ranging: TypeError: Η FactoryStrategy._bar_ts() δέχεται 1 positional arguments, αλλά δόθηκαν 2 (bar timestamp: 1735690500000)
- volatility_spike: TypeError: Η FactoryStrategy._bar_ts() δέχεται 1 positional arguments, αλλά δόθηκαν 2 (bar timestamp: 1735690500000)
- zero_volume: TypeError: Η FactoryStrategy._bar_ts() δέχεται 1 positional arguments, αλλά δόθηκαν 2 (bar timestamp: 1735690500000)
- price_gap: TypeError: Η FactoryStrategy._bar_ts() δέχεται 1 positional arguments, αλλά δόθηκαν 2 (bar timestamp: 1735690500000)
Το Stratmill είναι εργαλείο έρευνας και εικονικών συναλλαγών (paper trading), όχι επενδυτική συμβουλή ή χρηματιστηριακός μεσίτης. Τα αποτελέσματα backtest και paper trading είναι υποθετικά. Οι συναλλαγές ενέχουν κίνδυνο απώλειας.