Πώς να «αναγνωρίσετε» κερδοφόρα σήματα στο trading
Οι δείκτες, οι παράμετροι και τα σήματα... εισόδου.
Είναι σα να γράφεις έκθεση: κάθεσαι μπροστά σε μια λευκή κόλλα χαρτί και σκέφτεσαι πώς να ξεκινήσεις. Αυτή είναι συχνά η κατάσταση στην αρχή της ανάπτυξης ενός συστήματος εκτέλεσης συναλλαγών. Θέλεις να επενδύσεις σε ένα συγκεκριμένο χρηματοπιστωτικό εργαλείο, αλλά από ποιό μπορείς να λάβεις ένα κερδοφόρο σήμα εισόδου;
Είναι καλύτερα να χρησιμοποιήσεις τον δείκτη Α ή Β; Ποιά πληροφορία για την τιμή, ποιά περίοδος παρατήρησης ή ποιά εξομάλυνση θα πρέπει να συμπεριληφθεί; Αυτές και άλλες ερωτήσεις μπορούν να απαντηθούν από ποσοτικές μελέτες.
» Σε αυτή τη σειρά άρθρων εστιάζουμε στο πώς μπορείτε, χρησιμοποιώντας σύγχρονες μαθηματικές και στατιστικές μεθόδους και ισχυρό λογισμικό, να βρείτε κερδοφόρα σήματα εκτέλεσης συναλλαγών.
Σε αυτό το πρώτο μέρος θα συζητήσουμε πρώτα τις προϋποθέσεις και τη διαδικασία. Το δεύτερο μέρος ασχολείται με την ταξινόμηση των δεικτών και την κεντρική, βασική λειτουργία του μοντέλου.
Στο τρίτο και τελευταίο μέρος θα δούμε την αξιολόγηση και βελτιστοποίηση του μοντέλου, καθώς επίσης και την περιγραφή του βελτιστοποιημένου συστήματος εκτέλεσης συναλλαγών. Τι πρέπει να βλέπετε όταν ψάχνετε για ένα κερδοφόρο σύστημα εκτέλεσης συναλλαγών;
Για να ξεκαθαρίσουμε το θέμα, στην εικόνα 1 βλέπουμε ένα παράδειγμα απλού διαγράμματος. Εκτός από την καθαρή απόδοση, εμφανίζονται επίσης ο απλός (SMA) και ο εκθετικός (EMA) κινητός μέσος όρος με δέκα και 20 περιόδους. Οι κόκκινες γραμμές αντιπροσωπεύουν τον SMA και οι κυανές τον EMA. Οι έντονες γραμμές αντιπροσωπεύουν τους δείκτες με δέκα περιόδους, και οι συνήθεις γραμμές τους δείκτες με πάνω από 20 περιόδους. Υποθέτοντας ότι η είσοδος θα λάβει χώρα όταν η τιμή θα έχει πέσει κάτω από το μέσο όρο, γίνεται αμέσως φανερό ότι η ξεκάθαρη είσοδος εξαρτάται τόσο από τον δείκτη που χρησιμοποιούμε (εν προκειμένω, από τους κινητούς μέσους όρους) όσο και από τη διάρκεια της περιόδου (σε αυτή την περίπτωση, δέκα και 20 περιόδους).
Άρα, το σήμα εισόδου προκύπτει από την πρώτη διόρθωση του SMA σε περίοδο διάρκειας δέκα, και όχι 20. Στη δεύτερη διόρθωση, η είσοδος γίνεται αποκλειστικά σε διασταυρώσεις πάνω από 10 περιόδους. Τέλος, στην τρίτη διόρθωση, όλες οι παραλλαγές οδηγούν σε είσοδο. Ήδη, αυτό το απλό παράδειγμα δείχνει ότι η είσοδος εξαρτάται από τους κανόνες εισόδου που εφαρμόζουμε (πτώση της τιμής κάτω από τον μέσο όρο), από τον δείκτη που χρησιμοποιούμε (SMA ή EMA) και από τις παραμέτρους του δείκτη που χρησιμοποιούμε (δέκα ή 20 περιόδους).
Στη συνέχεια πρέπει να αναπτυχθούν οι κανόνες εξόδου (stop-loss ή κατοχύρωση κέρδους), που με τη σειρά τους εξαρτώνται από μια σειρά διαφορετικών μεταβλητών. Αν θέλετε να κρίνετε κατά πόσον μπορεί να αναπτυχθεί ένα σύστημα εκτέλεσης συναλλαγών που να παρέχει κερδοφόρα σήματα, όχι μόνο όσον αφορά τις τρεις διορθώσεις μιας μεμονωμένης μετοχής που παρουσιάζουμε, αλλά σε ένα χαρτοφυλάκιο και για μεγαλύτερο χρονικό διάστημα, τότε θα πρέπει να συμπεριλάβετε κι άλλες πτυχές όπως η κατάταξη των μετοχών του χαρτοφυλακίου. Μια εργασία που δεν είναι εύκολο να γίνει μηχανικά ή με ένα διάγραμμα.
Χαρτοφυλάκιο και παράθεση δεδομένων
Πρώτα γίνονται κάποιες παραδοχές για το σύστημα εκτέλεσης συναλλαγών που πρόκειται να αναπτύξουμε. Εγείρεται επίσης το ερώτημα ποια εργαλεία θέλετε να συναλλαχθείτε και σύμφωνα με ποια κριτήρια φιλτράρονται. Για την ανάλυση θα χρησιμοποιήσουμε ένα χαρτοφυλάκιο μετοχών του δείκτη S&P 500. Δεδομένου ότι η περίοδος που θα εξεταστεί είναι από το 2000, από τις 500 μετοχές θα εξαιρέσουμε τις εταιρείες που δεν έχουν περιληφθεί καθ’ όλη την περίοδο. Μένουν 417 εταιρείες. Αυτές αποτελούν μόνο ένα οικονομικό όχημα.
Για να κυριολεκτήσουμε, συναλλασσόμαστε ένα στατιστικό αποτέλεσμα, που προκύπτει από το γεγονός ότι ένα συγκεκριμένο σήμα παρέχει θετικά αποτελέσματα στα πλαίσια ενός μεγάλου χρονικού διαστήματος. Η επένδυση θα πραγματοποιηθεί άμεσα σε αυτές τις μετοχές, χωρίς τη χρήση προϊόντων μόχλευσης. Λαμβάνονται μόνο θέσεις αγοράς. Χρησιμοποιούνται μόνο δεδομένα τιμών End-Of-Day που προσαρμόστηκαν στις μερισματικές αποδόσεις και στα stock splits.
Εξεταζόμενη περίοδος
Στο επόμενο βήμα θα καθορίσουμε την περίοδο στην οποία προχωράμε στην ανάλυση. Η περίοδος από το 2000 έως το 2012 (13 χρόνια) χρησιμοποιείται για τη δοκιμή in-sample (επανυπολογισμός μιας στρατηγικής με γνωστά δεδομένα στο πρώτο βήμα ενός αναδρομικού ελέγχου). Αυτή είναι αρκετά μεγάλη, ξεκινάει με μια διόρθωση της αγοράς και δείχνει διαφορετικές φάσεις της αγοράς. Έτσι, ο S&P 500, κατά τα έτη 2000-2002 και από το 2007 έως το 2008 είχε πτώσεις τιµών, και κατά τα έτη 2003-2006 και 2009-2012 παρουσίασε άνοδο. Από τη δοκιμή out-of-sample (δεύτερο βήμα των αναδρομικων ελέγχων, επανυπολογισμός μιας στρατηγικής με άγνωστα δεδομένα) διατίθενται τα έτη 2013 και 2014.
Φιλοσοφία συναλλαγής και χρονικό πλαίσιο
Για την παραγωγή ενός σήματος αγοράς, στο στάδιο της ανάπτυξης χρησιμοποιούνται μόνο ένας δείκτης (στο παράδειγμά μας, κινητός μέσος όρος) και μια εκδήλωση τιμής. Έτσι, δεν υπάρχει φιλτράρισμα από φίλτρα τάσης ή μεταβλητότητας. Ομοίως, σε αυτό το στάδιο της ποσοτικής ανάλυσης δεν λαμβάνονται υπόψη stop-loss ή στοχευόμενα κέρδη. Η βασική φιλοσοφία εδώ είναι ότι το σήμα αγοράς που παρέχει ο δείκτης πρέπει να οδηγήσει σε ένα επικερδές σύστηµα. Stop Loss και στοχευόμενα κέρδη χρησιμοποιούνται στο επόμενο βήμα της διαμόρφωσης των λεπτομερειών του συστήματος και του περιορισμού του κινδύνου.
Για συναλλαγές χρησιμοποιούνται μόνο ημερήσια διαγράμματα. Στην περίπτωση ενός σήματος αγοράς, το άνοιγμα μιας θέσης προγραμματίζεται κατά την έναρξη της επόμενης ημέρας διαπραγματεύσεων. Αυτή η θέση θα κλείσει και πάλι μετά από το σήμα αγοράς, καθαρά με βάση το χρονικό σημείο της τιμής κλεισίματος των επόμενων δέκα ημερών διαπραγματεύσεων. Η ημέρα διαπραγμάτευσης που θα γίνει αυτό καθορίζεται από αυτή την ανάλυση. Υπό την προϋπόθεση ότι θα αναπτύξουμε ένα κερδοφόρο σύστημα – κι άρα το σύστημα έχει μια θετική αναμενόμενη τιμή – η όσο το δυνατόν τακτικότερη χρήση αυτού του συστήματος είναι λογική.
Αυτό εξηγεί, για το συγκεκριμένο παράδειγμα, τη μικρή περίοδο εκμετάλλευσης έως και δέκα ημέρες, σε συνδυασμό με έναν υψηλό αριθμό σημάτων εκτέλεσης συναλλαγών, που ενισχύει την στατιστική σημασία του συστήματος.
Εκδήλωση τιμής
Βασικά, το άνοιγμα της θέσης θα λάβει χώρα κατά την ημέρα μετά από την ενεργοποίηση του σήματος αγοράς. Αυτό δεν είναι πάντα χρήσιμο. Εάν η αγορά διορθώσει, μπορεί να είναι καλύτερα να αναβάλουμε το άνοιγμα της θέσης έως ότου έχουμε μια εκδήλωση τιμής (αν το σήμα αγοράς ισχύει ακόμη). Στην απλούστερη περίιπτωση, μια εκδήλωση τιμής μπορεί, για παράδειγμα, να είναι ένα υψηλότερο υψηλό (το σημερινό υψηλό είναι υψηλότερο από το χθεσινό) που ερμηνεύεται ως ένδειξη μιας αγοράς που επανακάμπτει. Δεδομένου ότι δεν γνωρίζουμε εκ των προτέρων ποια εκδήλωση τιμής είναι χρήσιμη, αφήνουμε αυτό το ζήτημα να επιλυθεί από το optimizer. Η κλήση λειτουργίας γίνεται ως εξής:
Αγορά = εκδήλωση τιμής
Η μεταβλητή «εκδήλωση» αντιπροσωπεύει τον αριθμό της επιλεγμένης από το optimizer εκδήλωσης τιμής. Αυτό μεταφέρεται στη λειτουργία «price_events». Τα δεδομένα τιμών κάθε μετοχής αναλύονται από αυτή τη λειτουργία για τις μέρες που έλαβε χώρα η εκδήλωση τιμής. Για αυτές τις μέρες η μεταβλητή αγοράς ισχύει.
Κατάταξη
Σε περίπτωση που παράγονται περισσότερα σήματα, καθώς μπορούν να ανοιχτούν θέσεις, ο ορισμός μιας ακολουθίας σημάτων είναι απαραίτητος - η λεγόμενη κατάταξη. Πριν από την έναρξη της ανάλυσης, δεν γνωρίζουμε ούτε ποια λειτουργία είναι χρήσιμη για την κατάταξη, ούτε αν πρέπει να αποτιμηθεί περισσότερο μια υψηλή ή χαμηλή αξία λειτουργίας. Επομένως, αφήνουμε πάλι το optimizer να αναλύσει τη λειτουργία κατάταξης:
SetSimLongRank (rankfunc (rankID, v4))
Ο αριθμός «rankID» της αντίστοιχης λειτουργίας κατάταξης επιλέγεται από το optimizer. Με τη μεταβλητή «v4», η διάρκεια της περιόδου μεταφέρεται στη λειτουργία του δείκτη. Την ίδια διάρκεια περιόδου χρησιμοποιούμε και για τη λειτουργία της κατάταξης. Η λειτουργία παραμέτρου «rankfunc» καθορίζει τώρα για κάθε σήμα αγοράς την αξία κατάταξης που μεταφέρεται στο σύστημα εκτέλεσης συναλλαγών με την εντολή «SetSimLongRank».
Θέση μεγέθους και χρεώσεις
Κατά τη δημιουργία ενός συστήματος εκτέλεσης συναλλαγών, είναι επίσης σημαντικό να γνωρίζουμε πόσο κεφάλαιο είναι διαθέσιμο και τι ρίσκο θα αναλάβουμε. Το διαθέσιμο κεφάλαιο διαιρείται εξίσου μεταξύ των θέσεων που ανοίγουμε. Στο παράδειγμά μας, κάθε θέση αναλογεί στο 5-10% του κεφαλαίου. Το αποτέλεσμα είναι ένας αριθμός θέσεων από επτά έως 20. Ο πραγματικός αριθμός καθορίζεται επίσης από την ανάλυση.
Για τις χρεώσεις, τη διαφορά τιμής (ενδεχόμενες πρόσθετες δαπάνες κατά την αγορά ή την πώληση λόγω κακής εκτέλεσης της εντολής ή μιας πολύ γρήγορης αγοράς) και το άνοιγμα (τιμών μεταξύ αγοράς και πώλησης) υπολογίζεται ένα ποσοστό 0,2% ανά συναλλαγή. Μπορεί να διαβαστεί στο λογισμικό του αναδρομικού ελέγχου ως κωδικός στη γλώσσα Quant-Share, όπως φαίνεται στο πλαίσιο πληροφοριών.
Τεχνολογία
Η τεχνολογία είναι ζωτικής σημασίας για την επιτυχία των συναλλαγών. Χρησιμοποιήθηκε ένας υπολογιστής με επεξεργαστή i7 και μνήμης RAM 32 GB. Ένα λειτουργικό σύστημα Windows λειτουργεί σε έκδοση 64-bit με .NET Framework και το λογισμικό αναδρομικού ελέγχου QuantShare.com. Τα παραδείγματα κωδικού που χρησιμοποιήθηκαν στο κείμενο σχετίζονται με αυτό το λογισμικό και δημιουργήθηκαν εν μέρει σε γλώσσα Quant Share και εν μέρει ως «C # script».
Μέθοδος
Το διάγραμμα 2 παρουσιάζει σχηματικά τη διαδικασία για να δωθεί απάντηση στο θεμελιώδες ερώτημα «ποιος δείκτης και με ποιες παραμέτρους παρέχει κερδοφόρα σήματα αγοράς». Η ιδέα είναι βασικά η ανάπτυξη μια κύριας λειτουργίας που να παράγει μια εκδήλωση τιμής και, μέσω μιας μεθόδου βελτιστοποίησης, να παράγει σήματα αγοράς. Έπειτα, εντός της κύριας λειτουργίας επιλέγουμε μεταξύ των διαθέσιμων δεικτών και θέτουμε παραμέτρους. Μια διαδικασία βελτιστοποίησης είναι απαραίτητη επειδή, λόγω του αριθμού των παραλλαγών που ελέγχονται, δεν μπορούν ολες αυτές να υπολογιστούν σε εύλογο χρονικό διάστημα, ακόμη και αν χρησιμοποιήσουμε ισχυρό hardware.
Συμπέρασμα
Με τον αφηρημένο ορισμό του μεγέθους θέσης, σήματος εισόδου, μεθόδου εισόδου και εξόδου, μέγιστης περιόδου εκμετάλλευσης, κατάταξης και άλλων στοιχείων, έχουμε τώρα περιγράψει σε γενικές γραμμές ένα σύστημα εκτέλεσης συναλλαγών.
Με βάση αυτό, στα ακόλουθα μέρη αυτής της σειράς άρθρων θα ταξινομήσουμε δείκτες και θα αναπτύξουμε μια κύρια λειτουργία που θα παρέχει έναν σταθερό δείκτη και τις παραμέτρους του. Στη συνέχεια, στην κύρια λειτουργία εφαρμόζεται μια μέθοδος βελτιστοποίησης, έτσι ώστε στο τέλος να δημιουργηθεί ένα πρακτικό σύστημα. «