Trading algoritmico: regole proprie in StrategyQuant X
Hai sentito parlare di software che esegue automaticamente le regole di trading e ti chiedi come sia effettivamente strutturato un programma del genere. La maggior parte delle spiegazioni resta in superficie: si mettono insieme alcune regole con qualche clic, parte un backtest, finito. Quello che spesso manca è lo sguardo sul secondo livello, la parte in cui scrivi tu stesso del codice per controllare processi che vanno oltre i semplici clic.
Questo articolo ti mostra proprio questa parte usando l'esempio di StrategyQuant X: quali punti di ingresso il software mette a disposizione per il tuo codice, cosa mostrano gli esempi documentati con esso, come un esempio di questo tipo avvia direttamente un'ottimizzazione tramite codice e come un'interfaccia propria collega il tuo codice al programma principale. Alla fine scoprirai anche dove puoi continuare a imparare gratuitamente e cosa ti dice davvero un backtest, e cosa no.
Programmare invece di fare solo clic: il Code Editor in StrategyQuant X
Per i trader che vogliono andare oltre i moduli predefiniti e scrivere codice proprio, StrategyQuant X documenta diversi punti di ingresso nel cosiddetto Code Editor. Tra questi ci sono l'interfaccia di programmazione pubblica (Public API), il lavoro con i gruppi di risultati (Results Groups), l'aggiunta di indicatori e segnali propri, l'integrazione di colonne o filtri nel database, il logging, l'inclusione di librerie JAR proprie nonché l'importazione e l'esportazione di frammenti di codice propri, i cosiddetti snippet.
Questo elenco descrive i punti di ingresso documentati, non un'introduzione completa alla programmazione. Chi vuole usare queste funzioni ha comunque bisogno di conoscenze di base di programmazione: la documentazione non sostituisce un corso di programmazione.

Cosa mostra un esempio di coding documentato
Oltre alla semplice elencazione dei punti di ingresso, ci sono esempi documentati per le cosiddette coding sessions. Mostrano come avviare ottimizzazioni e backtest in modo programmatico, come eseguire test di robustezza tramite codice, come modificare parametri della strategia e impostazioni dei task tramite codice proprio, e come caricare dati storici in uno snippet.
Questi esempi presuppongono lavoro nel code editor con snippet basati su Java. Descrivono setup di test passati, non risultati garantiti in anticipo, e non mostrano strategie già verificate e confermate come positive. Chi vuole replicare questi esempi ha ugualmente bisogno di conoscenze di programmazione, senza codice a questo punto non si va.

Un esempio nel dettaglio: avviare l'ottimizzazione tramite codice
Uno degli esempi documentati porta il nome CAOptimizationByProgramming. Il snippet mostra come avviare l'ottimizzazione della prima strategia in un database (Databank) tramite codice proprio, invece di iniziare il procedimento manualmente dall'interfaccia.
Questo esempio presuppone codice Java proprio nel Code Editor e illustra un caso d'uso documentato, non una promessa generale per ogni workflow di ottimizzazione. Il codice non si può trasferire uno a uno su ogni altra configurazione senza adattamenti, e l'esempio non dimostra che un'ottimizzazione avviata tramite codice porti a risultati migliori rispetto a una avviata manualmente.
L'interfaccia Program: logica propria oltre i moduli predefiniti
Per logica propria più complessa, StrategyQuant X documenta un'interfaccia chiamata Program. Tramite essa, snippet o altri plugin possono richiamare funzioni del programma principale o di altri plugin. È la via attraverso cui il codice proprio viene collegato al resto del programma, quando i moduli visivi da soli non bastano più.
Questa interfaccia si rivolge ai trader che scrivono già codice proprio nel Code Editor. Mette a disposizione funzioni documentate, non un accesso illimitato o non documentato, e anche qui la conoscenza di programmazione resta il presupposto per utilizzarla in modo sensato.

Continuare a imparare: il corso gratuito su YouTube
Se vuoi approfondire l'argomento, esiste un corso completo sul trading algoritmico come serie di video sul canale YouTube del produttore. Copre strategie per Forex, futures e mercati azionari.
Questo corso è al di fuori del software stesso, è materiale video ospitato esternamente e non fa parte di un determinato livello di licenza. Non sostituisce la tua pratica e non è una promessa di abilità artigianale o di risultati positivi nel backtest, è un punto di partenza da cui continui a imparare.
Cosa ti dicono il backtest e l'ottimizzazione, e cosa no
Tutto ciò che in questo articolo è descritto come esempi di ottimizzazione, backtest e test di robustezza si basa su dati storici. Un backtest ti mostra come si sarebbe comportata una regola in passato con le ipotesi scelte. Non ti mostra come si comporterà la stessa regola domani.
Neanche uno snippet come CAOptimizationByProgramming cambia questo: avvia un'ottimizzazione in modo più rapido e più ripetibile, ma non dice nulla sul fatto che la strategia ottimizzata regga al di fuori del periodo testato. L'osservazione e la cura di un programma in esecuzione restano un tuo compito, l'esecuzione automatica delle regole non te lo toglie.
Questo articolo ha scopo formativo e non è una consulenza sugli investimenti. I risultati passati, compresi quelli dei backtest, non garantiscono risultati futuri. Fare trading su strumenti finanziari comporta rischi e puoi perdere denaro.
Questo articolo ha scopo educativo e non è una consulenza finanziaria. I risultati passati non garantiscono risultati futuri.
Tu come fai? Raccontalo nella community. Gratis, nella tua lingua.
Iscriviti gratis