30 Αύγουστος 2026 · στατιστική

Πόσες συναλλαγές χρειάζεται ένα backtest για να σημαίνει κάτι το Sharpe;

Πόσες συναλλαγές χρειάζεται ένα backtest για να σημαίνει κάτι το Sharpe;

Αυτή είναι η ερώτηση που μου κάνουν συχνότερα, με κάποια παραλλαγή, όσοι μόλις ολοκλήρωσαν την πρώτη τους στρατηγική: πόσες συναλλαγές χρειάζομαι για να είναι πραγματικό το αποτέλεσμα; Συνήθως τη συνοδεύει κι ένας αριθμός. «Έχω 1,200 συναλλαγές, φτάνουν, σωστά;» Και η ειλικρινής απάντηση εκνευρίζει τους πάντες, γιατί δεν έχει να κάνει καθόλου με το πλήθος των συναλλαγών.

Ορίστε όλη η ουσία σε μία γραμμή· στη συνέχεια θα αφιερώσω την υπόλοιπη ανάρτηση στο γιατί πονάει.

1/√Tτυπικό σφάλμα ετησιοποιημένου Sharpe, T σε έτη
±0.88διάστημα 95% γύρω από οποιοδήποτε Sharpe 5 ετών
1.4Sharpe που εμφανίζει η πιο τυχερή από 100 στρατηγικές θορύβου στα ίδια 5 έτη

Ποιο είναι το τυπικό σφάλμα ενός λόγου Sharpe;

Για ένα Sharpe που υπολογίζεται σε n περιοδικές αποδόσεις, με την υπόθεση ότι είναι ανεξάρτητες και κατά προσέγγιση κανονικές, το σφάλμα δειγματοληψίας είναι:

SE(s) ≈ √((1 + s²/2) / n)

όπου s είναι το Sharpe μετρημένο στην ίδια συχνότητα. Αν ετησιοποιήσουμε και τις δύο πλευρές, προκύπτει κάτι απλό. Με k παρατηρήσεις ανά έτος και T έτη, το ετησιοποιημένο Sharpe S έχει:

SE(S) ≈ √((1 + S²/(2k)) / T)

Κοιτάξτε το 2k στον παρονομαστή. Για ημερήσιες αποδόσεις k = 252, οπότε ακόμη κι ένα Sharpe 2 συνεισφέρει 4/504 ≈ 0.008 στον αριθμητή. Όλος ο όρος καταλήγει στο 1. Το τυπικό σφάλμα ενός ετησιοποιημένου Sharpe είναι περίπου 1/√T, όπου T είναι τα ημερολογιακά έτη δεδομένων σου. Εξαρτάται ελάχιστα από το ίδιο το Sharpe, δεν εξαρτάται από τη συχνότητα δειγματοληψίας και σε καμία περίπτωση δεν εξαρτάται από το πόσες συναλλαγές έκανες.

Άρα:

Έτη δεδομένωνSE(Sharpe)95% CI αν μέτρησες 1.5
11.00−0.46 έως 3.46
20.710.11 έως 2.89
30.580.37 έως 2.63
50.450.62 έως 2.38
100.320.88 έως 2.12

Ένα backtest που δείχνει Sharpe 1.5 σε δύο χρόνια ιστορικών δεδομένων δεν μπορεί, με επίπεδο εμπιστοσύνης 95%, να διακρίνει στατιστικά το αποτέλεσμά του από μια ρίψη νομίσματος. Αυτή είναι η βασική κατάσταση για το μεγαλύτερο μέρος της έρευνας στα κρυπτονομίσματα, επειδή τα καθαρά δεδομένα των περισσότερων —διορθωμένα για μεροληψία επιβίωσης και με ακριβείς προμήθειες— ξεκινούν κάπου γύρω στο 2022, ενώ τα μισά ενδιαφέροντα σύμβολα δεν υπήρχαν πριν από το 2023.

Μα έχω 40,000 συναλλαγές. Δεν αρκεί αυτό;

Όχι, και αυτή είναι η παρανόηση που θέλω περισσότερο να ξεκαθαρίσω.

Το πλήθος συναλλαγών και το μήκος του δείγματος είναι διαφορετικά μεγέθη, και μόνο το ένα εμφανίζεται στον τύπο. Αν η στρατηγική σου ενεργοποιείται 40,000 φορές μέσα σε έξι μήνες, έχεις T = 0.5 και SE ≈ 1.41. Το διάστημα 95% για μετρημένο Sharpe 2.0 εκτείνεται από −0.8 έως 4.8. Σαράντα χιλιάδες συναλλαγές, και το ειλικρινές συμπέρασμα είναι «μπορεί να είναι καλή, μπορεί και να είναι ζημιογόνα».

