Τον περασμένο μήνα, μια παραγόμενη στρατηγική έβγαλε καμπύλη κεφαλαίου με υποχώρηση 63%. Βαθιά, άσχημη πτώση και μετά καθαρή ανάκαμψη τις επόμενες έξι εβδομάδες — το είδος διαγράμματος που κάνει έναν ερευνητή να το κοιτάξει προσεκτικά και να αποφασίσει πως είναι διαχειρίσιμο αν μειώσει το μέγεθος των θέσεων. Την ξαναέτρεξα σε μηχανισμό περιθωρίου που γνωρίζει τι είναι η βαθμίδα περιθωρίου συντήρησης. Ο λογαριασμός εκκαθαρίστηκε την 41η ημέρα, στη μέση εκείνης της πτώσης, και ό,τι βρισκόταν δεξιά από την 41η ημέρα ήταν φανταστικό.
Αυτό είναι το ακριβότερο είδος σφάλματος backtest που γνωρίζω, επειδή δεν αλλοιώνει τις αποδόσεις σου κατά λίγες μονάδες βάσης. Διαγράφει από την προσομοίωση μια απορροφητική κατάσταση. Μια στρατηγική που μπορεί να μηδενιστεί και μια στρατηγική που δεν μπορεί είναι διαφορετικές στρατηγικές, και ένα backtest που δεν ελέγχει ποτέ το περιθώριο δεν μπορεί να σου πει ποια από τις δύο έχεις.
Βλέπω να γίνεται λάθος με τρεις τρόπους.
Λάθος τρόπος πρώτος: η μόχλευση ως αριθμός με τον οποίο πολλαπλασιάζεις τις αποδόσεις
Η συνηθέστερη εκδοχή. Υπολογίζεις μια σειρά αποδόσεων από τα σήματά σου, αποφασίζεις ότι θα τη δουλέψεις με μόχλευση 10x και πολλαπλασιάζεις. Μερικές φορές γίνεται λίγο πιο σύνθετο — το μέγεθος της θέσης είναι equity * leverage / price — αλλά η κατάσταση του λογαριασμού παραμένει ένας απλός αριθμός που ανεβαίνει και κατεβαίνει. Χωρίς υπόλοιπο περιθωρίου, χωρίς όριο ονομαστικής αξίας, χωρίς συνθήκη αποτυχίας.
Η ζημιά είναι ανεπαίσθητη, γι' αυτό και περνάει τον έλεγχο. Το Sharpe δεν εξαρτάται από την κλίμακα, οπότε ο βασικός αριθμός σου δεν αλλάζει όταν μεταβάλλεις τη μόχλευση από 3x σε 30x, και ο ερευνητής συμπεραίνει ότι η μόχλευση είναι ένας δωρεάν ρυθμιστής που ανταλλάσσει μεταβλητότητα με απόδοση. Η μέγιστη υποχώρηση αυξάνεται γραμμικά και μένει κάτω από το 100% από αριθμητικό ατύχημα, επειδή μια σειρά πολλαπλασιασμένων αποδόσεων τείνει ασυμπτωτικά προς το μηδέν και δεν το διασχίζει ποτέ. Πολλαπλασίασε μια ημέρα -9% επί 12 και παίρνεις -108% στην αξιόπιστη εκδοχή, αλλά «-108% και η καμπύλη κεφαλαίου παραμένει θετική» στην αφελή, ανάλογα με το αν έκανες ανατοκισμό ή άθροιση. Έχω δει και τα δύο.
Αυτό που λείπει είναι ότι η μόχλευση δεν εφαρμόζεται στις αποδόσεις σου. Εφαρμόζεται στις εξασφαλίσεις σου, και οι εξασφαλίσεις είναι πεπερασμένη ποσότητα που το ανταλλακτήριο παρακολουθεί κάθε δευτερόλεπτο. Μόλις πέσουν κάτω από την απαίτηση συντήρησης, η θέση παύει να σου ανήκει.
Η ένδειξη: αν η προσομοίωσή σου δεν μπορεί να καταλήξει σε ολική απώλεια με κανένα επίπεδο μόχλευσης, δεν μοντελοποιεί τη μόχλευση.
Λάθος τρόπος δεύτερος: τιμή εκκαθάρισης που προκύπτει μόνο από τη μόχλευση
Το δεύτερο επίπεδο πολυπλοκότητας προσθέτει έλεγχο εκκαθάρισης, συνήθως κάπως έτσι: με μόχλευση 20x, μια δυσμενής κίνηση 5% εξαντλεί το περιθώριο, άρα εκκαθαρίζουμε στο επίπεδο εισόδου × 0.95 για μια long θέση. Απλό, διαισθητικό και λάθος με τέσσερις διαφορετικούς τρόπους ταυτόχρονα.
Οι πλατφόρμες διαρκών συμβολαίων δεν χρησιμοποιούν τη ρύθμιση μόχλευσης για να αποφασίσουν πότε τελείωσες. Χρησιμοποιούν ένα ποσοστό περιθωρίου συντήρησης που αυξάνεται ανά βαθμίδα ανάλογα με την ονομαστική αξία της θέσης. Ενδεικτική δομή για BTCUSDT USDⓈ-M, η οποία αλλάζει καθώς οι πλατφόρμες την αναθεωρούν:
| Ονομαστική αξία θέσης (USDT) | Ποσοστό περιθωρίου συντήρησης | Μέγιστη μόχλευση |
|---|---|---|
| 0 – 50,000 | 0.40% | 125x |
| 50,000 – 600,000 | 0.50% | 100x |
| 600,000 – 3,000,000 | 1.00% | 50x |
| 3,000,000 – 12,000,000 | 2.50% | 20x |
| 12,000,000 – 70,000,000 | 5.00% | 10x |
Άρα, η δυσμενής κίνηση που αντέχεις σε μια isolated long θέση είναι περίπου 1/L − MMR, όχι 1/L. Στο 20x της δεύτερης βαθμίδας, αυτό είναι 5% − 0.5% = 4.5%. Το μισό τοις εκατό ακούγεται σαν στρογγυλοποίηση. Στο BTC στα 84,000, είναι 420 δολάρια στην τιμή, και σε μια βίαιη ώρα τα 420 δολάρια είναι η διαφορά ανάμεσα σε μια σκιά τιμής που σε έβγαλε εκτός και σε μία που δεν το έκανε. Κάθε σκιά τιμής γίνεται κορώνα ή γράμματα και έχεις μεροληπτήσει όλες υπέρ σου.
Μετά έρχονται οι προμήθειες. Η προμήθεια taker εισόδου αφαιρείται από το περιθώριό σου τη στιγμή που εκτελείται η εντολή: 0.045% σε ονομαστική αξία 500,000 σημαίνει 225 USDT έναντι υπολοίπου περιθωρίου 25,000, κάτι που μετακινεί την τιμή εκκαθάρισης πριν καν κάνει οτιδήποτε η θέση. Το ίδιο συμβαίνει συνεχώς με τη χρηματοδότηση και, στην ονομαστική αξία με μόχλευση, το κόστος είναι πολύ μεγαλύτερο απ' όσο περιμένουν οι ερευνητές:
Μια θέση που δεν κάνει τίποτα για τριάντα ημέρες — χωρίς δυσμενή κίνηση και χωρίς συναλλαγές — έχει κάψει σχεδόν το ένα πέμπτο των εξασφαλίσεών της και έχει φέρει αισθητά πιο κοντά την τιμή εκκαθάρισης. Ο τρίτος και ο τέταρτος τρόπος που είναι λάθος: οι βαθμίδες αλλάζουν καθώς αυξάνεις τη θέση, οπότε μια θέση που ξεκινά στη βαθμίδα 0.5% και μεγαλώνει με αγορές σε υψηλότερες τιμές, περνώντας στη βαθμίδα 1.0%, έχει χειρότερη τιμή εκκαθάρισης από εκείνη που υπολόγισες στην είσοδο· και το cross margin συγκεντρώνει τις εξασφαλίσεις μεταξύ θέσεων, άρα η επιβίωση της long θέσης σου στο BTC εξαρτάται από το τι κάνει η short θέση σου στο ETH. Αν προσομοιώνεις το cross margin ως σύνολο ανεξάρτητων isolated θέσεων, έχεις αντιστρέψει τη δομή συσχέτισης του ίδιου σου του λογαριασμού.
Λάθος τρόπος τρίτος: διεκπεραίωση της εκκαθάρισης με λάθος τιμή, σε λάθος στιγμή και με λάθος εκτέλεση
Ας πούμε ότι βρήκες σωστά το επίπεδο ενεργοποίησης. Τώρα: ποια τιμή το διασχίζει, πότε ελέγχεις και σε ποια τιμή εκτελείται η εντολή σου;
Η εκκαθάριση ενεργοποιείται με βάση την τιμή αναφοράς, έναν δείκτη από διάφορες αγορές spot με εξομαλυμένο στοιχείο βάσης, σχεδιασμένο σκόπιμα ώστε να μην επηρεάζεται από μια σκιά τιμής σε ένα μόνο ανταλλακτήριο. Το stop-loss σου, ανάλογα με τη ρύθμισή του, πιθανότατα ενεργοποιείται από την τελευταία τιμή συναλλαγής. Αυτές οι δύο τιμές αποκλίνουν ακριβώς όταν έχει μεγαλύτερη σημασία. Κατά τη διάρκεια μιας αλυσιδωτής πτώσης, η τελευταία τιμή του διαρκούς συμβολαίου μπορεί να αποκλίνει κατά 1–2% κάτω από την τιμή αναφοράς για δεκάδες δευτερόλεπτα. Ένα backtest που εκτελεί τόσο το stop όσο και την εκκαθάριση με βάση το χαμηλό του ίδιου OHLCV μοντελοποιεί μια πλατφόρμα που δεν υπάρχει.
Και τα δύο σφάλματα υπάρχουν εδώ και δεν αλληλοαναιρούνται. Με την τελευταία τιμή, εκκαθαρίζεσαι σε σκιές τιμών που η πλατφόρμα αγνόησε. Με την τιμή αναφοράς, χάνεις την περίπτωση όπου μετακινήθηκε η ίδια η τιμή αναφοράς — η απόκλιση του δείκτη σε μια αγορά spot είναι πραγματικός τρόπος να εκκαθαριστείς σε τιμή που δεν εμφανίστηκε ποτέ στο διαρκές συμβόλαιο που διαπραγματευόσουν.
Μετά είναι η εκτέλεση. Οι αφελείς μηχανισμοί κλείνουν τη θέση στην τιμή εκκαθάρισης και καταχωρίζουν τη ζημιά σαν να ήταν stop. Στην πραγματικότητα, ο μηχανισμός εκκαθάρισης αναλαμβάνει τη θέση στην τιμή πτώχευσης — το επίπεδο όπου το περιθώριό σου είναι ακριβώς μηδέν, χειρότερο από το επίπεδο ενεργοποίησης — και επιπλέον χρεώνεται τέλος εκκαθάρισης, που εξαρτάται από τη βαθμίδα και είναι περίπου 1% της ονομαστικής αξίας στις χαμηλότερες βαθμίδες. Με 20x, το 1% της ονομαστικής αξίας είναι το 20% του περιθωρίου που σου έχει απομείνει. Αν ο μηχανισμός εκτελέσει την εντολή κάτω από την τιμή πτώχευσης, το ασφαλιστικό ταμείο καλύπτει τη διαφορά· σε ορισμένες πλατφόρμες, αν εξαντληθεί το ταμείο, η κοινωνικοποίηση των ζημιών επεκτείνεται και στην κερδοφόρα πλευρά του βιβλίου εντολών. Η πραγματοποιηθείσα ζημιά σου δεν είναι η υποχώρηση μέχρι την τιμή εκκαθάρισης. Είναι μεγαλύτερη, και η υπέρβαση είναι μεγαλύτερη ακριβώς τις ημέρες που το βιβλίο ήταν αρκετά ρηχό ώστε να κάνει την κατάσταση χειρότερη.
Και το ζήτημα του χρονισμού από τους μηχανισμούς εντός της μπάρας ισχύει εδώ με πιο σοβαρές συνέπειες απ' ό,τι συνήθως. Αν μια μπάρα 1-minute περιλαμβάνει τόσο το take-profit σου όσο και το επίπεδο εκκαθάρισης, ένα backtest που ελέγχει τις εξόδους πριν από το περιθώριο θα καταχωρίσει ευχαρίστως το κέρδος. Η πλατφόρμα ελέγχει το περιθώριο σε κάθε ενημέρωση της τιμής αναφοράς, περίπου μία φορά το δευτερόλεπτο, πριν από οτιδήποτε άλλο θα ήθελες να συμβεί.
Τι πρέπει να παρακολουθεί αντί γι' αυτά ο μηχανισμός
Τίποτα από αυτά δεν χρειάζεται να είναι εξωτικό. Χρειάζεται να διατηρεί κατάσταση. Ο λογαριασμός είναι ένα αντικείμενο με υπόλοιπο, όχι μια σειρά αποδόσεων, και σε κάθε μπάρα ενημερώνεται με τη σειρά που θα τον ενημέρωνε η πλατφόρμα:
- Υπόλοιπο πορτοφολιού και μη πραγματοποιημένα PnL, χωριστά. Ο λόγος περιθωρίου είναι το περιθώριο συντήρησης προς το υπόλοιπο περιθωρίου, και το υπόλοιπο περιθωρίου περιλαμβάνει το μη πραγματοποιημένο PnL. Αν τα συγχέεις, μια ζημιογόνα θέση μοιάζει να έχει καλύτερη εξασφάλιση απ' όση έχει στην πραγματικότητα.
- Τον πίνακα βαθμίδων για κάθε σύμβολο, με έκδοση ανά ημερομηνία. Οι βαθμίδες αναθεωρούνται. Ένα backtest του 2023 που εκτελείται με τις βαθμίδες του 2026 έχει διακριτική μεροληψία μελλοντικών δεδομένων — συνήθως ευνοϊκή, καθώς οι πλατφόρμες έχουν γενικά χαλαρώσει τις απαιτήσεις για τα βασικά νομίσματα με την πάροδο του χρόνου.
- Σειρά τιμών αναφοράς, όχι μόνο klines. Αν δεν μπορείς να βρεις ιστορικά δεδομένα τιμών αναφοράς, δήλωσέ το στα αποτελέσματα και χρησιμοποίησε μια συντηρητική προσέγγιση. Μην αντικαθιστάς ποτέ σιωπηρά την τιμή με την τελευταία τιμή συναλλαγής.
- Πρώτος έλεγχος περιθωρίου στη σειρά συμβάντων της μπάρας, πριν από stop, στόχους, σήματα ή αναπροσαρμογή χαρτοφυλακίου.
- Εκτελέσεις στην τιμή πτώχευσης μαζί με το τέλος εκκαθάρισης, με το ποσοστό τέλους να διαβάζεται από την ίδια γραμμή βαθμίδας με το MMR.
- Απορροφητική τελική κατάσταση. Όταν τα ίδια κεφάλαια μηδενιστούν, η εκτέλεση τελειώνει. Χωρίς επαναφορά της βάσης, χωρίς «ας υποθέσουμε ότι ο trader καταθέτει κι άλλα», χωρίς συνέχιση της σειράς με νέα ονομαστική αξία.
Αυτό το τελευταίο προκαλεί τις περισσότερες διαφωνίες. Κάποιος πάντα επισημαίνει ότι ένα πραγματικό trading desk θα κατέθετε περισσότερες εξασφαλίσεις, άρα ο τερματισμός της προσομοίωσης είναι υπερβολικά αυστηρός και μη ρεαλιστικός. Ίσως. Όμως ο ισχυρισμός «αυτή η στρατηγική λειτουργεί αν συνεχίσεις να της βάζεις χρήματα αφού καταρρεύσει» αξίζει να διατυπωθεί ακριβώς έτσι και να δοκιμαστεί σκόπιμα, με τις πρόσθετες καταθέσεις ως ρητή είσοδο, αντί να περνάει λαθραία ως προεπιλογή. Όταν το γράψεις ειλικρινά, οι περισσότεροι ανακαλύπτουν ότι δεν το εννοούσαν.
Το πρακτικό όφελος όλων αυτών: όταν εκτελείς την ίδια στρατηγική σε χαρτί, σε σύγκριση με την ενεργή πλατφόρμα, ο λόγος περιθωρίου που αναφέρει το ανταλλακτήριο και εκείνος που υπολογίζει ο προσομοιωτής σου πρέπει να παρακολουθούν ο ένας τον άλλον με απόκλιση μίας ή δύο μονάδων βάσης, όλη μέρα. Αυτή η συμφωνία ελέγχεται κάθε λεπτό, σε κάθε ανοιχτή θέση, δωρεάν. Είναι ο φθηνότερος έλεγχος ισοτιμίας σε ολόκληρη τη στοίβα και σχεδόν κανείς δεν τον εκτελεί — κι όταν οι δύο αριθμοί αποκλίνουν, το ανταλλακτήριο έχει δίκιο και έχεις ένα σφάλμα που αξίζει να βρεις πριν το εντοπίσει για σένα η υποχώρηση.
← Όλα τα άρθρα


