Come costruire un algoritmo per il trading

Answers

01/23/2021
Graig

Di seguito è riportata la guida passo passo per creare il tuo sistema di trading da zero nel software Amibroker.

Step 1: formula il tuo piano di trading

Il primo passo sarebbe quello di fare una lista di controllo dei parametri in base alla quale prendere le tue decisioni di trading. Questi parametri dovrebbero essere qualcosa che può essere formulato in un algoritmo, evitando rigorosamente elementi di sensibilità o speculazione intestinale. Può essere semplice come decisioni basate sul tempo come l'acquisto di un determinato titolo il primo giorno di ogni mese o decisioni basate su analisi tecniche come breakline Trendline con volume crescente. È inoltre necessario pianificare l'importo dell'investimento per ciascuna transazione, i tempi di negoziazione, nonché lo stoploss e gli obiettivi. Una volta che hai formulato il tuo piano, dovresti convalidarlo contro un sacco di azioni per vedere se funziona davvero. Questo passaggio è molto importante prima di passare ai passaggi successivi. Se il tuo piano funziona per il 50% del tempo, con a Rapporto rischio-rendimento di almeno 1: 2, allora sei bravo a convertirlo in un algoritmo.

Passaggio 2: converti la tua idea in un algoritmo

Successivamente, dovresti iniziare a scrivere un codice per il tuo piano di trading formulato. Un codice non è altro che un mucchio di affermazioni attraverso le quali il computer può capire la tua logica di acquisto / vendita. Useremo l'Amibroker Formula Language (AFL) per scrivere l'algoritmo di trading. È un linguaggio di programmazione di alto livello e molto facile da capire se si parte dalle basi. Anche una persona che non ha esperienza di programmazione può imparare AFL ed evitare di spendere inutilmente in costosi AFL già pronti. Dai un'occhiata questo posta per tutorial AFL da zero. Supponiamo che tu operi in base al crossover medio mobile esponenziale nel periodo di tempo giornaliero. Acquisterai un'azione quando 50 EMA attraversano 200 EMA dal basso e venderesti quando 50 EMA attraverseranno 200 EMA dall'alto.

Ecco come appare quando applicato nel grafico:

Passaggio 3: eseguire il backtest dell'algoritmo

Il backtesting è un processo per convalidare le prestazioni dell'algoritmo sui dati storici. Questo è qualcosa di simile a quello che hai fatto manualmente nel passaggio 1. Amibroker ha un motore backtest molto potente che può farlo in pochi secondi. Devi solo importare i dati storici dei tuoi script preferiti in Amibroker. Controlla questo collegamento per scaricare i dati Intraday 1 minuto per Nifty e Banknifty. Per comprendere il processo dettagliato di backtesting in Amibroker, fare riferimento al seguente link dalla documentazione ufficiale:

Backtest delle tue idee di trading in Amibroker

Per testare nuovamente questa strategia EMA Crossover, useremo NSE Nifty come nostro script preferito, con un capitale iniziale di 200000 rupie. Supponiamo di acquistare 2 lotti (150 nn) per transazione. Una volta testato questa strategia, otterrai un rapporto dettagliato che include il CAGR annuale, il Drawdown, l'utile / perdita% ecc. Puoi capire vari parametri in Rapporto di Amibroker Backtest qui.

Passaggio 4: ottimizzare i parametri dell'algoritmo

L'ottimizzazione è il processo di ricerca iterativa dei parametri migliori per il tuo sistema di trading. Ad esempio: nel nostro esempio abbiamo usato 50 e 200 come periodi EMA, ora proveremmo a ottimizzare questi parametri per vedere se c'è qualche altra combinazione di media mobile che può dare risultati migliori con il minimo prelievo. Non è necessario immettere questi parametri manualmente e registrare i risultati del backtest. Il motore di ottimizzazione di Amibroker renderebbe questo compito più semplice per te. Esaminerà la gamma di parametri specificati e valuterà le prestazioni del sistema per ciascun set di parametri. Per comprendere in dettaglio il processo di ottimizzazione, passare attraverso il collegamento seguente dalla documentazione ufficiale:

Guida all'ottimizzazione degli Amibroker

Passaggio 5: gestione dei rischi

Non è sufficiente costruire un sistema di trading di successo che dia risultati decenti. Devi assolutamente incorporare la gestione dei rischi che ti aiuterebbe a superare i rischi di mercato imprevedibili. Dai un'occhiata al nostro post sul blog che delinea le strategie dettagliate di gestione dei rischi per gli operatori:

Strategie di gestione del rischio per gli operatori

Potresti aver notato che il semplice sistema algoritmico che abbiamo sviluppato non ha alcun componente Stop loss. Tutte le posizioni lunghe sono squadrate in base al segnale di vendita. Proviamo ad aggiungere Stop Loss in questo sistema. Aggiungi il seguente tratto di linea nel tuo codice:

  1. stoploss=2;
  2. ApplyStop(Tipologia=0,Modalità=1,Quantità=Stoploss);

ApplyStop è una funzione che indica ad Amibroker di uscire dal commercio quando viene soddisfatta una condizione Stoploss o Target predefinita. Di seguito è la firma di questa funzione.

