Risposta

Un nuovo metodo per costruire strategie

2 risposte

kainc301

Cliente, bbp_partecipante, comunità, 54 risposte.

Visita il profilo

4 anni fa #254665

Ciao a tutti, stavo pensando a nuovi approcci per la costruzione di algoritmi e mi è venuta in mente un'idea su cui vorrei avere un feedback. L'implementazione di un'idea del genere richiederà un po' di tempo per essere realizzata, quindi non mi aspetto che diventi una funzionalità a breve.

Attualmente, il modo in cui SQX costruisce le strategie è additivo. In altre parole, ogni strategia inizia con una quantità minima di blocchi di indicatori e i blocchi vengono aggiunti o modificati nelle generazioni successive durante la costruzione.

Penso che dovremmo anche considerare l'integrazione di un metodo sottrattivo. Invece di iniziare con un piccolo insieme di blocchi di indicatori e costruire su quella base, si possono simulare operazioni di acquisto/vendita per tutti i blocchi di indicatori selezionati e poi togliere i blocchi meno redditizi in ogni generazione successiva.

In questo metodo, tutti i blocchi di indicatori verrebbero caricati in memoria in una sola volta e le operazioni di acquisto e vendita verrebbero effettuate in modo casuale per ciascun blocco di indicatori. I blocchi vengono poi raggruppati in strategie in base a quali blocchi simulati sono stati simultaneamente in profitto. I blocchi indicatori vengono rimossi nelle generazioni successive in base ai blocchi indicatori che hanno ottenuto il profitto minore (o in base all'ottimizzazione del fitness personalizzato). È possibile prendere un massimo mobile della distanza in profitto (X ATR o X pips) per ogni blocco e fare una media tra i blocchi per suggerire un valore TP, e viceversa dai valori SL con le perdite. Se si seleziona la simmetria, le strategie saranno costruite con blocchi di indicatori simmetrici e rimuoveranno i rispettivi blocchi di indicatori su entrambi i lati. Se si utilizza un blocco indicatore per il TP/SL, è necessario selezionare un insieme di blocchi per il possibile TP/SL, che vengono simulati contemporaneamente alle strategie generate.

La teoria alla base di questo metodo si basa sull'apprendimento d'insieme, ma poiché stiamo utilizzando una versione di una foresta casuale, si tratta essenzialmente di una foresta casuale invertita, in cui tutti gli indicatori vengono testati in una sola volta e poi ridotti man mano che le generazioni proseguono. Gli aspetti negativi sono che potrebbe essere complesso simulare tutti i dati contemporaneamente e sarebbe più lento del metodo attuale. Dovrebbe diventare più veloce con l'avanzare delle generazioni, poiché gli indicatori vengono rimossi nelle generazioni successive. Per accelerare questo processo, si potrebbe anche ricorrere al calcolo parallelo, dato che tutti i blocchi di indicatori vengono simulati simultaneamente.

Ho elencato la relativa richiesta di funzionalità qui:

https://roadmap.strategyquant.com/tasks/sq4_5741

Naturalmente, al momento ci sono questioni molto più importanti di cui preoccuparsi nel backlog. Volevo solo sapere se qualcun altro pensava che potesse valere la pena di approfondire la questione.

0

ivan

Abbonato, bbp_partecipante, comunità, 236 risposte.

Visita il profilo

4 anni fa #254713

  Con questo metodo, tutti i blocchi di indicatori verrebbero caricati in memoria in una sola volta. 

Sospetto che sia necessario un hardware molto potente, del tipo che hanno solo le grandi aziende o le agenzie statali. Sarebbe come un SXQ aziendale

Timisoara, Romania
3900X 3,8 Ghz 12 core, 64 GB di RAM DDR4 3000 Mhz, Samsung 970 EVO Plus M.2 NVMe

0

kainc301

Cliente, bbp_partecipante, comunità, 54 risposte.

Visita il profilo

4 anni fa #254731

Sospetto che sia necessario un hardware molto potente, del tipo che hanno solo le grandi aziende o le agenzie statali. Sarebbe come un SXQ aziendale

Credo che la gestione dei calcoli sia l'ostacolo più grande per un'idea come questa, proprio a causa della quantità di operazioni parallele. Ma non so fino a che punto. Se viene fatto nel modo che sto suggerendo, ci sarebbe solo bisogno di un'operazione parallela per generazione invece che per strategia. Quindi questo potrebbe essere solo un piccolo ostacolo se fatto correttamente, nel qual caso potremmo usare l'hardware che abbiamo ora al costo di un processo di costruzione leggermente più lento invece di un processo di costruzione esponenzialmente più lento. Anche il caricamento di tutti i blocchi di indicatori in memoria potrebbe essere impegnativo.

0

Stai visualizzando 2 risposte - da 1 al 2 (di 2 totali)