31 Αύγουστος 2026 · prediction markets

Τι πάει στραβά όταν κάνεις backtest σε prediction markets: ημερολόγιο οκτώ ημερών

Τι πάει στραβά όταν κάνεις backtest σε prediction markets: ημερολόγιο οκτώ ημερών

Τα prediction markets μοιάζουν με το πιο εύκολο πράγμα στον κόσμο για backtest. Η τιμή κυμαίνεται στο [0, 1]. Η απόδοση είναι ένα δολάριο ή τίποτα. Χωρίς μόχλευση, χωρίς χρηματοδότηση, χωρίς βάση, χωρίς παραξενιές perpetual swap στις 00:00 UTC. Είχαμε ήδη ένα backtester που χειριζόταν crypto perps με προμήθειες, χρηματοδότηση και market impact, και το σχέδιο ήταν να περάσουμε δύο μέρες προσαρμόζοντάς το και μετά να αρχίσουμε να δημιουργούμε στρατηγικές.

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

Ημέρα 1: ο adapter που θα έπρεπε να είναι παιχνιδάκι

Η αρχική αντιστοίχιση ήταν ένα προς ένα και φαινόταν απλή. Μια αγορά είναι ένα χρηματοπιστωτικό μέσο. Η τιμή YES είναι η τιμή. Αγορά YES σημαίνει long, αγορά NO σημαίνει short. Η διευθέτηση είναι αναγκαστικό κλείσιμο στο 1.00 ή στο 0.00. Δίνεις την ωριαία σειρά τιμών στον ίδιο event loop και τελείωσες.

Αυτή η αντιστοίχιση άντεξε περίπου ενενήντα λεπτά επαφής με πραγματικά δεδομένα. Πρώτη κατέρρευσε η σειρά αποδόσεων. Ολόκληρο το επίπεδο διαχείρισης κινδύνου — το position sizing, το vol targeting, οι αναφορές Sharpe — υπέθετε λογαριθμικές αποδόσεις ενός μέσου που συνεχίζει να υπάρχει. Μια αγορά που πέφτει από το 0.04 στο 0.00 έχει απροσδιόριστη λογαριθμική απόδοση και καθορισμένη συνολική ζημία. Και μια αγορά στο 0.04 τρεις ημέρες πριν από τη διευθέτηση είναι εντελώς διαφορετικό πράγμα από μια αγορά στο 0.04 τέσσερα λεπτά πριν, παρότι και στις δύο γραμμές γράφει 0.04.

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

Ημέρα 2: ο τύπος προμήθειας είναι η στρατηγική

Στην Kalshi η προμήθεια συναλλαγής δεν είναι μια περικοπή σε μονάδες βάσης. Είναι τετραγωνική συνάρτηση της τιμής: περίπου 0.07 × contracts × P × (1−P), με στρογγυλοποίηση προς τα πάνω στο λεπτό του δολαρίου για κάθε εντολή. Αυτό σημαίνει ότι η προμήθεια είναι μεγαλύτερη ακριβώς εκεί όπου μια αγορά τύπου κορώνα-γράμματα έχει το μεγαλύτερο ενδιαφέρον, ενώ κοντά στα άκρα είναι σχεδόν μηδενική.

ΤιμήΠρομήθεια ανά συμβόλαιοΑπαιτούμενο πλεονέκτημα (μονάδες πιθανότητας)Προμήθεια ως % του πονταρίσματος
5¢0.33¢0.336.7%
10¢0.63¢0.636.3%
25¢1.31¢1.315.3%
50¢1.75¢1.753.5%
75¢1.31¢1.311.8%
90¢0.63¢0.630.7%
95¢0.33¢0.330.35%

Διάβασε την τρίτη στήλη ως το κρίσιμο μέγεθος: για να βγεις ίσα αγοράζοντας στα 50¢ και κρατώντας μέχρι τη διευθέτηση, η εκτίμηση πιθανότητάς σου πρέπει να ξεπερνά την πιθανότητα της αγοράς κατά 1.75 μονάδες. Όχι κατά 1.75% σε σχετικούς όρους. Απόλυτα. Αν κλείσεις τη θέση πριν από τη διευθέτηση αντί να την κρατήσεις, πληρώνεις την προμήθεια δύο φορές, συν το spread.