ApplyStop ( tipo, modalità, importo)

Digitare =
0 = stopTypeLoss - stop perdita massima,
1 = stopTypeProfit - stop obiettivo di profitto,
2 = stopTypeTrailing - trailing stop,
3 = stopTypeNBar - Stop N-bar

modo =
0 - disabilita stop (stopModeDisable),
1 - importo in percentuale (stopModePercent) o numero di barre per stop N-bar (stopModeBars),
2 - importo in punti (stopModePoint);
3 - importo in percentuale del profitto (rischio)

quantità =
percentuale / perdita punti / trigger di profitto / importo del rischio.
Potrebbe essere un numero (livello di arresto statico) o un array (livello di arresto dinamico)

Passaggio 6: analisi Monte Carlo

La simulazione Monte Carlo è una delle fasi più importanti nello sviluppo e nell'ottimizzazione del sistema di trading. un processo che esegue ripetute esecuzioni di serie predefinite aggiungendo casualità ai parametri di input ad ogni iterazione. I risultati sono annotati alla fine di ogni iterazione che costituisce la base dell'analisi probabilistica del risultato desiderato. In termini di trading, la simulazione Monte Carlo viene eseguita per prevedere il successo di un sistema di trading backtestato. Al fine di garantire che il sistema di trading sia solido, il backtest dovrebbe essere eseguito più volte aggiungendo variazioni alle regole o ai dati di trading. Se dà risultati coerenti ogni volta, ha una maggiore probabilità di generare profitto. Il seguente post spiega il processo dettagliato di esecuzione dell'analisi Monte Carlo in Amibroker:

Analisi Monte Carlo in Amibroker

Vedi l'istantanea del rapporto di analisi di Monte Carlo per il nostro sistema di trading di esempio:

È risaputo che "I mercati sono casuali", quindi la simulazione Monte Carlo è un metodo per assorbire questa casualità nel tuo sistema di trading. Se il tuo sistema funziona bene in condizioni di mercato casuali, ha un'enorme probabilità di successo. Alla fine, tutto si riduce alla probabilità e questa è in realtà la base di tutti i sistemi di trading redditizi. Non è davvero sufficiente credere nel sistema di trading basandosi solo su proficui report di backtest. L'analisi di Monte Carlo pesa allo stesso modo durante la progettazione di un sistema.

Passaggio 7: automatizza il tuo sistema di trading

Ti consigliamo vivamente di negoziare manualmente per almeno 6 mesi prima di iniziare il trading completamente automatizzato. Una volta che hai la piena convinzione delle prestazioni del tuo sistema di trading, dovresti iniziare a esplorare l'automazione. Il trading automatico o semiautomatico non lascia che le emozioni influenzino le tue decisioni di trading, inserisce direttamente l'ordine nel terminale quando la tua strategia dà segnali. Esistono molti plug-in e software già pronti disponibili sul mercato in grado di interpretare gli ordini di acquisto / vendita da Amibroker e inserirli nel tuo terminale di trading. Dai un'occhiata al seguente post per l'elenco di tali software:

Software e plug-in di trading automatico

Per automatizzare completamente la tua strategia, avrai bisogno di un terminale del rivenditore. Gli scambi non consentono la piattaforma completamente automatizzata su un terminale al dettaglio . Per ottenere un terminale di rivenditore per i segmenti NSE / BSE, sarà necessario diventare una persona autorizzata con il proprio broker e cancellare anche l'esame NISM-Series-VIII - Equity Derivatives Certification.Weeas non esiste tale procedura per MCX. Ci sarà un costo una tantum per registrarsi come persona autorizzata (è necessario verificare con il proprio broker) e un noleggio per il terminale del rivenditore di Rs 250 / segmento / scambio.

Passaggio 8: osservare le prestazioni

Quindi hai sviluppato il tuo sistema, convinto con le sue prestazioni e / o automatizzato. Sfortunatamente la storia non finisce qui. I mercati cambiano sempre, e così dovrebbe essere la tua strategia. Devi osservare regolarmente le prestazioni del tuo sistema e annotare tutto ciò che non accade come previsto. Ricorda sempre che non saresti mai in grado di escogitare un sistema sacro graal che funzioni in tutte le condizioni di mercato.

Edit: Ho co-autore di un corso di sviluppo del sistema di trading che è disponibile per l'iscrizione a Accademia di lezioni commerciali. Questo corso ha lo scopo di insegnarti ogni aspetto dello sviluppo di sistemi algoritmici. Non preoccuparti anche se non hai alcuna esperienza di programmazione precedente, abbiamo tutto coperto. Anni di esperienza e ricerca sono stati riuniti in un unico corso in modo da non dover spendere un centesimo altrove. Dai un'occhiata e condividi il tuo feedback.

Gilles
Se hai venduto e realizzato guadagni di 50 dollari, devi richiederlo sulle tue tasse. Dovresti compilare il programma D con le informazioni appropriate, che includono se si tratta di un guadagno o una perdita di capitale a breve o lungo termine.Se hai detenuto lo stock per più di un anno, hai un guadagno a lungo termine, meno di un anno (12mo) hai un guadagno a breve termine.Se hai generato perdit...

Lascia la tua risposta