Το σήμα εισόδου σας είναι μάλλον το λιγότερο καθοριστικό στοιχείο του backtest σας. Μπορώ να πάρω έναν μέτριο κανόνα momentum, να αφήσω ανέγγιχτο κάθε χρονικό σημείο εισόδου και εξόδου, να αλλάξω μόνο τη συνάρτηση που αποφασίζει πόσα συμβόλαια θα κρατάμε και να μετακινήσω το καθαρό Sharpe από το 0.41 στο 0.71 και το μέγιστο drawdown από το 31% στο 13%. Ίδιες συναλλαγές. Ίδια εκτελέσεις. Διαφορετική στρατηγική.
Αυτός ο ισχυρισμός εκνευρίζει τον κόσμο, και δικαίως, γιατί υπονοεί ότι το μεγαλύτερο μέρος του χρόνου που αφιερώνεται στη ρύθμιση των lookback και των ορίων των φίλτρων ξοδεύεται στον δευτερεύοντα παράγοντα. Ας δείξω λοιπόν τα πραγματικά runs και μετά ας αποδώσω στους επικριτές τα εύσημα που τους αναλογούν, γιατί υπάρχει μια εκδοχή αυτού του επιχειρήματος που είναι λανθασμένη και αξίζει να ξέρουμε ποια εκδοχή υποστηρίζω.
Ένα σήμα, 6 τρόποι διακράτησης
Το σήμα: perpetual ETHUSDT στο Binance USDⓈ-M, κεριά 1 ώρας, long όταν ο EMA 12 ωρών είναι πάνω από τον EMA 96 ωρών, αλλιώς flat, χωρίς short. Από τον Ιούλιο 2022 έως τον Ιούνιο 2026. 431 συναλλαγές μετ' επιστροφής. Προμήθειες taker και στις δύο πλευρές στα 5.0 bps, funding που καταβάλλεται ή εισπράττεται κάθε 8 ώρες ανάλογα με την πραγματική θέση, slippage μοντελοποιημένο βάσει του βάθους στην κορυφή του βιβλίου εντολών. Είναι ένα επίτηδες βαρετό σήμα — το επέλεξα επειδή κανείς δεν θα το υπερασπιζόταν, κάτι που το κάνει καθαρό πεδίο δοκιμής.
Κάθε γραμμή παρακάτω έχει ακριβώς τα ίδια χρονικά σημεία για τις μπάρες εισόδου και εξόδου. Η μόνη διαφορά είναι η συνάρτηση μεγέθους θέσης.
| Κανόνας μεγέθους θέσης | Καθαρό Sharpe | Μέγιστο DD | Ονομαστική αξία συναλλαγών/έτος (× μέση θέση) | Κόστη ως % του ακαθάριστου PnL | Μέγιστη μόχλευση |
|---|---|---|---|---|---|
| Σταθερή ονομαστική αξία $10k | 0.41 | 18.2% | 246× | 14% | 1.0× |
| Σταθερό ποσοστό, 100% του κεφαλαίου | 0.44 | 30.8% | 251× | 15% | 1.0× |
| Αντίστροφη πραγματοποιηθείσα μεταβλητότητα 20 ημερών | 0.68 | 14.1% | 690× | 29% | 4.4× |
| Στόχος ετησιοποιημένης μεταβλητότητας 20%, ωριαία επανεξισορρόπηση, χωρίς όριο | 0.71 | 12.9% | 1,180× | 41% | 6.3× |
| Στόχος μεταβλητότητας 20%, ζώνη χωρίς συναλλαγές 20%, όριο μόχλευσης 3× | 0.66 | 15.3% | 402× | 19% | 3.0× |
| Half-Kelly με κυλιόμενο μέσο όρο/διακύμανση 60 ημερών | 0.52 | 24.6% | 830× | 33% | 8.1× |
Δείτε το εύρος. Ανάμεσα στη χειρότερη και την καλύτερη γραμμή υπάρχει σχετική διαφορά 73% στο Sharpe και συντελεστής 2.4 στο drawdown. Τώρα βρείτε μου μια παράμετρο του σήματος εισόδου σε αυτό το σύνολο δεδομένων που να μετακινεί το Sharpe κατά 0.30 χωρίς να αποτελεί προφανή υπερπροσαρμογή. Έψαξα. Το μήκος του ζεύγους EMA το μετακινεί κατά περίπου 0.12 σε όλο το εύλογο πλέγμα τιμών, και το μεγαλύτερο μέρος αυτής της μεταβολής είναι θόρυβος που δεν διατηρείται εκτός δείγματος.
Γιατί η αντίστροφη μεταβλητότητα φαίνεται τόσο καλή και πόσο από αυτό είναι πραγματικό
Ο μηχανισμός δεν είναι μυστηριώδης. Με σταθερή ονομαστική αξία, το μέγεθος της θέσης σας δεν συσχετίζεται με την πραγματοποιηθείσα μεταβλητότητα, πράγμα που σημαίνει ότι ο κίνδυνος σε δολάρια ανά συναλλαγή είναι ανάλογος με τη μεταβλητότητα που έτυχε να έχει η συγκεκριμένη εβδομάδα. Στο ETH κατά τη διάρκεια αυτής της περιόδου, η πραγματοποιηθείσα μεταβλητότητα 20 ημερών κυμάνθηκε από 31% έως 118% σε ετησιοποιημένη βάση. Το run σταθερής ονομαστικής αξίας ανέλαβε 3.8× μεγαλύτερο κίνδυνο σε δολάρια τον Μάρτιο 2024 απ' ό,τι τον Ιούλιο 2023, όχι επειδή το σήμα ήταν πιο βέβαιο, αλλά επειδή η αγορά είχε εντονότερες κινήσεις. Σχεδόν ολόκληρο το drawdown του συγκεντρώνεται στο ανώτερο πεμπτημόριο μεταβλητότητας. Το μέγεθος θέσης αντίστροφης μεταβλητότητας αφαιρεί αυτή τη σύζευξη, και αυτό αποτελεί πραγματική βελτίωση στη μορφή της σειράς αποδόσεων.
Όμως ένα μέρος του κέρδους στο Sharpe είναι τεχνούργημα μέτρησης, και αν δεν διαχωρίσετε τα δύο, θα πάρετε κακές αποφάσεις στη συνέχεια. Το Sharpe διαιρεί με την τυπική απόκλιση των αποδόσεων. Η στόχευση μεταβλητότητας είναι, εξ ορισμού, μια διαδικασία που σταθεροποιεί την τυπική απόκλιση των αποδόσεων. Βελτιστοποιείτε απευθείας τον παρονομαστή. Ένας κανόνας που κλιμακώνει τις θέσεις για να πετύχει σταθερή εκ των προτέρων μεταβλητότητα θα βελτιώσει το Sharpe σχεδόν σε οποιαδήποτε σειρά αποδόσεων με ομαδοποίηση μεταβλητότητας, ακόμη και σε σειρές χωρίς κανένα πλεονέκτημα. Το επαλήθευσα με ανακατεμένα σήματα: τυχαιοποιήστε τα χρονικά σημεία εισόδου, κρατήστε την προσαρμογή στόχευσης μεταβλητότητας, και το Sharpe εξακολουθεί να βελτιώνεται κατά περίπου 0.06 σε σχέση με τη σταθερή ονομαστική αξία, πάνω σε μια βάση με μηδενικό μέσο όρο. Μικρή βελτίωση, αλλά υπαρκτή, και οφείλεται αποκλειστικά στους μηχανισμούς της μεθόδου.
Γι' αυτό, όταν συγκρίνω εσωτερικά κανόνες μεγέθους θέσης, το Sharpe δεν είναι ποτέ ο μόνος αριθμός στο φύλλο. Θέλω Calmar, θέλω καθαρό PnL ανά μονάδα μέσης ανεπτυγμένης ονομαστικής αξίας και θέλω τη γέφυρα από το ακαθάριστο στο καθαρό αποτέλεσμα, γιατί και τα 3 μαζί είναι πολύ δυσκολότερο να τα χειραγωγήσει κανείς με ένα τέχνασμα στον παρονομαστή.
Η εκτίμηση μεταβλητότητας είναι μοντέλο και μπορεί να διαρρέει πληροφορία
Ο συνηθέστερος λόγος που ένα καλό αποτέλεσμα μεγέθους θέσης αποδεικνύεται πλασματικό: η εκτίμηση μεταβλητότητας χρησιμοποιεί πληροφορίες από την μπάρα για την οποία υπολογίζει το μέγεθος θέσης. Αν η σειρά μεταβλητότητας υπολογίζεται με κεντραρισμένο παράθυρο, ή με το προεπιλεγμένο `rolling().std()` της pandas μετά από επαναδειγματοληψία που περιλαμβάνει την τρέχουσα ημιτελή μπάρα, ή με κανονικοποίηση σε ολόκληρο το δείγμα, υπάρχει διαρροή δεδομένων. Είναι λεπτό ζήτημα, επειδή η μεταβλητότητα έχει επιμονή, οπότε η διαρροή είναι μικρή σε κάθε γραμμή και η καμπύλη κεφαλαίου εξακολουθεί να φαίνεται εύλογη. Απλώς δείχνει λίγο υπερβολικά ομαλή ακριβώς στις εβδομάδες που έχουν σημασία.
Οι agents μας ελέγχουν 4 πράγματα σε κάθε κανόνα μεγέθους θέσης πριν προωθηθεί ένα αποτέλεσμα στην ουρά paper trading:
- Διαθεσιμότητα τη στιγμή της απόφασης. Το μέγεθος που χρησιμοποιείται για την μπάρα που ανοίγει στις 14:00 πρέπει να μπορεί να υπολογιστεί από δεδομένα των οποίων η χρονική σήμανση κλεισίματος είναι ≤ 13:59:59.999. Το επιβεβαιώνουμε ξαναϋπολογίζοντας τη σειρά μεγεθών από ένα περικομμένο πλαίσιο δεδομένων σε τυχαίο δείγμα 200 σημείων απόφασης και συγκρίνοντας τις διαφορές.
- Το lookback του εκτιμητή είναι πραγματική παράμετρος. Ένα παράθυρο μεταβλητότητας 20 ημερών και ένα 60 ημερών είναι δύο διαφορετικές στρατηγικές. Το lookback μπαίνει στο πλέγμα walk-forward μαζί με όλα τα υπόλοιπα, και αν το αποτέλεσμα λειτουργεί μόνο σε ένα μήκος παραθύρου, αυτό αποτελεί ένδειξη ευθραυστότητας.
- Η πορεία της μόχλευσης, όχι μόνο η μέγιστη μόχλευση. Εμφανίστε ολόκληρη την κατανομή της ακαθάριστης μόχλευσης. Το παραπάνω run στόχευσης μεταβλητότητας χωρίς όριο πέρασε το 4% των ωρών πάνω από 5×, κάτι που δεν εμφανίζεται ποτέ σε έναν συνοπτικό πίνακα, αλλά καθορίζει πλήρως αν η στρατηγική μπορεί να εφαρμοστεί στην πράξη.
- Η ευαισθησία του μεγέθους θέσης ως δοκιμή ανθεκτικότητας. Αν το Sharpe καταρρέει όταν αλλάζετε τον στόχο μεταβλητότητας από 20% σε 25%, η στρατηγική δεν στοχεύει τη μεταβλητότητα· είναι ρυθμισμένη ως προς τη μόχλευση και βρήκατε το πλεονέκτημά σας επιλέγοντας έναν αριθμό.
Το όριο μόχλευσης δεν είναι ένα διακοσμητικό συμπλήρωμα διαχείρισης κινδύνου· αποτελεί μέρος του ορισμού της στρατηγικής. Τα επίπεδα του Binance για το ETHUSDT μειώνουν τη μέγιστη μόχλευση καθώς αυξάνεται η ονομαστική αξία της θέσης, ενώ αυξάνεται και το ποσοστό περιθωρίου διατήρησης. Ένα backtest που επιτρέπει στον κανόνα στόχευσης μεταβλητότητας να φτάσει τις 6.3× σε ονομαστική αξία $400k περιγράφει μια θέση που το ανταλλακτήριο δεν θα σας επιτρέψει να κρατήσετε με αυτό το περιθώριο. Η γραμμή με όριο στον πίνακα κοστίζει 0.05 Sharpe και είναι η μόνη από τις δύο που περιγράφει κάτι πραγματικό.
Εκεί πηγαίνουν τα χρήματα: στην επανεξισορρόπηση
Προσέξτε τη στήλη κόστους. Η ωριαία επανεξισορρόπηση για στόχευση μεταβλητότητας έδωσε το καλύτερο Sharpe στην επικεφαλίδα, αλλά παρέδωσε επίσης το 41% του ακαθάριστου PnL στο ανταλλακτήριο. Πρόκειται για συναλλαγές ονομαστικής αξίας 1,180× της μέσης θέσης ετησίως, με 5 bps ανά πλευρά συν spread και επίπτωση στην αγορά. Η προφανής λύση είναι η λιγότερο συχνή επανεξισορρόπηση βάσει προγράμματος. Καλύτερη λύση είναι μια ζώνη χωρίς συναλλαγές: αλλάζετε το μέγεθος μόνο όταν η τρέχουσα θέση αποκλίνει από τον στόχο περισσότερο από ένα ορισμένο όριο.
Μια ζώνη 20% μείωσε την ετήσια ονομαστική αξία συναλλαγών από 1,180× σε 402× — μείωση 66% — και κόστισε 0.05 στο Sharpe. Το έχω δοκιμάσει πλέον σε 8 σήματα και το μοτίβο επαναλαμβάνεται: ζώνες από 15% έως 25% διατηρούν το μεγαλύτερο μέρος του οφέλους ελέγχου κινδύνου με το ένα τρίτο του όγκου συναλλαγών, ενώ οτιδήποτε κάτω από 10% σημαίνει απλώς ότι πληρώνετε προμήθειες για επιφανειακή ακρίβεια σε μια ποσότητα που έτσι κι αλλιώς εκτιμάτε με παράθυρο 20 ημερών. Δεν γίνεται να επανεξισορροπείτε με ακρίβεια 3 δεκαδικών ψηφίων έναν αριθμό που έχει τυπικό σφάλμα 15%.
Τον Φεβρουάριο είχαμε ένα run όπου η αναφορά που συνέταξε ένας agent απέδιδε βελτίωση 0.22 στο Sharpe στο «βελτιωμένο φίλτρο εισόδου». Η διαφορά ήταν μία γραμμή στη μονάδα μεγέθους θέσης. Το φίλτρο δεν είχε αλλάξει. Τώρα βάζω την αναφορά να εμφανίζει στην κορυφή το hash της ρύθμισης μεγέθους θέσης, γιατί η απόδοση αιτιών είναι ζήτημα πειθαρχίας και τα μοντέλα είναι εξίσου πρόθυμα με όλους τους άλλους να αφηγηθούν μια τακτοποιημένη ιστορία.
Τι κάνει το paper trading στον κανόνα μεγέθους θέσης σας
Εδώ ανοίγει περισσότερο το χάσμα ανάμεσα στο backtest και το paper trading, και οφείλεται κυρίως στην αριθμητική. Το μέγεθος θέσης που ανταποκρίνεται στη μεταβλητότητα διαφέρει κατά συντελεστή 4 έως 8 μέσα στο δείγμα. Και τα δύο άκρα αυτού του εύρους προσκρούουν σε περιορισμούς του ανταλλακτηρίου που δεν μοντελοποιήθηκαν ποτέ στο backtest.
Στο μικρό άκρο: βήμα ποσότητας και ελάχιστη ονομαστική αξία. Το perpetual ETHUSDT έχει βήμα ποσότητας 0.001 και ελάχιστο ποσό $5. Αν το μέγεθός σας σε καθεστώς χαμηλής μεταβλητότητας είναι 0.0004 ETH, το backtest διατηρεί τη θέση, ενώ το paper trading δεν κρατά τίποτα. Αυτό ακούγεται σαν οριακή περίπτωση μέχρι να συνειδητοποιήσετε ότι ένας κανόνας στόχευσης μεταβλητότητας τοποθετεί τα μικρότερα μεγέθη του στις πιο ήρεμες αγορές, όπου σε ένα σήμα τάσης συχνά βρίσκονται οι καλές είσοδοι. Στο μεγάλο άκρο: όρια θέσεων, επίπεδα περιθωρίου και το γεγονός ότι μια θέση 6× απαιτεί πειθαρχία στη χρήση isolated margin, χωρίς να έχετε κάνει backtest με μοντέλο ρευστοποίησης.
Εντοπίσαμε μια περίπτωση όπου η καμπύλη κεφαλαίου στο paper trading ακολουθούσε το backtest με απόκλιση μικρότερη από 3% επί 6 εβδομάδες και μετά αποκλίνει απότομα. Η αιτία ήταν η στρογγυλοποίηση: αποκοπή με `int()` αντί για στρογγυλοποίηση στο βήμα, στον υπολογιστή μεγέθους εντολής, εφαρμοσμένη σε θέσεις με μέσο μέγεθος 1.4 βήματα. Το backtest υπολόγιζε μεγέθη σε συνεχή χώρο, ενώ ο live υπολογιστής μεγέθους θέσης έχανε το 20-30% της προβλεπόμενης θέσης σε κάθε μικρή συναλλαγή. Καμία εξωτική ιδιαιτερότητα στο μοντέλο εκτέλεσης, καμία ιστορία περί καθυστέρησης. Αποκοπή.
Πού έχουν δίκιο οι επικριτές
Υπάρχουν 3 βάσιμες αντιρρήσεις και δεν θέλω να τις παρακάμψω.
Πρώτον και σημαντικότερο: το μέγεθος θέσης κατανέμει το πλεονέκτημα, δεν μπορεί να το δημιουργήσει. Αν η ακαθάριστη προσδοκώμενη αξία του σήματός σας είναι μηδενική ή αρνητική μετά από ρεαλιστικές προμήθειες και funding, κάθε κανόνας του πίνακα χάνει χρήματα — οι περίτεχνοι κανόνες απλώς τα χάνουν με πιο όμορφο προφίλ διακύμανσης. Επέλεξα ένα σήμα με μικρό αλλά θετικό καθαρό πλεονέκτημα σε αυτή την περίοδο. Εφαρμόστε τους ίδιους 6 κανόνες σε ένα σήμα με καθαρή απόδοση −1.2 bps ανά συναλλαγή και η κατάταξη παραμένει ίδια, ενώ το τελικό κεφάλαιο είναι χαμηλότερο από το αρχικό σε όλες τις περιπτώσεις. Το μέγεθος θέσης πολλαπλασιάζει κάτι. Χρειάζεστε πρώτα αυτό το κάτι.
Δεύτερον, η στόχευση μεταβλητότητας έχει μια πραγματική και καλά τεκμηριωμένη αδυναμία: μειώνει τη μόχλευση στο χαμηλότερο σημείο μιας γρήγορης πτώσης και την αυξάνει ξανά μετά την απότομη ανάκαμψη. Σε μια απότομη κίνηση σχήματος V, η σταθερή ονομαστική αξία κερδίζει, κάποιες φορές κατά πολύ. Η πτώση του Μαρτίου 2020 στις μετοχές και η εκκαθάριση θέσεων στα crypto τον Αύγουστο 2024 τιμώρησαν και οι δύο το μέγεθος θέσης που ανταποκρίνεται στη μεταβλητότητα, κατά το σκέλος της ανάκαμψης. Το τετραετές παράθυρο ETH που εξέτασα τυχαίνει να περιλαμβάνει περισσότερες παρατεταμένες κινήσεις με ομαδοποιημένη μεταβλητότητα παρά αναστροφές σχήματος V, κάτι που ευνοεί τις γραμμές αντίστροφης μεταβλητότητας. Με διαφορετικό χρονικό παράθυρο, κάποια σημεία της κατάταξης αντιστρέφονται, και αν είχα ξεκινήσει με πίνακα από το 2020, θα υποστήριζα μια ασθενέστερη εκδοχή αυτού του επιχειρήματος.
Τρίτον, ο κανόνας μεγέθους θέσης μπορεί να υποστεί υπερπροσαρμογή όσο οτιδήποτε άλλο. Το Half-Kelly με κυλιόμενες εκτιμήσεις είναι το χαρακτηριστικό παράδειγμα στον πίνακά μου: φαίνεται εξελιγμένο, έχει θεωρητική βάση και παρήγαγε το δεύτερο χειρότερο drawdown, επειδή η κυλιόμενη εκτίμηση του μέσου όρου μιας θορυβώδους σειράς αποδόσεων είναι σκουπίδι και το Kelly είναι εξαιρετικά ευαίσθητο σε αυτή. Κάθε κανόνας μεγέθους θέσης που χρησιμοποιεί εκτίμηση αναμενόμενης απόδοσης ως είσοδο κληρονομεί το σφάλμα αυτής της εκτίμησης, σε ενισχυμένη μορφή. Οι κανόνες που χρησιμοποιούν μόνο εκτίμηση διακύμανσης συμπεριφέρονται πολύ καλύτερα, επειδή η διακύμανση είναι η μόνη ροπή που μπορείτε πράγματι να εκτιμήσετε από 4 χρόνια ωριαίων δεδομένων.
Αυτό που θα κρατούσα από όλα αυτά: όταν ένα αποτέλεσμα backtest σας εκπλήσσει, ελέγξτε τη μονάδα μεγέθους θέσης προτού αναζητήσετε κάποια εξυπνάδα στο σήμα. Και όταν αναφέρετε ένα Sharpe, αναφέρετε δίπλα του την πορεία της μόχλευσης και τη γέφυρα κόστους, γιατί ένας αριθμός που εξαρτάται τόσο πολύ από μια απόφαση για το μέγεθος θέσης δεν αποτελεί καθόλου ιδιότητα του σήματος.
← Όλα τα άρθρα
