27 Σεπτέμβριος 2026 · έρευνα

Το backtest πέρασε. Η paper στρατηγική έχασε το 37% των εντολών της.

Το backtest πέρασε. Η paper στρατηγική έχασε το 37% των εντολών της.

Το backtest μας μέτρησε 91 εκτελέσεις από 100 υποβληθείσες εντολές. Στο paper trading, η ίδια στρατηγική πέτυχε 63. Ο διάμεσος χρόνος από το σήμα έως την επιβεβαίωση παραλαβής της εντολής ήταν 84 milliseconds, ενώ 12 από τις paper εντολές που δεν εκτελέστηκαν ήταν limit orders τις οποίες το backtest θεωρούσε εκτελεσμένες μόλις η τιμή τις άγγιζε.

Αυτή η απόκλιση των 28 ποσοστιαίων μονάδων έμοιαζε με πρόβλημα της στρατηγικής, μέχρι που διαχωρίσαμε τις αποφάσεις για τις εντολές από τις αποφάσεις για την εκτέλεσή τους. Η στρατηγική επέλεξε σχεδόν την ίδια κατεύθυνση, μέγεθος και τιμή και στις δύο εκτελέσεις. Η διαδρομή εκτέλεσης διέφερε: κάποιες εντολές έφτασαν καθυστερημένα, κάποιες έμειναν ανοιχτές και κάποιες βρήκαν την αγορά αφού είχε ήδη κινηθεί.

Τι σημαίνει συμφωνία εντολών μεταξύ backtest και paper;

Συμφωνία σημαίνει ότι το backtest και το paper σύστημα λαμβάνουν συγκρίσιμες αποφάσεις με βάση τις ίδιες διαθέσιμες πληροφορίες και, στη συνέχεια, συνυπολογίζουν ρητά τις διαφορετικές προσομοιώσεις εκτέλεσης. Δεν σημαίνει ότι κάθε προσομοιωμένη εκτέλεση πρέπει να αντιστοιχεί σε μία paper εκτέλεση. Τα ιστορικά bars δεν μπορούν να ανασυνθέσουν τη θέση στην ουρά, ενώ μια paper πλατφόρμα μπορεί να χρησιμοποιεί διαφορετικό μοντέλο αντιστοίχισης εντολών από ένα live exchange.

Το χρήσιμο ερώτημα είναι πιο συγκεκριμένο: για κάθε εντολή που σκόπευε να υποβάλει η στρατηγική, μπορείτε να εξηγήσετε τι συνέβη μετά; Ο αριθμός συναλλαγών και η τελική απόδοση κρύβουν υπερβολικά πολλά. Διατηρήστε ενωμένη καταγραφή για κάθε απόφαση, με ένα σταθερό ID απόφασης στρατηγικής που συνοδεύει τα συμβάντα σήματος, εντολής, επιβεβαίωσης, ακύρωσης και εκτέλεσης.

ΣύγκρισηΤι εντοπίζειΠαράδειγμα
Χρόνος και κατεύθυνση απόφασηςΔιαφορετικές είσοδοι ή διαφορετικός προγραμματισμόςΤο paper σήμα ενεργοποιείται ένα bar αργότερα
Ζητούμενο μέγεθος και τιμήΣτρογγυλοποίηση, κανόνες ρίσκου ή κανόνες πλατφόρμαςΤο backtest υποβάλλει 0.013 BTC· το paper στρογγυλοποιεί σε 0.01
Μεταβάσεις κατάστασης εντολήςΚενά στην υποβολή, την απόρριψη και την ακύρωσηΤο backtest θεωρεί το αίτημα ακύρωσης ολοκληρωμένο
Ποσότητα και τιμή εκτέλεσηςΥπεραισιόδοξο μοντέλο εκτέλεσης ή κίνηση της αγοράςΈνα limit που αγγίχτηκε εκτελείται πλήρως στο backtest, αλλά δεν εκτελείται στο paper

Γιατί τα limit orders που άγγιξε η τιμή αντιστοιχούσαν σε τόσες πολλές αστοχίες;

Το backtest χρησιμοποιούσε bars διάρκειας 1-minute. Αν η τιμή του limit βρισκόταν μέσα στο εύρος υψηλής-χαμηλής τιμής ενός bar, θεωρούσε την εντολή εκτελεσμένη. Αυτός ο κανόνας απαντά αν η αγορά διαπραγματεύτηκε σε εκείνη την τιμή κάποια στιγμή μέσα στο λεπτό. Δεν απαντά αν η εντολή μας ήταν τότε ενεργή, αν βρισκόταν πρώτη στην ουρά ή αν διακινήθηκε επαρκής ποσότητα αφού έφτασε.

Τα paper logs αποκάλυψαν το πρόβλημα χρονισμού. Η στρατηγική υπολόγισε ένα σήμα στις 12:03:00.000, αλλά το συμβάν δεδομένων αγοράς έφτασε στη διαδικασία εντολών 31 milliseconds αργότερα. Οι έλεγχοι ρίσκου χρειάστηκαν άλλα 22 milliseconds και ο προσομοιωτής της πλατφόρμας επιβεβαίωσε την εντολή 31 milliseconds μετά από αυτό. Σε μια γρήγορη κίνηση, ένα ιστορικό bar μπορεί να κάνει μια τιμή να φαίνεται προσιτή, παρότι το limit έφτασε αφού η αγορά είχε απομακρυνθεί.

Υπήρχε και μια ακόμη περιπλοκή: δώδεκα paper εντολές παρέμεναν ανοιχτές, ενώ το backtest είχε ήδη προχωρήσει. Ο προσομοιωτής δεχόταν το αίτημα ακύρωσης σαν να είχε εξαφανιστεί αμέσως η εντολή. Στο paper σύστημα, η επιβεβαίωση ακύρωσης έφτανε αργότερα· τρεις εντολές εκτελέστηκαν στο μεταξύ. Αυτό άλλαξε τη θέση που έβλεπε το επόμενο σήμα.