Ο λόγος είναι ότι αυτές οι 40,000 συναλλαγές δεν είναι 40,000 ανεξάρτητα στοιχήματα σε 40,000 διαφορετικές καταστάσεις της αγοράς. Είναι 40,000 δείγματα από περίπου 180 ημέρες συμπεριφοράς της αγοράς· οι ημέρες συσχετίζονται μεταξύ τους, όπως συσχετίζονται και τα καθεστώτα της αγοράς μέσα τους. Ένα βιβλίο υψηλής συχνότητας που βασίζεται στη μέση επαναφορά και βγάζει κέρδος καθημερινά για τέσσερις μήνες έχει ουσιαστικά κάνει ένα στοίχημα —ότι η επαναφορά σε σύντομο ορίζοντα ισχύει σε αυτό το καθεστώς ρευστότητας— και έχει δει την έκβασή του ίσως μόνο λίγες φορές που να είναι ανεξάρτητες.

Ο τρόπος που το σκέφτομαι: μέτρα τα καθεστώτα της αγοράς, όχι τα fills. Πόσες πραγματικά διαφορετικές συνθήκες αγοράς άντεξε αυτή η στρατηγική; Μια στρατηγική carry χρηματοδότησης που λειτούργησε σε μια παρατεταμένη περίοδο θετικής βάσης έχει δει n = 1, ανεξάρτητα από το πόσες ωριαίες αναπροσαρμογές κατέγραψε.

Γρήγορος διαγνωστικός έλεγχος: κάνε block bootstrap στις ημερήσιες απώλειες και τα κέρδη σου, με μήκος block 20 ημερών, και εξέτασε την κατανομή των Sharpe από τα επαναδειγματοληπτημένα δεδομένα. Αν το 5ο εκατοστημόριο είναι κάτω από το μηδέν, το πλήθος των συναλλαγών σου είναι άσχετο. Χρειάζονται περίπου εννέα γραμμές numpy, και αυτός ο έλεγχος με έχει αποτρέψει από περισσότερες στρατηγικές απ' ό,τι οποιοσδήποτε άλλος μεμονωμένος έλεγχος.

Ισχύει ο τύπος για πραγματικές στρατηγικές;

Όχι ακριβώς, και το σφάλμα του είναι προς την κατεύθυνση που δεν θα σου αρέσει. Το αποτέλεσμα 1/√T προϋποθέτει IID κανονικές αποδόσεις. Οι αποδόσεις πραγματικών στρατηγικών παρουσιάζουν αυτοσυσχέτιση και ασυμμετρία, η οποία συνήθως είναι αρνητική σε οτιδήποτε θυμίζει carry, short vol ή μέση επαναφορά. Η διόρθωση του Mertens επαναφέρει αυτές τις ροπές:

SE(s) ≈ √((1 + s²/2 − γ₃·s + (γ₄−3)·s²/4) / n)

όπου γ₃ είναι η ασυμμετρία και γ₄ η κύρτωση. Η αρνητική ασυμμετρία κάνει τον όρο −γ₃·s θετικό, διευρύνοντας το διάστημα. Η υπερβάλλουσα κύρτωση το διευρύνει ακόμη περισσότερο. Για ένα τυπικό P&L στρατηγικής carry στα κρυπτονομίσματα, με ασυμμετρία γύρω στο −1.2 και κύρτωση γύρω στο 9, έχω δει το διορθωμένο τυπικό σφάλμα να βγαίνει 30–40% μεγαλύτερο από το απλοϊκό. Η εργασία του Lo του 2002 καλύπτει την αυτοσυσχέτιση, και το αποτέλεσμα έχει την ίδια κατεύθυνση: η θετική σειριακή συσχέτιση στις αποδόσεις διογκώνει το απλοϊκό Sharpe και μειώνει το φαινομενικό σφάλμα — ένας δυσάρεστος συνδυασμός.

Γι' αυτό θεώρησε το 1/√T κατώτατο όριο της αβεβαιότητάς σου. Είναι το καλύτερο δυνατό σενάριο.

Πόσο υψηλό πρέπει να είναι το Sharpe αν δοκίμασα 500 παραλλαγές;

Τώρα φτάνουμε στο σημείο που έχει σημασία για όποιον εκτελεί αυτοματοποιημένη ερευνητική διαδικασία —αυτό που κάνουμε καθημερινά στη Stratmill: ο agent παραγωγής δεν δίνει έναν υποψήφιο, αλλά εκατοντάδες.

Η αναμενόμενη μέγιστη τιμή από M αντλήσεις μιας τυπικής κανονικής κατανομής είναι περίπου √(2 ln M). Πολλαπλασίασέ την με το τυπικό σφάλμα και παίρνεις το Sharpe που θα εμφανίσει η πιο τυχερή από M πραγματικά άχρηστες στρατηγικές.

Στρατηγικές που δοκιμάστηκαν√(2 ln M)Sharpe καλύτερης στρατηγικής θορύβου, 5 έτη (SE 0.45)Καλύτερη στρατηγική θορύβου, 2 έτη (SE 0.71)
102.150.961.52
1003.031.362.16
5003.531.582.50
5,0004.131.852.93