3.5%προμήθεια μονής κατεύθυνσης στα 50¢, ως ποσοστό του πονταρίσματος
1.75ppπλεονέκτημα πιθανότητας για να βγεις ίσα σε αυτή την τιμή
1διευθέτηση ανά μέσο, συνολικά

Το CLOB της Polymarket είχε ιστορικά πολύ διαφορετική εικόνα προμηθειών, πιο κοντά στο μηδέν για την ίδια τη συναλλαγή, με αποτέλεσμα όλο το κόστος να μεταφέρεται στο spread και στο βάθος. Έτσι, η ίδια λογική στρατηγικής έχει εντελώς διαφορετικά οικονομικά χαρακτηριστικά ανάλογα με την πλατφόρμα, και κάθε σύγκριση μεταξύ πλατφορμών που χρησιμοποιεί ένα ενιαίο μοντέλο προμηθειών είναι φανταστική. Πλέον χρησιμοποιούμε συνάρτηση προμηθειών ανά πλατφόρμα, όχι μία σταθερή τιμή.

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

Ημέρα 3: το βιβλίο είναι κλιμακωτό και ρηχό

Το μοντέλο market impact μας ήταν μια συνάρτηση τετραγωνικής ρίζας, βαθμονομημένη σε βιβλία εντολών BTC perp. Έχει λάθος μορφή. Με tick 1¢ σε ένα μέσο αξίας $1, υπάρχουν μόνο 99 πιθανά επίπεδα τιμών σε ολόκληρο το βιβλίο, ενώ σε μια αγορά με μέτρια ρευστότητα μπορεί να βρίσκονται μερικές εκατοντάδες συμβόλαια στο κορυφαίο επίπεδο και μετά να υπάρχει κενό.

Ακολουθεί ένα στιγμιότυπο από αγορά οικονομικών δεδομένων που δειγματοληπτούσαμε, στην πλευρά YES, περίπου 30 ώρες πριν από τη διευθέτηση:

ΕπίπεδοΜέγεθος (συμβόλαια)Σωρευτικό κόστος αγοράς
42¢310310 @ μέση τιμή 42.0¢
43¢85395 @ μέση τιμή 42.2¢
45¢140535 @ μέση τιμή 42.9¢
49¢6001,135 @ μέση τιμή 46.1¢

Μια εντολή 1,000 συμβολαίων — πεντακόσια δολάρια σε κίνδυνο, αμελητέο ποσό στα crypto — ανεβάζει την αποτελεσματική τιμή κατά τέσσερα σεντ. Τα τέσσερα σεντ είναι πάνω από το διπλάσιο της προμήθειας. Δεν υπάρχει ομαλή συνάρτηση που να ταιριάζει εδώ· πρέπει να διασχίσεις το βιβλίο επίπεδο προς επίπεδο, αλλιώς απλώς επινοείς αποτελέσματα. Διαγράψαμε το μοντέλο sqrt για αυτή την κατηγορία περιουσιακών στοιχείων και γράψαμε έναν κυριολεκτικό αλγόριθμο διάσχισης του βιβλίου, πιο αργό αλλά σωστό.

Κάπου εδώ έπιασα τον εαυτό μου να εκνευρίζεται επειδή αυτές οι αγορές είναι «πολύ μικρές για να έχουν σημασία». Είναι μικρές επειδή αυτό που τιμολογείται είναι ένα μεμονωμένο ερώτημα για τον πραγματικό κόσμο με προθεσμία, και υπάρχουν μόνο τόσοι άνθρωποι που έχουν άποψη για τις αρχικές αιτήσεις επιδόματος ανεργίας στις ΗΠΑ μια Τετάρτη. Το μέγεθος είναι η αγορά. Το να διαμαρτύρεσαι γι' αυτό είναι σαν να παραπονιέσαι ότι ένα τραπέζι πόκερ έχει μόνο εννέα θέσεις.

Ημέρα 4: η μέρα που η καμπύλη κεφαλαίου ήταν πανέμορφη

Sharpe 4.1 σε 1,400 αγορές. Ομαλή καμπύλη. Κάθε ερευνητή θα έπρεπε να τον πιάσει κόμπος στο στομάχι βλέποντάς την — κι εμένα με έπιασε, τελικά, περίπου σαράντα λεπτά αφότου είχα ήδη τραβήξει screenshot.

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

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

Ημέρες 5–6: 1,412 αγορές, περίπου 180 στοιχήματα

