{"id":12481,"date":"2022-10-14T00:00:00","date_gmt":"2022-10-13T22:00:00","guid":{"rendered":"https:\/\/ungeracademy.com\/it\/blog\/errori-nella-scrittura-dei-codici-e-debugging-nel-trading-sistematico-guida-completa"},"modified":"2022-10-14T00:00:00","modified_gmt":"2022-10-13T22:00:00","slug":"errori-nella-scrittura-dei-codici-e-debugging-nel-trading-sistematico-guida-completa","status":"publish","type":"post","link":"https:\/\/ungeracademy.com\/it\/posts\/errori-nella-scrittura-dei-codici-e-debugging-nel-trading-sistematico-guida-completa","title":{"rendered":"Errori nella scrittura dei codici e debugging nel trading sistematico \u2013 Guida Completa"},"content":{"rendered":"<p>Se ti occupi di trading sistematico sai gi\u00e0 che \u00e8 importante avere delle competenze di programmazione. Fortunatamente <strong>non \u00e8 necessario diventare veri e propri esperti informatici<\/strong>. Anzi, per raggiungere traguardi di tutto rispetto possono bastare conoscenze piuttosto basilari.<\/p>\n<p>La <a href=\"https:\/\/ungeracademy.com\/it\/posts\/per-avere-successo-nel-trading-sistematico-bisogna-saper-programmare\" target=\"_blank\"><u>parte di programmazione<\/u><\/a> in s\u00e9, quindi, \u00e8 un ostacolo che viene superato abbastanza facilmente da tutti i trader sistematici.<\/p>\n<p>Ma c\u2019\u00e8 un altro ostacolo che spesso viene sottovalutato e che pu\u00f2 essere un vero bastone tra le ruote nella creazione delle proprie strategie di trading. Si tratta degli <strong>errori di forma e di<\/strong> <strong>contenuto<\/strong> che possiamo commettere quando scriviamo i codici dei trading system.<\/p>\n<h2 id=\"gli-errori-di-forma-nei-codici-dei-sistemi\">Gli errori di forma nei codici dei sistemi<\/h2>\n<p>Per poter utilizzare un trading system su un certo mercato \u00e8 innanzitutto necessario <strong>compilarne<\/strong> <strong>lo<\/strong> <strong>script<\/strong>. La fase di compilazione rappresenta una validazione del codice durante la quale la piattaforma di trading utilizzata controlla che tutti i passaggi espressi nello script siano conformi alle <strong>regole di scrittura<\/strong> da essa previste e ne conferma l&#8217;applicabilit\u00e0.<\/p>\n<p>Talvolta pu\u00f2 capitare che in fase di compilazione, la piattaforma di trading segnali alcuni errori legati alla <strong>forma del codice, ovvero alla sua sintassi<\/strong>.<\/p>\n<p>Pu\u00f2 trattarsi di errori davvero semplici come ad esempio il mancato inserimento del punto e virgola alla fine di un&#8217;istruzione (o di altre <strong>convenzioni<\/strong> legate al linguaggio di programmazione utilizzato) oppure la dichiarazione errata o mancante di una variabile, o ancora un errore nell&#8217;uso di qualche parola chiave.<\/p>\n<p>Per individuare questi errori \u00e8 sufficiente ripercorrere con pazienza l&#8217;intero script e correggerli.<\/p>\n<h2 id=\"gli-errori-di-contenuto-nei-codici-dei-sistemi\">Gli errori di contenuto nei codici dei sistemi<\/h2>\n<p><img decoding=\"async\" alt=\"debugging di trading system come trovare gli errori\" src=\"\/it\/wp-content\/uploads\/debugging-02.jpg\"><\/p>\n<p>Una tipologia di errore sicuramente pi\u00f9 difficile da individuare, gestire e risolvere sono gli errori legati al <strong>contenuto<\/strong> stesso di un trading system, ovvero a <strong>quello che il sistema fa quando viene messo a mercato<\/strong>.<\/p>\n<p>Questi errori non vengono individuati dalla piattaforma in fase di compilazione in quanto il codice di per s\u00e9 \u00e8 scritto in modo corretto, solo che le istruzioni che abbiamo scritto non corrispondono a quello che vorremmo facesse il trading system.<\/p>\n<p>In questo caso \u00e8 fondamentale applicare una <strong>capacit\u00e0 che abbiamo scelto di chiamare <em>debugging<\/em><\/strong><em> <\/em>in analogia con il processo informatico di ricerca e correzione degli errori (<em>bug)<\/em> nei codici di software e programmi.<\/p>\n<p>Nel trading sistematico, fare debugging significa <strong>analizzare tutti i passaggi eseguiti per costruire un trading system<\/strong>, dallo sviluppo all&#8217;ottimizzazione, e individuare il punto in cui si trova l&#8217;errore.<\/p>\n<p>Nel seguente video, Andrea Unger parla della capacit\u00e0 di debugging applicata al trading sistematico e offre alcuni <strong>consigli utili<\/strong> per svilupparla e imparare ad individuare e risolvere gli errori:<\/p>\n<div style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;\"><iframe style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" src=\"https:\/\/www.youtube.com\/embed\/6U744CN59n8\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/div>\n<\/p>\n<h2 id=\"principali-cause-di-errore-nella-creazione-di-trading-system-inefficaci\">Principali cause di errore nella creazione di trading system inefficaci<\/h2>\n<p>Se mettere a mercato un trading system con errori di forma \u00e8 impossibile, in quanto il sistema non supera la fase della compilazione, andare <strong>live con un sistema dal contenuto sbagliato \u00e8 possibile e anche pericoloso<\/strong>.<\/p>\n<p>Un sistema che si comporta in modo diverso da come vorremmo rischia infatti di portarci a perdite anche ingenti che non avevamo preventivato in fase di sviluppo.<\/p>\n<p>Tra gli <strong>errori<\/strong> che possono far s\u00ec che un sistema non performi in maniera conforme alle nostre aspettative troviamo ad esempio <strong>l&#8217;uso di tipologie di ordini non appropriate<\/strong> al nostro scopo oppure il <strong>mancato adattamento di parametri come stop loss e take profit <\/strong>alla tipologia di sistema e al mercato oggetto di negoziazione.<\/p>\n<p>Per esempio usare uno <a href=\"https:\/\/ungeracademy.com\/it\/posts\/come-usare-lo-stop-loss-nel-trading-sistematico-guida-completa\" target=\"_blank\"><strong><u>stop loss<\/u><\/strong><\/a><strong> troppo stretto<\/strong> per un mercato molto liquido e volatile oppure applicare un take profit ad una strategia trend following sono errori di impostazione che possono <strong>compromettere fortemente le performance di una strategia<\/strong>.<\/p>\n<p>Anche la <strong>sovraottimizzazione<\/strong>, o <strong><em>overfitting<\/em><\/strong>, dei parametri con cui tradare il sistema pu\u00f2 portare alla creazione di strategie che non funzionano come vorremmo, cos\u00ec come l&#8217;utilizzo di porzioni di <strong>storico dati<\/strong> non sufficientemente estese o che non coprono una variet\u00e0 sufficiente di diverse condizioni di mercato.<\/p>\n<h2 id=\"conclusione\">Conclusione<\/h2>\n<p>Come vedi, esistono vari tipi di errori che possiamo commettere durante lo sviluppo e l&#8217;ottimizzazione di una strategia di trading automatizzata.<\/p>\n<p>Per prevenirli \u00e8 fondamentale applicare sempre il buon senso e svolgere tutti i test e le verifiche necessarie per accertarsi che il sistema faccia quello che desideriamo e che i risultati prodotti siano veritieri e affidabili.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Se ti occupi di trading sistematico sai gi\u00e0 che \u00e8 importante avere delle competenze di programmazione. Fortunatamente non \u00e8 necessario [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[72,71],"tags":[],"class_list":["post-12481","post","type-post","status-publish","format-standard","hentry","category-how-to","category-posts"],"acf":[],"_links":{"self":[{"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/posts\/12481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/comments?post=12481"}],"version-history":[{"count":0,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/posts\/12481\/revisions"}],"wp:attachment":[{"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/media?parent=12481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/categories?post=12481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ungeracademy.com\/it\/wp-json\/wp\/v2\/tags?post=12481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}