Tabella dei contenuti
Uso delle Reti Neurali in OROPURO
Dalla versione 0.2.0 è possibile associare una rete neurale ad ogni titolo, per analizzare in modo automatico il risultato delle analisi tecniche (grafici) effettuate sull'andamento delle quotazioni di borsa.In questo modo è possibile automatizzare la generazione di indicatori di Sell/Buy mediante un processo che apprende secondo i vostri parametri il modo migliore di affrontare un andamento, indipendente da posizioni emotive e capace di rilevare andamenti nascosti.
Le reti neurali sono state implementate in OROPURO, utilizzando le librerie messe a disposizione da JOONE .
In questa guida si presentano le modalità di utilizzo delle reti neurali per OROPURO, per una trattazione più generale sulle reti neurali e sull'utilizzo di JOONE per la creazione ed il learning di reti generiche (anche applicate a OROPURO) si rimanda alla documentazione messa a disposizione dal progetto JOONE.
Passi per associare una rete neurale
- Come primo passo stabilire delle analisi tecniche per il titolo e capire se il risultato è significativo.
- Applicare l'analisi Buy/Sell Indicator come ultima elaborazione (è importante che sia sempre l'ultima), facendo in modo che i punti di picco (0 e 1) corrispondano il più possibile (secondo il vostro giudizio) ai punti di acquisto e vendita del titolo.
- Creare la rete neurale ed indicare dei parametri di prova. I parametri migliori per la Rete Neurale devono essere individuati facendo più prove.
- Eseguire il learning della Rete Neurale.
- Se l'errore risultante è per voi valido (difficilmente si riesce ad ottenere un errore inferiore al 1%), salvate la Rete Neurale , altrimenti eliminatela e provate a ricrearla con altri parametri di learning oppure con altre analisi tecnche in input.
- Alternativamente: esportate i dati per il learning e create ed istruite una rete neurale mediante l'editor di Joone. Quando ottenete un errore soddisfacentemente basso, salvate la rete dall'editor ed importatela in Oropuro.
Creazione di una Rete Neurale per un Titolo
Direttamente dal menù contestuale del titolo, è possibile accedere ai popup di gestione delle reti neurali.Rispondendo SI alla scelta è possibile assegnare la rete neurale di default al titolo.
L'assegnazione prevede la configurazione della rete e l'avvio della fase di learning.
La rete di default di OROPURO, ha una architettura composta da secondo lo schema riportato di seguito:
Questa architettura è FISSA, e non può essere modificata dentro OROPURO. Utilizzando l'editor di JOONE è possibile creare differenti architetture da importare in OROPURO.
Mentre l'architettura è fissa, la quantità di neuroni per i layer sono impostabili.
OROPURO è in grado di utilizzare architetture differenti, di qualisasi complessità, create mediante l'editor di JOONE.
Nel popup di creazione/learning della rete neurale è possibile specificare:
- Nome da dare alla rete neurale per identificarla (opzionale)
- Descrizione della rete (è utile indicare come è composto l'input della rete e le caratteristiche)
- Velocità di apprendimento: è la
velocità con cui l'errore varia. Un reale compreso tra 0 e
1.
(per maggiori chiarimenti leggi la documentazione JOONE). - Momentum, inerzia nell'approssimazione all'errore. Un reale compreso tra 0 e 1.
- Epoche, quantità di cicli di apprendimento.
- Numero di neuroni del layer interno (quello dopo il delay).
- Distanza di previsione, numero di giorni (dopo l'ultimo) a cui si riferisce il risultato.
- Finestra temporale, quantità di giorni prima dell'ultimo, presi in considerazione per effettuare il calcolo (per ottenere il risultato).
Apprendimento della rete Neurale
Una rete neurale per essere valida, deve eseguire un ciclo di apprendimento, basandosi su dati significativi, con una indicazione dei risultati attesi.Per fare questo, prima di creare una rete neurale, è necessario indicare una serie di analisi tecniche che si ha intenzione di operare sul titolo. I diagrammi risultanti da queste analisi tecniche saranno l'input per l'apprendimento della rete neurale.
Una volta salvata la rete neurale è possibile modificare le analisi assegnate al titolo. La rete utilizzerà sempre quelle assegnate al momento del learning.
Indicare i parametri per il learning:
La capacità della rete neurale di fornire un risultato affidabile, dipende dalla qualità dell'input ricevuto, quindi se le analisi assegnate al titolo non sono valide o adeguate il risultato dell'esecuzione della rete neurale sarà poco affidabile.
Avviare la fase di learning:
L'esecuzione del learning avviene in background ed è osservabile nella Window LOG.
L'errore dovrebbe decrescere in maniera esponenziale. Se ciò non accade, è possibile che i parametri non siano validi. In questo caso ritentare con parametri e/o analisi differenti.
Esecuzione della rete neurale
Quando la fase di learning è termina, la rete neurale viene salvata. Per richamarla, utilizzare il comando Gestione rete neurale dal menù contestuale del Titolo.a questo punto è possibile gestire la Rete Neurale.
E' possibile:
- Annullare, per uscire dal popup.
- Salvare, dopo aver modificato la finestra temporale (periodo preso in considerazione per l'esecuzione).
- Eliminare la rete neurale.
- Esportare la rete neurale e/o i dati di learning verso un file esterno..
- Importare una rete neurale esterna in sostituzione della attuale.
- eseguire la rete neurale per ottenere il risultato.
Esportare la rete neurale
La richiesta di export permette di portare la rete neurale su un file che può essere importato da altri sistemi OROPURO.L'estensione del file deve essere ".onn" per poter essere riconosciuto da un altro sistema OROPURO come una rete neurale OROPURO.
Esportare i dati per il learning
Dopo l'eventuale export della rete neurale (sia che si salva che se si annulla) viene richiesto se si vuole salvare i dati per il learning.Alla risposta affermativa verranno salvati i dati risultanti dall'elaborazione associata al Titolo ed utilizzati come input per la Rete Neurale.
I dati sono salvati in formato csv (Coma Separated Value) e possono essere utlizzati da JOONE come input per una rete neurale creata con il suo editor.
Importare una rete neurale
Mediante questa scelta è possibile sostituire la rete neurale di questo Titolo con una rete neurale esterna.La rete neurale esterna può avere estensione
- ".onn" nel quale caso viene riconosciuta come una rete di un altro sistema OROPURO;
- ".snet" nel quale caso viene riconosciuta come una rete di JOONE (forma serializzata salvabile con l'editor).
Per le reti provenienti da JOONE ".snet", viene fatta una particolare elaborazione prima di acquisirle, per sostituire gli input e gli output della rete con le corrette sinapsi di OROPURO.
Per questo motivo sull'editor di JOONE è possibile creare una architettura qualsiasi con input ed output basati sui file. Questi Input ed output verranno sostiuti in fase di import.