Oι μέθοδοι βελτιστοποίησης των συναλλαγών
Πώς «χτίζεται» ένα κερδοφόρο σύστημα συναλλαγών.
Στο πρώτο μέρος αυτής της σειράς άρθρων ορίσαμε το πλαίσιο για την αναγνώριση κερδοφόρων σημάτων εκτέλεσης συναλλαγών. Έχοντας σε προηγούμενο άρθρο περιγράψει τη δομή δεδομένων για την αυτόματη ανίχνευση τέτοιων σημάτων, σε αυτό το τελευταίο μέρος αναφερόμαστε στην εφαρμογή του μοντέλου και τη βελτιστοποίησή του.
» EA-Optimizer και αξιολόγηση
Ο EA-Optimizer αναφέρθηκε εν συντομία στο δεύτερο μέρος της σειράς. Εδώ αναφερόμαστε σε μια μέθοδο βελτιστοποίησης (EA = εξελικτικός αλγόριθμος), που μπορούμε να την μάθουμε από την αξιολόγηση των παραλλαγών του συτήματος εκτέλεσης συναλλαγών. Χρησιμοποιώντας τις αποκτηθείσες γνώσεις, ο Optimizer κάνει μια επιλογή από τις διαθέσιμες επιλογές «Master function», «Price Event» και «Ranking» για την επόμενη ροή διαδικασίας.. Κάθε σχετικός συνδυασμός παραμέτρων των δεικτών μιας ροής ανάλυσης πρέπει να αξιολογηθεί. Η μονάδα βελτιστοποίησης πρέπει να ξέρει τι πρέπει να βελτιστοποιηθεί.
Αυτό γίνεται μέσω της λειτουργίας που ονομάζεται «fitness» και αντιστοιχεί στην ιδέα της «επιβίωσης του ισχυρότερου» - οι συνδυασμοί με την υψηλότερη βαθμολογία προχωράνε στην επόμενη γενιά. Αυτή η λειτουργία είναι έντονα προσανατολισμένη στις προσωπικές προτιμήσεις ρίσκου. Είναι σημαντικό να δίνεται προσοχή στα μικρά πράγματα.
Εάν η αξιολόγηση γινόταν βάσει της «υψηλότερης δυνατής απόδοσης», αυτό μπορεί να δοθεί στο Optimizer ως «optimizing Annual Return». Ωστόσο, αν τότε προκύψει στην πράξη ένα σύστημα με υψηλή ετήσια απόδοση, η οποία όμως επιτεύχθηκε μόνο λόγω εκπληκτικών αποτελεσμάτων σε μεμονωμένα έτη, ο optimizer προσπαθεί και πάλι να υπερβεί αυτή την τιμή - χωρίς να λαμβάνεται υπόψη η κατανομή των αποδόσεων. Ένας χρήσιμος δείκτης για τον προσδιορισμό της αναλογίας ρίσκου/ανταμοιβής είναι η αναλογία MAR.
Εδώ, η ετήσια απόδοση διαιρείται με το μέγιστο μέγεθος απωλειών του συστήματος. Όταν ένας παράγοντας του συστήματος έχει ετήσια απόδοση 30 τοις εκατό και μέγιστο μέγεθος απωλειών 20 τοις εκατό, τότε προκύπτει μια τιμή ίση με 1,5. Για να διασφαλιστεί η επίτευξη και διατήρηση της απόδοσης, πολλαπλασιάζουμε την αναλογία MAR με το ποσοστό των επικερδών ετών και λαμβάνουμε την ακόλουθη λειτουργία καταλληλότητας (fitness function):
Fitness = κερδοφόρα έτη σε αναλογία % X ετήσια απόδοση / μέγιστο μέγεθος απωλειών σε αναλογία %
Η αξία fitness συσχετίζεται λοιπόν θετικά με την αναλογία των κερδοφόρων ετών και την ετήσια απόδοση και όσο χαμηλότερο είναι το μέγιστο μέγεθος απωλειών, τόσο υψηλότερη είναι.
Μέθοδοι βελτιστοποίησης
Είναι πρακτικά αδύνατο να υπολογιστούν όλοι οι πιθανοί συνδυασμοί δείκτη/παραλλαγής. Αν υποθέσουμε δέκα μεταβλητές με πέντε πιθανές τιμές σε κάθε κατηγορία δείκτη, έχουμε 510, σχεδόν δέκα εκατομμύρια συνδυασμούς σε κάθε κατηγορία. Η προσομοίωση μιας παραλλαγής χρειάζεται περίπου ένα δευτερόλεπτο. Έτσι, για δέκα εκατομμύρια παραλλαγές θα χρειαζόμασταν περίπου 115 ημέρες. Στην πράξη, ωστόσο, υπάρχουν συχνά ακόμα περισσότερες παραλλαγές. Στις συναλλαγές έχουμε πάντα να αντιμετωπίσουμε αποφάσεις υπό το καθεστώς αβεβαιότητας. Αυτό σημαίνει ότι δεν γνωρίζουμε εκ των προτέρων αν υπάρχουν επικερδείς συνδυασμοί στα εξεταζόμενα δεδομένα. Με βάση αυτή τη γνώση, μπορούμε τώρα να προσαρμόσουμε τους στόχους μας. Με μια αναζήτηση για το συνδυασμό με το μέγιστο ποσοστό επιτυχίας, θα πρέπει στην πραγματικότητα να αναλύσουμε όλους τους συνδυασμούς.
Ωστόσο, αν είμαστε πρόθυμοι να δεχτούμε ένα συνδυασμό με ένα καλό αποτέλεσμα, οι μέθοδοι βελτιστοποίησης που αναλύουν τους συνδυασμούς μόνο εν μέρει, οδηγούν στον στόχο. Ακόμη και τότε, είναι πιθανό να βρεθεί ο συνδυασμός με το μέγιστο ποσοστό επιτυχίας. Απλά δεν είμαστε 100% σίγουροι για αυτό. Θέλουμε να παρουσιάσουμε τη βελτιστοποίηση χρησιμοποιώντας το παράδειγμα του PBIL-algorithm. PBIL σημαίνει «Population Based Incremental Learning» και είναι μια μέθοδος αναζήτησης που περιγράφει τους πιθανούς συνδυασμούς δείκτη/παραλλαγής ως διάνυσμα πιθανότητας («βάσει πληθυσμού») και επικαιροποιείται μαθαίνοντας από προηγούμενες δοκιμές («Incremental Learning»). Κατά την έναρξη της λειτουργίας βελτιστοποίησης, όλοι οι συνδυασμοί είναι εξίσου πιθανοί. Μετά από κάθε κύκλο, αυξάνεται η πιθανότητα της παραλλαγής για όσους συνδυασμούς έχουν πετύχει σε αυτό τον κύκλο.
Ο συντάκτης αρέσκεται να χρησιμοποιεί ως σύγκριση την αναζήτηση ενός βουνού σε ένα σκοτεινό τοπίο. Αν δεν έχει κανένα σημείο αναφοράς, μπορεί από τη θέση του να τρέξει προς μια συγκεκριμένη κατεύθυνση. Εάν αυτός ο δρόμος είναι ανηφορικός, συνεχίζει, γιατί θα έχουν αυξηθεί οι πιθανότητές του για την εξεύρεση ενός βουνού. Διαφορετικά, ακολουθεί μια διαφορετική διαδρομή και ελέγχει ξανά αν είναι ανηφορική κ.ο.κ.
Το λογισμικό www.QuantShare.com με κατάλληλα επίπεδα αλγορίθμων βελτιστοποίησης, χρησιμοποιείται και πάλι για τον αναδρομικό έλεγχο. Η βελτιστοποίηση PBIL εκτελείται με τις ακόλουθες παραμέτρους:
• Αριθμός γενεών: 1000
• Μέγεθος πληθυσμού: 10
• Ρυθμός εκμάθησης: 0,01
• Αριθμός βέλτιστων λύσεων για χρήση στην εκμάθηση: 3
Αυτό σημαίνει ότι υπάρχουν κύκλοι βελτιστοποίησης με 1000 γενιές (αριθμός γενεών: συνήθως δεν επιτυγχάνεται αυτός ο αριθμός). Για κάθε γενιά επιλέγονται δέκα συνδυασμοί (μέγεθος πληθυσμού). Ο ρυθμός εκμάθησης μετά από κάθε γενιά είναι 0,01 και επιλέγονται οι τρεις καλύτεροι συνδυασμοί μιας γενιάς για την επικαιροποίηση του διανύσματος πιθανότητας.
Το διάγραμμα 1 δείχνει στον άξονα χ τις ενδιάμεσες γενιές και στον άξονα ψ την τιμή fitness. Το πράσινο διάγραμμα είναι η αντίστοιχη υψηλότερη τιμή fitness στην γενιά και το μπλε είναι η μέση τιμή fitness των επιλεγμένων συνδυασμών της γενιάς. Φαίνεται καθαρά ότι η τιμή του fitness εξελίσσεται όσο αυξάνεται ο αριθμός της γενιάς – ρυθμίζεται από την εκμάθηση από προηγούμενες γενιές. Ως μέρος αυτής της ανάλυσης, θα μπορούσε να καθοριστεί μια μέγιστη τιμή fitness ίση με 133,78.
Ωστόσο, σε ένα χρόνο το σύστημα έχει μια μικρή απώλεια. Επομένος, ο συντάκτης μπαίνει στο σύστημα με την τιμή fitness των 129,05, καθώς σε αυτή την περίπτωση όλα τα χρόνια είναι κερδοφόρα. Τώρα μετατρέπουμε τα επιμέρους αποκαλούμενα «χρωματοσώματα» που παράγονται από το λογισμικό σε έναν κανόνα που μοιάζει ως εξής:
• Θέσεις: 7
• Περίοδος εκμετάλλευσης: δέκα ημέρες συναλλαγών, χωρίς stop-loss, χωρίς στοχευόμενο κέρδος
• Δείκτης: stochastic % SlowK κατά περιόδους
• Κατάταξη: StdDev (τυπική απόκλιση) φθίνουσα
• Αποτέλεσμα τιμής: Lap Down (event = 17)
Το διάγραμμα 2 δείχνει την ανάπτυξη κεφαλαίου αυτού του συστήματος. Από το αρχικό κεφάλαιο των 100.000 δολαρίων, μέσα σε 13 χρόνια θα έβγαιναν 10,6 εκατομμύρια δολάρια. Ο πίνακας 1 δείχνει τα βασικά δεδομένα του συστήματος.
Επίσης θα πρέπει να αναλυθούν και τα άλλα καλά χρωματοσώματα και οι ευκαιρίες τους θα πρέπει να δοκιμαστούν στην τελική φάση της ανάπτυξης του συστήματος. Η εμπειρία έχει δείξει ότι όταν προσθέτουμε περαιτέρω φίλτρα, stop-loss και κανόνες κέρδους, υπάρχουν ακόμα πιο επικερδείς ευκαιρίες.
Συμπέρασμα
Η ανάλυση έχει δείξει ότι, χρησιμοποιώντας αυτοματοποιημένες, μαθηματικές και στατιστικές μεθόδους, μπορούν να βρεθούν αποτελεσματικά κερδοφόρα σήματα εκτέλεσης συναλλαγών. Στην προκειμένη περίπτωση, αυτό επιτεύχθηκε χρησιμοποιώντας τον κλασικό δείκτη stochastic λαμβάνοντας υπόψη ένα Lap Down ως Price-Event-Filter.
Φυσικά, τα σήματα που εντοπίστηκαν δεν οδηγούν σε ένα ολοκληρωμένο σύστημα εκτέλεσης συναλλαγών. Μπήκε ένας κερδοφόρος θεμέλιος λίθος για την τελειοποίηση μέσω περαιτέρω φίλτρων τάσης ή φίλτρων μεταβλητότητας και κανόνων στοχευόμενων κερδών και κανόνων stop-loss, πέρα από το χαρτοφυλάκιο βελτιστοποίησης. «