Μια στρατηγική υποβάλλει μια εντολή ορίου στις 10:00. Το σήμα της αλλάζει στις 10:03. Το backtest αντικαθιστά σιωπηρά την εντολή στις 10:04 και έπειτα καταγράφει εκτέλεση στις 10:05. Στο paper trading, η αρχική εντολή μπορεί να παραμένει ενεργή στο χρηματιστήριο. Αν εκτελεστεί ενώ εκκρεμεί και η αντικατάστασή της, η στρατηγική έχει 2 εντολές, ενώ το μοντέλο θέσης προσποιείται πως υπήρχε μόνο 1.
Οι ανοιχτές εντολές χρειάζονται δική τους κατάσταση και χρονόμετρο. Ένα backtest πρέπει να γνωρίζει πότε υποβλήθηκε κάθε εντολή, πότε μπορεί να ακυρωθεί, αν η ακύρωση έφτασε στο χρηματιστήριο και τι συμβαίνει αν η εκτέλεση συμπέσει χρονικά με την ακύρωση. 3 απλουστεύσεις σβήνουν συχνά αυτά τα δεδομένα.
Λάθος 1: Να θεωρείτε ότι ένα νέο σήμα ακυρώνει αμέσως την εντολή
Πολλά backtest υπολογίζουν ξανά τη θέση-στόχο σε κάθε μπάρα και έπειτα αντικαθιστούν την ενεργή εντολή με αυτό που ζητά το πιο πρόσφατο σήμα. Έτσι, η εντολή εξαφανίζεται ακριβώς τη στιγμή που η στρατηγική αλλάζει γνώμη. Τα πραγματικά χρηματιστήρια δεν λειτουργούν έτσι. Η αίτηση ακύρωσης χρειάζεται χρόνο και η εντολή μπορεί να εκτελεστεί προτού την επεξεργαστεί το χρηματιστήριο.
Ας υποθέσουμε ότι υπάρχει εντολή αγοράς ορίου για 100 μετοχές στα $50.00. Στις 10:03 το σήμα εξασθενεί, οπότε η στρατηγική στέλνει αίτηση ακύρωσης. Στις 10:03:00.080 εκτελούνται 60 μετοχές· η ακύρωση επιβεβαιώνεται στις 10:03:00.110. Οι υπόλοιπες 40 μετοχές ακυρώνονται, αλλά η θέση πλέον περιλαμβάνει 60 μετοχές. Ένα backtest που βασίζεται σε μπάρες και διαγράφει την εντολή στις 10:03 μπορεί να αναφέρει μηδενική θέση. Ένα άλλο, που υποθέτει άμεση ακύρωση αλλά παρ' όλα αυτά καταγράφει μεταγενέστερη εκτέλεση, έχει επινοήσει έκθεση προς την αντίθετη κατεύθυνση.
Παρακολουθείτε ρητά τον κύκλο ζωής της εντολής: υποβληθείσα, επιβεβαιωμένη, μερικώς εκτελεσμένη, ακύρωση σε εκκρεμότητα, ακυρωμένη ή πλήρως εκτελεσμένη. Διατηρείτε τις εκτελέσεις που γίνονται πριν επιβεβαιωθεί η ακύρωση. Για μια προσομοίωση με χονδροειδείς μπάρες, επιλέξτε και δηλώστε έναν συντηρητικό κανόνα σειράς όταν και τα 2 συμβάντα μπορεί να συμβούν μέσα στην ίδια μπάρα.
Λάθος 2: Να αφήνετε μια ενεργή εντολή χωρίς χρονικό όριο
Μια εντολή ορίου που ορίστηκε βάσει σήματος στις 10:00 μπορεί να καταστεί παρωχημένη, ακόμη κι αν το σήμα δεν έχει ρητό κανόνα εξόδου. Το βιβλίο εντολών μεταβάλλεται, η μεταβλητότητα αλλάζει και η αξία του μέσου στην αγορά μπορεί να αποκλίνει. Κι όμως, ένας προσομοιωτής που αφήνει την εντολή ενεργή μέχρι να εκτελεστεί μπορεί να την εκτελέσει μήνες αργότερα και να πιστώσει την εκτέλεση σε μια επενδυτική θέση που δεν ισχύει πια.
Ορίστε πολιτική ισχύος εντολής που ταιριάζει στη στρατηγική. Ένα σήμα διάρκειας 1 λεπτού μπορεί να έχει λήξη στα 30 δευτερόλεπτα· μια ημερήσια αναπροσαρμογή χαρτοφυλακίου μπορεί να διατηρεί την εντολή ενεργή μέχρι το κλείσιμο. Αυτές είναι επιλογές της στρατηγικής, όχι καθολικές προεπιλογές. Αν η στρατηγική αλλάζει την τιμή της εντολής σε κάθε μπάρα, μοντελοποιήστε τη διαδικασία ακύρωσης και αντικατάστασης, αντί να τηλεμεταφέρετε μαγικά την εντολή στη νέα τιμή.
| Πολιτική εντολής | Συνήθης χρήση | Ερώτημα για το backtest |
|---|---|---|
| Άμεση εκτέλεση ή ακύρωση | Απορρόφηση της διαθέσιμης ρευστότητας και μετά διακοπή | Ποιο μέρος θα μπορούσε να εκτελεστεί κατά την υποβολή; |
| Σύντομη λήξη | Γρήγορο σήμα με σύντομο χρονικό περιθώριο εκτέλεσης | Ήταν η εντολή ακόμη έγκυρη όταν η τιμή επέστρεψε; |
| Μέχρι το τέλος της συνεδρίασης | Αργή αναπροσαρμογή ή πρόθεση συμμετοχής στη δημοπρασία κλεισίματος | Υποστηρίζει πράγματι το χρηματιστήριο αυτή τη διάρκεια ισχύος; |
Λάθος 3: Να μετράτε κάθε άγγιγμα της τιμής ως εκτέλεση
Αν το χαμηλό ενός κεριού φτάσει την τιμή αγοράς ορίου, αυτό δεν σημαίνει απαραίτητα ότι εκτελέστηκε η εντολή. Μπορεί να υπήρχαν εντολές μπροστά της στην ουρά, να έγινε μικρός όγκος συναλλαγών σε αυτή την τιμή ή να σημειώθηκε για λίγο μια συναλλαγή πριν φτάσει η εντολή. Ένα παρωχημένο μοντέλο εντολών συχνά συνδυάζει και τα 3 λάθη: αφήνει την εντολή ενεργή υπερβολικά πολύ, υποθέτει ότι ήταν πρώτη στην ουρά και μετά αποδίδει πλήρη εκτέλεση μόλις η τιμή αγγίξει το όριο.
Τουλάχιστον, αποτρέψτε τις εκτελέσεις πριν από την ώρα άφιξης της εντολής και περιορίστε την προσομοιωμένη ποσότητα βάσει του εύλογου όγκου συναλλαγών στην τιμή ορίου. Για στρατηγικές όπου έχει σημασία η θέση στην ουρά, χρησιμοποιήστε δεδομένα συναλλαγών και βιβλίου εντολών ή ένα σκόπιμα συντηρητικό μοντέλο ουράς. Η εκτέλεση βάσει αγγίγματος της τιμής μπορεί και πάλι να χρησιμεύσει για μια πρόχειρη αρχική αξιολόγηση, αλλά χαρακτηρίστε την αισιόδοξη προσέγγιση και συγκρίνετέ την με μια αυστηρότερη υπόθεση.
Ένας πρακτικός έλεγχος: καταγράφετε για κάθε εντολή τον χρόνο δημιουργίας, το διάστημα ισχύος, την αίτηση και την επιβεβαίωση ακύρωσης, τον χρόνο και την ποσότητα εκτέλεσης, καθώς και την ποσότητα που απομένει. Έπειτα αναπαράγετε μερικές συναλλαγές γύρω από αντιστροφές σημάτων. Αν δεν μπορείτε να εξηγήσετε γιατί κάθε εντολή παρέμενε ενεργή όταν εκτελέστηκε, χρειάζεται να βελτιώσετε τον αριθμό εκτελέσεων του backtest.
Μοντελοποιήστε την εντολή που σκοπεύετε να δοκιμάσετε σε paper trading
Η κατάσταση της εντολής συνδέει την πρόθεση της στρατηγικής με την πραγματική έκθεση. Η θέση πρέπει να αλλάζει όταν εκτελούνται εντολές, όχι όταν αλλάζουν οι στόχοι των σημάτων ή υποβάλλονται αιτήσεις ακύρωσης. Οι αντικαταστάσεις πρέπει να αφήνουν ελέγξιμο ιστορικό και οι μερικές εκτελέσεις πρέπει να διατηρούνται μέχρι την επόμενη απόφαση. Αυτό κάνει το backtest πιο σύνθετο, αλλά δίνει νόημα στη σύγκριση με το paper trading: και τα 2 συστήματα μπορούν να διαφωνούν ως προς την εκτέλεση για λόγους που μπορούν να προσδιοριστούν.
Όταν το μοντέλο εντολών έχει αβεβαιότητες, αποτυπώστε τις στα αποτελέσματα. Δοκιμάστε εντολές με σύντομη και μεγάλη διάρκεια ισχύος, μεταβάλετε την καθυστέρηση ακύρωσης και δείξτε πόσο εξαρτάται η απόδοση από αισιόδοξες υποθέσεις για την ουρά. Η στρατηγική μπορεί να είναι καλή. Μπορεί όμως το φαινομενικό της πλεονέκτημα να οφείλεται και στους τόκους που απέφερε μια εντολή την οποία το πραγματικό σύστημα θα είχε ακυρώσει ώρες νωρίτερα.
← Όλα τα άρθρα


