ChatGPT: utilizzare l’intelligenza artificiale per creare un trading system
ChatGPT è senza dubbio l’argomento più discusso del momento: l’intelligenza artificiale, offrendosi come strumento utile su molti fronti, domina la scena. In questo articolo cercheremo di capire se ChatGPT possa essere utilizzato anche per la scrittura di trading system efficaci.
Vuoi un aiuto per migliorare il tuo approccio al trading? Clicca qui >>>
Immaginiamo, dunque, di rivolgere a ChatGPT questa semplice richiesta:
“Give me a trend following trading system on gasoline future, coded in EasyLanguage, with a stoploss of 500$ and a 120 minute timeframe”
Ecco la risposta di ChatGPT:
Certainly! Here’s an example of a trend-following trading system on gasoline futures in EasyLanguage with a 120-minute timeframe and a stoploss of $500:
In this system, we again use two moving averages (FastMA and SlowMA) to determine the trend direction. When the fast moving average (FastMA) is above the slow moving average (SlowMA), we consider it an uptrend and enter a long position.
We set the stop loss at a fixed value of $500 for the long position. We calculate the position size based on a fixed dollar amount for the stop loss using the IntPortion function. In this example, we assume the account size is available as a variable called AccountSize.
We set the exit price for the long position based on the entry price and the stop loss value.
Note that we are using a 120-minute timeframe in this system. You can adjust the input parameters as necessary for your desired trading strategy and timeframe.
In prima battuta, potremmo ritenerci soddisfatti: ChatGPT sembra aver compreso la nostra richiesta, ci ha fornito un codice apparentemente completo di input, variabili, ordini di ingresso e di uscita; ci ha anche fornito una breve descrizione della logica del codice che prevede addirittura il position sizing, ossia un numero variabile di contratti.
Prima ipotesi sviluppo di un trading system con ChatGPT
Pieni di entusiasmo, siamo ora ansiosi di mettere alla prova questo sistema e capire che risultati possa fornire. Immaginando di non avere alcuna esperienza in materia, siamo comunque in grado di copiare il codice ricevuto su una piattaforma di trading, MultiCharts, ma ecco che qualcosa va storto: il software ci segnala la presenza di errori nel codice!
A questo punto (sempre ipotizzando di non avere alcuna esperienza in materia) non sappiamo letteralmente cosa fare: dovremmo porre delle domande a ChatGPT perché possa aiutarci? Oppure dovremmo cercar di capire che tipo di errore contenga il codice?
Una possibile via di uscita potrebbe essere quella di cambiare la nostra richiesta iniziale, fino a quando non troveremo un codice accettato dal nostro software e che potremo finalmente utilizzare. In realtà, questa eventualità sarebbe l’origine dei problemi e non la fine; vedremo più avanti il perché.
Seconda ipotesi sviluppo di un trading system con ChatGPT
Facciamo una seconda ipotesi. Immaginiamo di avere una conoscenza sommaria di come si codifichi un trading system e, forti di questa premessa, potremmo affrontare le difficoltà in modo differente.
Questa volta potremmo essere in grado di correggere gli errori di sintassi del codice e poterlo quindi compilare senza particolari problemi.
Probabilmente saremmo anche in grado di riconoscere alcuni errori “logici” o veri e propri strafalcioni che ChatGPT potrebbe averci detto, come ad esempio il livello del prezzo di uscita che è stato calcolato in modo palesemente errato, confondendo lo stoploss di 500$ con la differenza tra prezzo di ingresso e prezzo di uscita.
Ammettendo di aver posto rimedio a tutti i problemi (sia quelli di sintassi, sia quelli legati alle regole del sistema), potremmo finalmente utilizzare il codice su una piattaforma di backtest, per misurarne le performance nel passato e, eventualmente, per affinare le metriche con l’ottimizzazione dei parametri o l’aggiunta di ulteriori condizioni.
Se è vero che abbiamo dovuto correggere il codice in più punti, è altrettanto vero che ChatGPT ci ha comunque fornito un sistema che siamo riusciti ad utilizzare e che, magari, potremo far diventare un vero trading system.
Purtroppo non è così semplice: ci sono aspetti che ChatGPT ignora totalmente e che potrebbero sfuggire anche ad un trader con un’esperienza di base. Torniamo alla nostra richiesta originale: avevamo chiesto di formulare un sistema di trading che potesse operare sul future del gasoline con uno stop loss di 500$. Per operare su questo strumento finanziario, quest’importo è totalmente insufficiente per il time frame scelto e servirebbe utilizzare un valore di stop loss almeno 3 volte superiore.
Usare valori di stop loss troppo bassi, comporta una distorsione del backtest che potrebbe mostrare risultati nettamente migliori di quelli reali. Se non siamo a conoscenza di queste regole, ce ne accorgeremo solamente una volta che saremo live con denaro reale; questi errori purtroppo si pagano a caro prezzo!
Come questo, ci sono molti altri aspetti che devono essere conosciuti prima di affrontare i mercati e lo studio è la sola via che ci consente di individuarli: occorre studiare le caratteristiche degli strumenti finanziari e le regole che governano i sistemi di trading. Non solo, occorre anche saper riconoscere i possibili errori in cui incappano, talvolta, gli stessi software di backtest, così da non farci illudere da risultati che non sono reali.
Conclusioni sullo sviluppo di un trading system con ChatGPT
Il caso presentato in questo articolo ha lo scopo di mettere il lettore in guardia dai sistemi “intelligenti” che apparentemente possono affascinarci, fornendo risposta ad ogni nostra domanda. Creare un sistema di trading può essere estremamente semplice se si ha acquisito la necessaria conoscenza, ma può risultare altrettanto pericoloso se ci si affida a sistemi automatici che non sono nati per fare questo.
Per concludere, torniamo al caso in cui supponevamo di non avere alcuna conoscenza in materia. Ora si capisce meglio perché eravamo solo all’origine dei problemi e perché siamo stati fortunati a rimanere bloccati con un codice errato in mano: se avessimo avuto un codice funzionante e questo sistema ci avesse mostrato dei risultati promettenti sulla carta, avremmo potuto commettere il grosso errore di usarlo su un conto con denaro reale: è proprio il caso di dire che per fortuna… non è andato tutto liscio!
Vuoi un aiuto per migliorare il tuo approccio al trading? Clicca qui >>>
Alla prossima e buon trading!
Andrea Unger