Διάβασε την προτελευταία γραμμή. Αν δημιούργησες 500 υποψήφιες στρατηγικές με δύο χρόνια δεδομένων και η καλύτερη εμφανίζει Sharpe 2.4, δεν έχεις βρει απολύτως τίποτα. Είναι κάτω από το επίπεδο θορύβου. Το deflated Sharpe των Bailey και López de Prado το διατυπώνει τυπικά, χρησιμοποιώντας τη διακύμανση των Sharpe των δοκιμών αντί για το χονδρικό √(2 ln M). Αξίζει να το υλοποιήσεις σωστά, αλλά η απλοϊκή εκδοχή αρκεί για να αλλάξεις συμπεριφορά από σήμερα.

Δύο πράγματα κάνουν την κατάσταση χειρότερη απ' όσο δείχνει ο πίνακας. Πρώτον, M δεν είναι ο αριθμός των στρατηγικών που αποθήκευσες, αλλά ο αριθμός όσων αξιολόγησες, μαζί με κάθε αλλαγή παραμέτρου, κάθε «ας δοκιμάσω απλώς lookback 30 περιόδων», κάθε νέα εκτέλεση μετά από διόρθωση σφάλματος. Κανείς δεν τα μετράει με ειλικρίνεια. Δεύτερον, οι υποψήφιες στρατηγικές σου δεν είναι ανεξάρτητες αντλήσεις, άρα το √(2 ln M) υπερεκτιμά το πραγματικό εύρος των δοκιμών· από την άλλη, οι συσχετισμένες δοκιμές σημαίνουν επίσης ότι ένα τυχερό καθεστώς μπορεί να ανεβάσει ολόκληρη ομάδα τους μαζί.

Ο πιο επικίνδυνος αριθμός στην ποσοτική έρευνα είναι αυτός που κανείς δεν κατέγραψε: πόσες φορές κοίταξες τα αποτελέσματα.

Τι κάνω, λοιπόν, στην πράξη;

Πέντε πράγματα, με τη σειρά που θα τα έκανα.

  1. Κατέγραψε κάθε αξιολόγηση. Ένας μετρητής που αυξάνεται σε κάθε εκτέλεση backtest, αποθηκεύεται και δεν μηδενίζεται ποτέ. Αν δεν μπορείς να πεις πόσο είναι το M, δεν μπορείς να ορίσεις το κατώφλι σου. Αυτή είναι η μία ώρα μηχανικής με τη μεγαλύτερη αξία σε όλη τη λίστα.
  2. Να αναφέρεις πάντα το Sharpe μαζί με το διάστημά του. Μην εμφανίζεις ποτέ έναν σκέτο αριθμό. Οι αναφορές backtest μας εμφανίζουν 1.72 ± 0.51 (2.9y, skew-adjusted) και το ± δεν είναι προαιρετικό. Αλλάζει τον τρόπο με τον οποίο μιλά όλη η ομάδα για τα αποτελέσματα.
  3. Όρισε το όριο με βάση τα M και T πριν δεις τα αποτελέσματα. Πάρε τον αριθμό από τον παραπάνω πίνακα και σημείωσέ τον. Τα εκ των υστέρων κατώφλια είναι ο τρόπος με τον οποίο όλοι πείθουν τον εαυτό τους ότι μια καμπύλη έχει προσαρμοστεί υπερβολικά καλά.
  4. Προτίμησε το εύρος από τη συχνότητα όταν το δείγμα σου είναι μικρό. Δεν μπορείς να κατασκευάσεις περισσότερο ημερολογιακό χρόνο, αλλά μπορείς να εφαρμόσεις το ίδιο σήμα σε 40 μη συσχετισμένα σύμβολα. Αυτό αυξάνει πραγματικά το αποτελεσματικό n, σε αντίθεση με την αύξηση της συχνότητας συναλλαγών. Πρόσεχε, όμως, τις συσχετίσεις — 40 perpetual συμβόλαια κρυπτονομισμάτων σε ώρα αποφυγής κινδύνου είναι ένα μόνο χρηματοπιστωτικό μέσο.
  5. Μετά, δοκίμασέ το σε προσομοίωση. Ο χρόνος εκτός δείγματος συσσωρεύεται μία ημέρα τη φορά και δεν υπάρχει συντόμευση· γι' αυτό είναι το μόνο δείγμα που κανείς δεν μπορεί να υπερπροσαρμόσει.

Τίποτα από αυτά δεν κάνει τα μικρά δείγματα αξιοποιήσιμα. Σε βοηθά να είσαι ειλικρινής για τα συμπεράσματα που μπορεί να στηρίξει ένα μικρό δείγμα — τα οποία είναι πολύ πιο περιορισμένα απ' ό,τι υπονοούν οι περισσότερες αναφορές backtest. Ένα Sharpe 1.5 σε δύο χρόνια είναι μια υπόθεση που αξίζει να δοκιμαστεί σε προσομοίωση. Δεν είναι εύρημα.

λόγος Sharpeυπερπροσαρμογήbacktestingστατιστική σημαντικότηταποσοτική έρευνα
ΚοινοποίησηXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← Όλα τα άρθρα