Πώς μετράω την απόκλιση χωρίς να παραπλανώ τον εαυτό μου;

Ξεκινήστε με μια μικρή αναφορά συμφωνίας, ομαδοποιημένη ανά πρόθεση εντολής. Κρατήστε ορατό τον παρονομαστή. Το «ποσοστό εκτέλεσης» μπορεί να σημαίνει εκτελέσεις ανά υποβληθείσα εντολή, εκτελεσμένη ποσότητα διά της ζητούμενης ποσότητας ή εκτελεσμένες εντολές διά των εντολών που έφτασαν στην πλατφόρμα. Αυτά απαντούν σε διαφορετικά ερωτήματα.

  1. Συνδέστε τα συμβάντα με ένα ID απόφασης ή εντολής πελάτη, όχι με μια χρονική σήμανση που μαντέψατε εκ των υστέρων.
  2. Συγκρίνετε πρώτα τις αποφάσεις: ώρα σήματος, κατεύθυνση, ζητούμενη ποσότητα, τύπο εντολής και τιμή limit.
  3. Για αποφάσεις που αντιστοιχούν, συγκρίνετε την καθυστέρηση επιβεβαίωσης, τις απορρίψεις, τον χρόνο παραμονής σε ανοιχτή κατάσταση, τον χρόνο ακύρωσης, την εκτελεσμένη ποσότητα και τη σταθμισμένη ως προς τον όγκο τιμή εκτέλεσης.
  4. Αναφέρετε τα ποσοστά ανά τύπο εντολής και συνθήκες αγοράς. Ένα συνολικό ποσοστό εκτέλεσης 63% μπορεί να κρύβει 90% για market orders και 35% για passive limits.

Κρατήστε τις κατηγορίες σαφώς διακριτές. Μια απορριφθείσα εντολή δεν είναι μη εκτελεσμένη εντολή· μια εντολή που εκτελέστηκε μερικώς δεν είναι πλήρης εκτέλεση· και μια εντολή που ακυρώθηκε μετά από μερική εκτέλεση εξακολουθεί να έχει αλλάξει τη θέση. Μετρήστε τόσο τις εντολές όσο και τη ζητούμενη ποσότητα, ώστε μια συστάδα μικροσκοπικών εντολών να μη δίνει πιο ευνοϊκή εικόνα από την πραγματική.

91%ποσοστό εκτέλεσης εντολών backtest
63%ποσοστό εκτέλεσης εντολών paper
28 ppδιαφορά προς διερεύνηση

Τι πρέπει να αλλάξει στο backtest;

Χρησιμοποιήστε κανόνα εκτέλεσης που ταιριάζει στην ανάλυση των δεδομένων και στην επιδιωκόμενη συμπεριφορά της εντολής. Με bars, το ότι η τιμή άγγιξε ένα limit αποτελεί ένδειξη πιθανής εκτέλεσης, όχι απόδειξή της. Μπορείτε να προσομοιώσετε με συντηρητικό τρόπο τις μερικές εκτελέσεις, να απαιτήσετε διάσπαση της τιμής ή να αποκλείσετε passive orders των οποίων η θέση στην ουρά δεν μπορεί να εκτιμηθεί. Κάθε επιλογή απαντά σε διαφορετικό ερώτημα· τεκμηριώστε την και συγκρίνετε το αποτέλεσμα με περισσότερους από έναν εύλογους κανόνες.

Μοντελοποιήστε επίσης την κατάσταση της εντολής. Μια εντολή παραμένει ενεργή μέχρι το σύστημα να λάβει ένα τελικό συμβάν, και το αίτημα ακύρωσης δεν μηδενίζει την έκθεση. Αν η στρατηγική μπορεί να υποβάλει δεύτερη εντολή ενώ η πρώτη εκκρεμεί, το backtest πρέπει να αποτυπώνει αυτή την αλληλουχία ή να την αποτρέπει βάσει σχεδιασμού.

Ένα μοντέλο εκτέλεσης είναι ένας ισχυρισμός για το τι θα μπορούσε να έχει κάνει η εντολή σας. Ορίστε έναν κανόνα που μπορείτε να εξηγήσετε και, στη συνέχεια, ελέγξτε τον με βάση τα paper logs.

Στην απόκλιση των 28 ποσοστιαίων μονάδων, το απρόσμενο δεν ήταν ότι ένα backtest με minute bars υπερεκτιμούσε τις passive εκτελέσεις. Ήταν ότι η θέση της στρατηγικής είχε αποκλίνει πριν από την επόμενη απόφασή της, επειδή είχαμε παραλείψει τον χρονισμό των ακυρώσεων. Μόλις διορθώσαμε το μοντέλο κατάστασης εντολών και πάψαμε να θεωρούμε κάθε limit που άγγιξε η τιμή εκτελεσμένο, η σύγκριση με το paper έγινε λιγότερο κολακευτική και πιο χρήσιμη.

Αυτό είναι το πρακτικό κριτήριο για τη συμφωνία: κάθε ουσιαστική διαφορά ανάμεσα στη συμπεριφορά της προσομοίωσης και του paper έχει καταγεγραμμένη αιτία, και το backtest δεν παρουσιάζει ως βέβαιο κάτι που τα δεδομένα του δεν μπορούν να τεκμηριώσουν.

paper tradingδιαχείριση εντολώνbacktestingεκτέλεσησυστήματα συναλλαγών
ΚοινοποίησηXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← Όλα τα άρθρα