Το μέγεθος δείγματος στα prediction markets είναι παγίδα με φιλικό πρόσωπο. Διευθετούνται 1,412 αγορές, νιώθεις ότι έχεις 1,412 παρατηρήσεις και υπολογίζεις ανάλογα ένα t-stat. Όμως δεκατέσσερις αγώνες NFL την ίδια Κυριακή μοιράζονται το ίδιο καιρικό σύστημα, την ίδια ανακοίνωση τραυματισμών και κοινές ροές στοιχημάτων. Πενήντα μία εκλογικές αγορές σε επίπεδο πολιτείας μοιράζονται μία εθνική μετατόπιση. Τα «Θα συμβεί το X έως τις 31 Μαρτίου» και «Θα συμβεί το X έως τις 30 Ιουνίου» είναι το ίδιο στοίχημα με διαφορετικές λήξεις και διευθετούνται μαζί.

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

Ημέρα 7: και η διευθέτηση είναι κατανομή πιθανότητας

Όσα δεν είχαμε μοντελοποιήσει καθόλου και ανακαλύψαμε με τον δύσκολο τρόπο:

Προσθέσαμε στο προσομοιωτή έναν όρο κόστους διακράτησης και τυχαία μετατόπιση της ημερομηνίας διευθέτησης. Κανένα από τα δύο δεν είναι ακριβές. Και τα δύο είναι καλύτερα από την έμμεση παραδοχή ότι η διευθέτηση γίνεται με βεβαιότητα ακριβώς την αναγραφόμενη ημερομηνία.

Ημέρα 8: τι θα παραλείπαμε και τι θα κάναμε πρώτο

  1. Παράλειψε εντελώς τη δομή που βασίζεται στις αποδόσεις. Μην προσαρμόζεις ένα επίπεδο διαχείρισης κινδύνου με στόχο τη μεταβλητότητα σε ένα μέσο με τελική απόδοση. Γράψε ένα επίπεδο καθορισμού μεγέθους στοιχήματος που λειτουργεί με πιθανότητες και ποντάρισμα. Χάσαμε δύο μέρες προσπαθώντας να προσαρμόσουμε το παλιό.
  2. Φτιάξε τη συνάρτηση προμηθειών πριν από τη στρατηγική. Τύπωσε την καμπύλη του απαιτούμενου πλεονεκτήματος ισοσκέλισης για κάθε πλατφόρμα όπου σκοπεύεις να κάνεις συναλλαγές και βάλε την πάνω από το γραφείο. Θα απορρίψει περίπου τις μισές ιδέες προτού σου κοστίσουν μια εκτέλεση backtest.
  3. Διέσχισε το βιβλίο από την πρώτη μέρα. Κάθε παραμετρικό μοντέλο market impact που εισάγεται από μια συνεχή αγορά θα είναι λάθος με τρόπο που σε ευνοεί.
  4. Κάνε ομαδοποίηση πριν μετρήσεις. Καθόρισε το κλειδί ομαδοποίησης για το αποτελεσματικό μέγεθος δείγματος μαζί με τον ορισμό του επενδυτικού σύμπαντος, όχι αφού βρεις ένα Sharpe που σου αρέσει.
  5. Έλεγχε την κατεύθυνση συμπλήρωσης. Μία γραμμή για κάθε join. Αν μια σειρά τελειώνει με την πραγματική απάντηση, αντιμετώπισε τη συμπλήρωση προς τα πίσω ως σφάλμα εκ κατασκευής, αντί να περιμένεις να το προσέξεις στην ανασκόπηση.

Οι οκτώ μέρες άξιζαν τον κόπο, κυρίως επειδή τα prediction markets αφαιρούν την ασάφεια που κάνει τόσο εύκολο να ξεγελάσεις τον εαυτό σου με τα crypto backtests. Δεν υπάρχει επιτόκιο χρηματοδότησης για να προσπεράσεις με μια αόριστη εξήγηση, ούτε σύμβαση τιμής mark για να διαφωνήσεις. Μόνο ένα ερώτημα, μια προθεσμία και μια απάντηση. Όταν το backtest είναι λάθος εδώ, μπορείς να δείξεις ακριβώς πού.

prediction marketsbacktestingπρομήθειεςμικροδομή αγοράςμηχανική δεδομένων
ΚοινοποίησηXLinkedInFacebookRedditHacker NewsWhatsAppTelegramEmail
← Όλα τα άρθρα