16 Αύγουστος 2026 · Backtesting

Γιατί τα περισσότερα backtest λένε ψέματα, και οι τέσσερις γραμμές κόστους που τα διορθώνουν

Γιατί τα περισσότερα backtest λένε ψέματα, και οι τέσσερις γραμμές κόστους που τα διορθώνουν

Ξεκινάμε με τους αριθμούς, γιατί αυτοί είναι όλο το επιχείρημα. Μια συναλλαγή taker με άνοιγμα και κλείσιμο σε ένα μεγάλο venue perpetuals κοστίζει περίπου 0.10% του notional σε προμήθειες. Το funding σε μια υπερπλήρη long θέση μπορεί να τρέχει 10-30% ετησιοποιημένα εις βάρος σου. Μια market order που είναι μεγάλη σε σχέση με το βάθος στην κορυφή του βιβλίου πληρώνει impact κατά τον νόμο της τετραγωνικής ρίζας, πάνω από το spread. Και ένα backtest που διαβάζει τη σημερινή αναθεώρηση των χθεσινών δεδομένων αποκτά ένα edge αξίας αρκετών ποσοστιαίων μονάδων τον χρόνο, το οποίο ποτέ δεν υπήρξε.

0.10%κόστος taker για άνοιγμα και κλείσιμο, ανά συναλλαγή
0.15%ελάχιστο edge ανά συναλλαγή που απαιτούμε
4κόστη που παραλείπουν τα περισσότερα backtest

Ο αριθμός που εκπλήσσει είναι ο πρώτος. Όχι επειδή είναι μεγάλος — αλλά για το τι κάνει στη συχνότητα συναλλαγών. Όλοι συμφωνούν με το «να συμπεριλάβουμε τις προμήθειες» και μετά δοκιμάζουν μια στρατηγική που κάνει σαράντα συναλλαγές τη μέρα. Με 0.10% ανά κύκλο, οι σαράντα συναλλαγές είναι 4% του notional τη μέρα σε κόστη. Δεν υπάρχει σήμα σε ένα mid-cap perp που να ξεπερνά αυτόν τον πήχη. Η στρατηγική δεν ήταν ούτε κατά διάνοια βιώσιμη, και το backtest χωρίς προμήθειες την έβγαλε ιδιοφυΐα.

Οι προμήθειες είναι φίλτρο, όχι κούρεμα

Το νοητικό μοντέλο που κουβαλούν οι περισσότεροι είναι ότι οι προμήθειες ξυρίζουν λίγο την καμπύλη: ίδιο σχήμα, λίγο χαμηλότερα. Λάθος. Οι προμήθειες είναι φίλτρο συχνότητας. Εξαφανίζουν εντελώς τις υψίσυχνες εκδοχές ενός edge και αφήνουν τις αργές σχεδόν άθικτες. Όταν το pipeline μας άρχισε να επιβάλλει πραγματικά maker/taker τιμολόγια ανά venue, οι στρατηγικές που πέθαναν δεν ήταν οι κακές ιδέες — ήταν καλές ιδέες που συναλλάσσονταν πολύ συχνά. Η λύση ήταν συνήθως ένα μεγαλύτερο timeframe, όχι ένα καλύτερο σήμα. Πλέον εγκαταλείπουμε οτιδήποτε έχει μέση απόδοση ανά συναλλαγή κάτω από 0.15% του notional, γιατί μετά τα κόστη και των δύο σκελών δεν μένει τίποτα για να ανατοκιστεί.

Το funding είναι φόρος θέσης — και έχει μνήμη

Τα perpetual futures πληρώνουν funding κάθε μία ή κάθε οκτώ ώρες, και δεν είναι θόρυβος: είναι δομικά συσχετισμένο ακριβώς με τις συναλλαγές που θέλουν τα momentum συστήματα. Όταν όλοι είναι long, το funding είναι θετικό, και η δική σου long momentum θέση το πληρώνει. Ένα backtest χωρίς λογιστική καταγραφή funding κολακεύει συστηματικά το trend-following στα perps. Το μάθαμε με τον ντροπιαστικό τρόπο — μια ολόκληρη οικογένεια στρατηγικών funding-carry εγκαταλείφθηκε αυτόματα επειδή η μηχανή δεν πίστωνε το funding που ήταν φτιαγμένες να θερίζουν. Το σήμα ήταν μια χαρά. Έλειπε η λογιστική.

Το impact κλιμακώνεται με την τετραγωνική ρίζα του μεγέθους σου

Η ευγενική μυθοπλασία του backtesting σε bars είναι ότι γεμίζεις στο close. Για μικρές εντολές αυτό είναι περίπου αλήθεια. Για οτιδήποτε σοβαρό, το αποδεκτό μοντέλο λέει ότι το impact μεγαλώνει με την τετραγωνική ρίζα του μεγέθους της εντολής σε σχέση με τον όγκο, και δεν επιστρέφει ποτέ. Ενσωματώνουμε μια εκτίμηση impact κατά τον νόμο της τετραγωνικής ρίζας σε κάθε εκτέλεση και στην ίδια την καμπύλη κεφαλαίου. Μετράει περισσότερο ακριβώς εκεί που μας βολεύει λιγότερο: στη χωρητικότητα. Μια στρατηγική μπορεί να είναι πραγματικά κερδοφόρα στα $50k και δομικά ζημιογόνα στα $5M, και μόνο μια καμπύλη που λαμβάνει υπόψη το impact δείχνει πού είναι το όριο.

Το look-ahead κρύβεται στα δεδομένα, όχι στον κώδικα

Κανείς δεν γράφει if tomorrow_close > today_close: buy(). Το look-ahead τρυπώνει από τις σωληνώσεις των δεδομένων: sentiment ειδήσεων χρονοσφραγισμένο με την ώρα δημοσίευσης αντί για την ώρα λήψης, funding rates ενωμένα με την περίοδο που καλύπτουν αντί για τη στιγμή που έγιναν γνωστά, «τρέχοντα» σύμπαντα συμβόλων εφαρμοσμένα στο ιστορικό (survivorship), αναθεωρημένα οικονομικά στοιχεία που αντικαθιστούν τον αριθμό που πραγματικά βγήκε στην ταινία. Ο κανόνας μας είναι point-in-time παντού: κάθε συμπληρωματική σειρά χρονοσφραγίζεται με το πότε θα μπορούσαμε εμείς να την ξέρουμε, και ένα backtest μπορεί να διαβάσει μόνο ό,τι υπήρχε σε εκείνο το νανοδευτερόλεπτο.

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

Αυτή η τελευταία πρόταση είναι πραγματική διαδικασία, όχι σλόγκαν. Κάθε μέρα ξαναπαίζουμε το παράθυρο κάθε στρατηγικής που τρέχει σε paper trading μέσα από τη μηχανή backtest και συγκρίνουμε τις συναλλαγές μία προς μία. Όταν το paper και η επανάληψη διαφωνούν, το ένα από τα δύο λέει ψέματα, και συνήθως φταίει ένα κόστος ή μια χρονοσφραγίδα. Οι τέσσερις γραμμές κόστους παραπάνω είναι απλώς αυτές που μας είπαν ψέματα πρώτες.

backtestingπρομήθειεςfundingmarket impactειλικρίνεια
ΚοινοποίησηXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← Όλα τα άρθρα