{"id":929,"date":"2018-03-01T22:06:37","date_gmt":"2018-03-01T21:06:37","guid":{"rendered":"https:\/\/blog.ilgiornale.it\/trading\/?p=929"},"modified":"2018-03-01T22:09:18","modified_gmt":"2018-03-01T21:09:18","slug":"rete-neurale","status":"publish","type":"post","link":"https:\/\/blog.ilgiornale.it\/trading\/2018\/03\/01\/rete-neurale\/","title":{"rendered":"Rete neurale"},"content":{"rendered":"<p>&#8220;Premesso che non sono un esperto di <strong>reti neurali\u00a0<\/strong>&#8211; inizia Francesco Placci, direttore ricerca di Algoritmica.pro SRL &#8211;<strong>\u00a0<\/strong>\u00a0tuttavia l&#8217;argomento mi ha sempre affascinato, ovviamente in relazione al trading.<\/p>\n<p>Ma cosa sono le reti neurali?<\/p>\n<p>Le reti neurali sono <strong>modelli non lineari<\/strong> che s\u00ec ispirano a quella che la struttura del cervello umano ed in particolare alla <strong>interconnessione di neuroni<\/strong>. Matematicamente sono un modo per adattare un modello non lineare ad un insieme di dati.<\/p>\n<p><strong><span style=\"color: #ff0000\">Se vuoi saperne di pi\u00f9 sulle reti neurali ed il trading algoritmico visita\u00a0<a style=\"color: #ff0000\" title=\"http:\/\/www.algoritmica.pro\/\" href=\"http:\/\/www.algoritmica.pro\/\" target=\"_blank\">www.algoritmica.pro<\/a><\/span><\/strong><\/p>\n<p>Pensiamo &#8211; continua\u00a0Francesco Placci, direttore ricerca di Algoritmica.pro SRL &#8211; ad una serie storica di prezzi che rappresenta il nostro insieme di dati, ed ad un modello in grado di restituirci decisioni di trading. \u00a0Questo modello viene alimentato da alcuni input che vengono combinati e opportunamente pesati tra loro, allo scopo di restituirci un output che rappresenter\u00e0 la nostra decisione di trading.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_930\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/rete-neurale.png\"><img aria-describedby=\"caption-attachment-930\" loading=\"lazy\" class=\"size-medium wp-image-930\" src=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/rete-neurale-300x142.png\" alt=\"Ecco cosa \u00e8 una rete neurale\" width=\"300\" height=\"142\" srcset=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/rete-neurale-300x142.png 300w, https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/rete-neurale.png 473w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-930\" class=\"wp-caption-text\">Ecco cosa \u00e8 una rete neurale<\/p><\/div>\n<p>Per fare questo la rete \u00a0neurale deve essere opportunamente <strong>addestrata<\/strong>, \u00a0ossia deve utilizzare una parte dei nostri dati al fine di \u00a0combinare e pesare nella miglior maniera possibile gli input tra loro.<\/p>\n<p>Facciamo un esempio.<\/p>\n<p>Se riteniamo che alcuni indicatori,\u00a0abbiano un valore predittivo,\u00a0allora possiamo combinarli \u00a0tra loro, in modo tale che sia il modello stesso a decidere come utilizzarli.<\/p>\n<p>Decidiamo di scegliere Momentum e RSI.<\/p>\n<p>Assegniamo ad una variabile \u00a0value1 e \u00a0value3 \u00a0i rispettivi indicatori.<\/p>\n<p>Per normalizzare il risultato &#8211; continua\u00a0Francesco Placci, direttore ricerca di Algoritmica.pro SRL &#8211;\u00a0 utilizziamo la funzione fastpercentrank, \u00a0che restituisce un valore da 0 a 1. \u00a0Questa funzione altro non fa che ordinare, all&#8217;interno di un periodo da noi scelto, i valori dell&#8217;indicatore dal pi\u00f9 piccolo, \u00a0a cui assegna valore di zero, al pi\u00f9 grande, a cui assegna il valore di 1 e tutti gli altri valori nel mezzo.<\/p>\n<p><strong><span style=\"color: #ff0000\">Se vuoi saperne di pi\u00f9 sulle reti neurali ed il trading algoritmico visita\u00a0<a style=\"color: #ff0000\" title=\"http:\/\/www.algoritmica.pro\/\" href=\"http:\/\/www.algoritmica.pro\/\" target=\"_blank\">www.algoritmica.pro<\/a><\/span><\/strong><\/p>\n<p>Per dare flessibilit\u00e0 al modello, \u00a0moltiplichiamo per un input chiamato w_mom \u00a0per il momentum, \u00a0e w_rsi \u00a0per l\u2019indicarore RSI.<\/p>\n<p>Fatto questo\u00a0sommiamo le variabili value4 e value2 \u00a0e dividiamo per due risultato (value5) .<\/p>\n<p>A questo punto il modello ci restituir\u00e0 con la funzione value5 \u00a0un valore numerico. Possiamo \u00a0stabilire un valore soglia al di sopra del quale prendere posizione long oppure, invertendo la regola, \u00a0al di sotto del quale prendere posizione long. Questo compito verr\u00e0 svolto dall&#8217;input updown.<\/p>\n<p>Infine per l&#8217;uscita dalla posizione &#8211; continua\u00a0Francesco Placci, direttore ricerca di Algoritmica.pro SRL &#8211;\u00a0 possiamo aggiungere una regola di tipo temporale, ossia chiudere la posizione dopo un determinato numero di giorni.<\/p>\n<p>Di seguito vi mostro il codice del sistema :<\/p>\n<p><strong>input:period_rsi(2),fpr_rsi(50),w_rsi(0);<\/strong><\/p>\n<p><strong>input:period_mom(2),fpr_mom(50),w_mom(0);<\/strong><\/p>\n<p><strong>input:updown(0), trigger(0.5);<\/strong><\/p>\n<p><strong>input: BarToExitOn(1);<\/strong><\/p>\n<p><strong>\u00a0<\/strong><strong>value1 = rsi(c,period_rsi);<\/strong><\/p>\n<p><strong>value2 = fastpercentrank(value1,value1,fpr_rsi)*w_rsi;<\/strong><\/p>\n<p><strong>\u00a0<\/strong><strong>value3 = Momentum(c,period_mom);<\/strong><\/p>\n<p><strong>value4 = fastpercentrank(value3,value3,fpr_mom)*w_mom;<\/strong><\/p>\n<p><strong>\u00a0<\/strong><strong>value5 = (value4+value2)*0.5;<\/strong><\/p>\n<p><strong>\u00a0<\/strong><strong>if updown = 0 then condition1 = value5 &gt;trigger else condition1 = value5 &lt;trigger;<\/strong><\/p>\n<p><strong>\u00a0<\/strong><strong>if condition1 then buy this bar on c;<\/strong><\/p>\n<p><strong>\u00a0<\/strong><strong>if BarsSinceEntry &gt;= BarToExitOn then<\/strong><\/p>\n<p><strong>\u00a0Sell ( &#8220;TimeBarsLX&#8221; ) next bar at market ;<\/strong><\/p>\n<p><strong>\u00a0<\/strong>Nel caso in cui non aveste la funzione fastpercentrank, di \u00a0seguito trovate il codice;<\/p>\n<p><strong>inputs:<\/strong><\/p>\n<p><strong>value(numericsimple),<\/strong><\/p>\n<p><strong>dataSet(numericseries),<\/strong><\/p>\n<p><strong>length(numericsimple);<\/strong><\/p>\n<p><strong>variables:<\/strong><\/p>\n<p><strong>r(0),<\/strong><\/p>\n<p><strong>x(0);<\/strong><\/p>\n<p><strong>r = 0;<\/strong><\/p>\n<p><strong>for x = 1 to length begin<\/strong><\/p>\n<p><strong>if dataSet[x-1] &lt;= value then<\/strong><\/p>\n<p><strong>r = r + 1;<\/strong><\/p>\n<p><strong>end;<\/strong><\/p>\n<p><strong>value1=r \/ (length-1);<\/strong><\/p>\n<p><strong>if value1&gt;1 then value1=1;<\/strong><\/p>\n<p><strong>if value1&lt;0 then value1=0;<\/strong><\/p>\n<p><strong>fastpercentrank = value1;<\/strong><\/p>\n<p><strong>\u00a0<\/strong>A questo \u00a0punto procediamo con l&#8217;ottimizzazione del modello che ha lo scopo di addestrare la rete neurale.<\/p>\n<p>Di seguito vi mostro il range di ottimizzazione.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_931\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/ottimizzazione.png\"><img aria-describedby=\"caption-attachment-931\" loading=\"lazy\" class=\"size-medium wp-image-931\" src=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/ottimizzazione-300x166.png\" alt=\"ottimizzazione rete neurale\" width=\"300\" height=\"166\" srcset=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/ottimizzazione-300x166.png 300w, https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/ottimizzazione.png 685w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-931\" class=\"wp-caption-text\">ottimizzazione rete neurale<\/p><\/div>\n<p>Assume ovviamente massima importanza la funzione obiettivo del processo di ottimizzazione. \u00a0Nel caso concreto \u00a0utilizzeremo il net profit\/ max intraday drawdown \u00a0come funzione obiettivo ma forzando il processo affinch\u00e9 vengano generati almeno 100 trades.<\/p>\n<p>Applichiamo il sistema sul futures E-mini SP500.<\/p>\n<p>Di seguito vi mostro risultati del periodo in-sample e del periodo out-of-sample.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_931\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/ottimizzazione.png\"><img aria-describedby=\"caption-attachment-931\" loading=\"lazy\" class=\"size-medium wp-image-931\" src=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/ottimizzazione-300x166.png\" alt=\"ottimizzazione rete neurale\" width=\"300\" height=\"166\" srcset=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/ottimizzazione-300x166.png 300w, https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/ottimizzazione.png 685w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-931\" class=\"wp-caption-text\">ottimizzazione rete neurale<\/p><\/div>\n<div id=\"attachment_932\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/equity.png\"><img aria-describedby=\"caption-attachment-932\" loading=\"lazy\" class=\"size-medium wp-image-932\" src=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/equity-300x177.png\" alt=\"equity rete neurale\" width=\"300\" height=\"177\" srcset=\"https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/equity-300x177.png 300w, https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/equity-1024x604.png 1024w, https:\/\/blog.ilgiornale.it\/trading\/files\/2018\/03\/equity.png 1430w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-932\" class=\"wp-caption-text\">equity rete neurale<\/p><\/div>\n<p>Il modello sembra aver continuato a performare bene anche nella fase out of sample tuttavia il nostro modello prende posizione long e sappiamo bene che negli ultimi anni i mercati azionari sono stati fortemente rialzisti, il modello avuto pertanto gioco facile.<\/p>\n<p>Questa settimana &#8211;\u00a0conclude Francesco Placci, direttore ricerca di Algoritmica.pro SRL &#8211;\u00a0 ho voluto mostrarvi come possono essere combinati tra loro indicatori oppure prezzi o qualsiasi cosa riteniate\u00a0abbia un valore predittivo nel trading,\u00a0con un banale modello ispirato alle <strong>reti neurali<\/strong> (che sono qualcosa di pi\u00f9 complesso e articolato).<\/p>\n<p>E\u2019 \u00a0stato un divertissement, \u00a0un gioco, \u00a0il cui scopo \u00e8 \u00a0stato quello di stimolare \u00a0la vostra fantasia e curiosit\u00e0. Preciso che personalmente farei molta fatica a mettere a mercato un sistema di cui non comprendo appieno le regole.<\/p>\n<p>Ovviamente easylanguage non \u00e8 stato pensato per questo tipo di cose. \u00a0Anni fa \u00a0ho \u00a0utilizzato un software appositamente ideato Neuroshell, anche se non lo ho mai usato per i trading in realtime.<\/p>\n<p>Per chi fosse interessato vi fornisco il link:<\/p>\n<p>http:\/\/try.neuroshell.com\/features\/ &#8221;<\/p>\n<p><strong><span style=\"color: #ff0000\">Se vuoi saperne di pi\u00f9 sulle reti neurali ed il trading algoritmico visita <a style=\"color: #ff0000\" title=\"http:\/\/www.algoritmica.pro\/\" href=\"http:\/\/www.algoritmica.pro\/\" target=\"_blank\">www.algoritmica.pro<\/a><\/span><\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p><p>&#8220;Premesso che non sono un esperto di reti neurali\u00a0&#8211; inizia Francesco Placci, direttore ricerca di Algoritmica.pro SRL &#8211;\u00a0\u00a0tuttavia l&#8217;argomento mi ha sempre affascinato, ovviamente in relazione al trading. Ma cosa sono le reti neurali? Le reti neurali sono modelli non lineari che s\u00ec ispirano a quella che la struttura del cervello umano ed in particolare alla interconnessione di neuroni. Matematicamente sono un modo per adattare un modello non lineare ad un insieme di dati. Se vuoi saperne di pi\u00f9 sulle reti neurali ed il trading algoritmico visita\u00a0www.algoritmica.pro Pensiamo &#8211; continua\u00a0Francesco Placci, direttore ricerca di Algoritmica.pro SRL &#8211; ad una serie [&hellip;]<\/p>\n&nbsp;&nbsp;<div class=\"readmore\"><a href=\"https:\/\/blog.ilgiornale.it\/trading\/2018\/03\/01\/rete-neurale\/\">Continua a leggere...<\/a><\/div><\/p>","protected":false},"author":1075,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[247],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/posts\/929"}],"collection":[{"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/users\/1075"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/comments?post=929"}],"version-history":[{"count":2,"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/posts\/929\/revisions"}],"predecessor-version":[{"id":934,"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/posts\/929\/revisions\/934"}],"wp:attachment":[{"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/media?parent=929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/categories?post=929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ilgiornale.it\/trading\/wp-json\/wp\/v2\/tags?post=929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}