Το πιο ειλικρινές μοντέλο ολίσθησης είναι συχνά σκόπιμα λανθασμένο. Ένα backtest που αναφέρει ένα ακριβές κόστος εκτέλεσης με βάση χονδροειδή ιστορικά δεδομένα διατυπώνει έναν ισχυρισμό που τα δεδομένα δεν μπορούν να στηρίξουν.
Αυτό μοιάζει με επιχείρημα υπέρ των πρόχειρων παραδοχών. Ισχύει το αντίθετο: χρησιμοποιήστε ένα απλό μοντέλο που μπορείτε να εξηγήσετε και μετά κάντε το να διαφωνεί με τον εαυτό του. Αν μια στρατηγική λειτουργεί μόνο με μία βολικά ευνοϊκή εκτίμηση εκτέλεσης, η αβεβαιότητα αποτελεί μέρος του αποτελέσματος.
Γιατί μπορεί να είναι παραπλανητική μια ακριβής εκτίμηση ολίσθησης;
Ας υποθέσουμε ότι έχετε μπάρες OHLCV διάρκειας 1 λεπτού και στέλνετε εντολή αγοράς για 2,000 μετοχές. Η μπάρα δείχνει το εύρος τιμών και τον συνολικό όγκο μέσα σε ένα λεπτό. Δεν δείχνει την τιμή bid και ask όταν έφτασε η εντολή σας, την ουρά εντολών που προηγούνταν, τον τρόπο κατανομής του όγκου μέσα στο λεπτό ή πόσο από αυτόν θα είχε απορροφήσει η εντολή σας.
Μπορείτε και πάλι να αποδώσετε έναν αριθμό στην ολίσθηση. Μπορεί να θεωρήσετε ότι η εκτέλεση γίνεται στο άνοιγμα της επόμενης μπάρας συν ένα σταθερό κόστος σε μονάδες βάσης, ή να κλιμακώσετε το κόστος ανάλογα με το μέγεθος της εντολής σε σχέση με τον όγκο της μπάρας. Αυτές είναι χρήσιμες προσεγγίσεις. Δεν είναι παρατηρήσεις. Αν αναφέρετε το αποτέλεσμα ως «ολίσθηση: 3.2 μονάδες βάσης», παρουσιάζετε μια επιλογή μοντέλου σαν να ήταν μέτρηση.
Ας δούμε ένα συγκεκριμένο παράδειγμα. Μια στρατηγική πραγματοποιεί συναλλαγές αξίας $20,000 ανά εντολή σε μια μετοχή, με όγκο $400,000 στην επόμενη μπάρα. Το ποσοστό συμμετοχής είναι 5%. Ένα μοντέλο που χρεώνει 2 μονάδες βάσης κοστίζει $4 ανά εντολή· ένα μοντέλο που χρεώνει 10 μονάδες βάσης κοστίζει $20. Σε 500 συναλλαγές μετ’ επιστροφής, η διαφορά φτάνει τα $16,000, πριν από τις προμήθειες. Αν το μικτό κέρδος του backtest της στρατηγικής είναι $18,000, η παραδοχή για την εκτέλεση επηρεάζει το αποτέλεσμα σχεδόν όσο και το σήμα.
Φτιάξτε ένα εύρος που να αντανακλά όσα μπορούν να δείξουν τα δεδομένα σας
Ξεκινήστε με μια βασική παραδοχή που ταιριάζει στον τύπο εντολής της στρατηγικής και στην ανάλυση των δεδομένων. Μια εντολή αγοράς απαιτεί να συνυπολογίσετε το spread και την επίδραση στην αγορά. Μια οριακή εντολή χρειάζεται κανόνα για το αν εκτελείται καθόλου· η παραδοχή ότι κάθε τιμή που αγγίζεται οδηγεί σε εκτέλεση αποτελεί διαφορετικό σφάλμα μοντελοποίησης της εκτέλεσης.
Έπειτα εκτελέστε το ίδιο backtest με ένα μικρό σύνολο ρητά καθορισμένων σεναρίων. Κρατήστε σταθερά το σήμα, το μέγεθος θέσης και τις χρονοσημάνσεις, ώστε οι αλλαγές να αποδίδονται στην εκτέλεση:
| Σενάριο | Παραδοχή εκτέλεσης | Τι εξετάζει |
|---|---|---|
| Ευνοϊκό | Βασικό spread και χαμηλή επίδραση στην αγορά | Πόσο εξαρτάται η στρατηγική από ευνοϊκές συνθήκες συναλλαγών; |
| Βασικό | Τυπικό spread και επίδραση στην αγορά κλιμακωμένη βάσει συμμετοχής | Τι συνεπάγεται η επιλεγμένη παραδοχή εργασίας; |
| Δυσμενές | Μεγαλύτερο spread, υψηλότερη επίδραση στην αγορά και καθυστερημένη εκτέλεση | Αντέχει το πλεονέκτημα σε μια εύλογα δύσκολη αγορά; |
Αυτά δεν είναι διαστήματα εμπιστοσύνης, εκτός αν τα έχετε βαθμονομήσει στατιστικά. Είναι έλεγχοι σεναρίων. Εξηγήστε τι σημαίνουν στην αναφορά και μην τα συνδυάζετε σε μια επινοημένη «αναμενόμενη ολίσθηση» χωρίς στοιχεία για τις πιθανότητες.
Κάντε το μοντέλο να λαμβάνει υπόψη την εντολή
Μια σταθερή χρέωση σε μονάδες βάσης μπορεί να είναι ένα λογικό πρώτο βήμα για μικρές εντολές. Όσο αυξάνεται η συμμετοχή, γίνεται ανεπαρκής περιγραφή. Καταγράφετε τουλάχιστον την ονομαστική αξία της εντολής, τον διαθέσιμο όγκο της μπάρας και το ποσοστό συμμετοχής. Αν η στρατηγική συναλλάσσεται σε futures, καταγράφετε την αξία του συμβολαίου και τις σχετικές μονάδες όγκου· αν συναλλάσσεται σε spot crypto, προσδιορίζετε ρητά το νόμισμα αποτίμησης και τον τόπο διαπραγμάτευσης.
Μια απλή καμπύλη επίδρασης μπορεί να αναδείξει την πίεση στη χωρητικότητα χωρίς να προσποιείται ότι αναπαράγει το βιβλίο εντολών. Για παράδειγμα, ορίστε το κόστος ως βασική χρέωση spread συν έναν όρο επίδρασης που αυξάνεται με την τετραγωνική ρίζα του ποσοστού συμμετοχής. Προσαρμόστε τις παραμέτρους του μόνο αν διαθέτετε κατάλληλα δεδομένα εκτέλεσης. Διαφορετικά, μεταβάλλετε τις παραμέτρους και δείξτε πόσο γρήγορα επιδεινώνεται το αποτέλεσμα.
Και μην αφήνετε το μοντέλο εκτέλεσης να διασώζει σιωπηρά τη στρατηγική. Ένα ανοδικό σήμα που φτάνει μετά από απότομη άνοδο δεν θα πρέπει να εκτελείται στο χαμηλό της μπάρας απλώς και μόνο επειδή αυτό βρίσκεται μέσα στο κερί. Χρησιμοποιήστε έναν αιτιώδη κανόνα εκτέλεσης, έπειτα επιβαρύνετε την τιμή και προσθέστε καθυστέρηση. Αν η καθυστερημένη εντολή χάσει την κίνηση, αυτό είναι αποτέλεσμα εκτέλεσης, όχι μια ενόχληση που πρέπει να εξομαλύνετε.
Χρήσιμο ερώτημα: Σε ποιο spread, επίπεδο επίδρασης, καθυστέρηση ή ποσοστό συμμετοχής μηδενίζεται η καθαρή απόδοση; Αυτό το σημείο ισορροπίας είναι συχνά πιο χρήσιμο στην πράξη από έναν μοναδικό δείκτη Sharpe του backtest.
Χρησιμοποιήστε το paper trading για να περιορίσετε το εύρος
Το paper trading δεν θα αποκαλύψει την εκτέλεση που θα λαμβάνατε σε μια ζωντανή μηχανή αντιστοίχισης εντολών. Μπορεί, ωστόσο, να σας δείξει αν η ροή εντολών του backtest μοιάζει με τις πραγματικές αποφάσεις του συστήματος: πότε δημιουργούνται οι εντολές, πόσο μεγάλες είναι και για πόσο παραμένουν εκτελέσιμες.
Συγκρίνετε την προσομοιωμένη τιμή εντολής με τις τιμές αγοράς εκείνη τη στιγμή ή με όποια δεδομένα αγοράς καταγράφει το σύστημα paper trading. Παρακολουθήστε τη διαφορά ανά μέσο, ώρα της ημέρας, μέγεθος εντολής και τύπο εντολής. Αυτές οι παρατηρήσεις μπορούν να περιορίσουν τις παραδοχές για τη συγκεκριμένη διάταξη. Δεν ισχύουν αυτομάτως για διαφορετικό τόπο διαπραγμάτευσης, καθεστώς αγοράς ή μεγαλύτερη εντολή.
Οι επικριτές έχουν δίκιο ότι τα απαισιόδοξα σενάρια μπορεί να είναι αυθαίρετα. Ένα σκόπιμα αυστηρό μοντέλο μπορεί να απορρίψει μια βιώσιμη στρατηγική, όπως ένα ευνοϊκό μοντέλο μπορεί να κολακέψει μια αδύναμη. Γι’ αυτό μην ανακηρύσσετε το αυστηρότερο σενάριο ως αλήθεια. Δημοσιεύστε τις παραδοχές, δείξτε την ευαισθησία και συλλέξτε τα δεδομένα που χρειάζονται για να αντικαταστήσετε τις εικασίες με βαθμονομημένες εκτιμήσεις.
Ένα backtest δεν μπορεί να γνωρίζει τη θέση του στην ιστορική ουρά εντολών από ένα κερί. Μπορεί να δείξει αν η ιδέα εξακολουθεί να φαίνεται συνεκτική όταν η εκτέλεση χειροτερεύει με τρόπους που τα δεδομένα σας δεν μπορούν να αποκλείσουν. Αυτή είναι πιο χρήσιμη απάντηση από ένα επιπλέον δεκαδικό ψηφίο.
← Όλα τα άρθρα


