L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 3300

 
mytarmailS #:

in questo modo?


e può davvero gestire un milione di condizioni?

A giudicare dal tipo di x è Rcpp. In C++ si possono creare array di puntatori a funzioni e ci sarà una chiamata immediata della funzione necessaria per indice, ma con lo switch sembra essere una ricerca sequenziale dall'inizio alla variante necessaria. Naturalmente, rimane il problema di generare il codice di tutte queste funzioni e non è chiaro come funzionerà con Rcpp.

A proposito dei puntatori alle funzioni e dei loro array in C++.

C++ | Указатели на функции
  • metanit.com
Указатели на функции в языке программирования C++, определение и использование, массив указателей на функции
 
Aleksey Nikolayev #:
Inoltre, in teoria, è possibile avere un array di funzioni.

Che cos'è? Come fare una matrice e un interprete?

 
Aleksey Vyazmikin #:

Non conosco la sintassi di R - ho appena verificato che esiste questa possibilità anche lì. Ma sì, sembra che sia così.

È C++.

 
Aleksey Nikolayev #:

A giudicare dal tipo x, si tratta di Rcpp. In C++ si possono creare array di puntatori a funzioni e ci sarà una chiamata immediata della funzione richiesta per indice, ma con lo switch sembra essere una ricerca sequenziale dall'inizio alla variante richiesta. Naturalmente, rimane il problema di generare il codice di tutte queste funzioni e non è chiaro come funzionerà con Rcpp.

A proposito dei puntatori alle funzioni e dei loro array in C++.

E non sembra esserci forza bruta...

 
mytarmailS #:

questo è C++

Ecco perché ho fatto l'avvertenza.

Chat GPT offre una sorta di sintassi come questa

#  Создаем функцию, имитирующую оператор switch
my_switch <- function(x) {
  switch(x,
         case1 = {
           #  Действия, выполняемые при совпадении с "case1"
           print("Это case1")
         },
         case2 = {
           #  Действия, выполняемые при совпадении с "case2"
           print("Это case2")
         },
         default = {
           #  Действия по умолчанию, если нет совпадения с другими случаями
           print("Это default")
         }
  )
}
 
Aleksey Nikolayev #:

A giudicare dal tipo x, si tratta di rcpp.

Sì, lo è.

Proverò a testare la velocità

switch

Se non funziona, approfondirò il tema dei

ipuntatori alle funzioni e i loro array
 
Aleksey Vyazmikin #:

E non sembra esserci alcun eccesso...

Forse no, non ricordo esattamente.
 
mytarmailS #:

Sì, è così.

Proverò a testare la velocità.

Se non funziona, approfondirò il tema dei

puntatori alle funzioni e ai loro array
Se tutte le funzioni sono lineari, come nell'esempio, si può semplicemente utilizzare una matrice bidimensionale regolare di coefficienti. È anche possibile effettuare una compressione del volume se la matrice è rada.
 
Maxim Dmitrievsky #:

Sanych disse che non c'erano estremi, e aveva ragione.

Sì, Sanych ha scritto che non ci sono estremi, e si sbagliava, perché qualsiasi funzione ha degli estremi.

L'estremo è il punto in cui una funzione raggiunge il valore più grande (massimo) o più piccolo (minimo) in un determinato intervallo o in una determinata area. Gli estremi possono essere locali, quando la funzione raggiunge un valore estremo solo in una certa vicinanza di un punto, o globali, quando la funzione raggiunge un valore estremo sull'intero intervallo o in una determinata area.

Gli estremi sono sempre presenti, anche se non li cercate intenzionalmente (gli algoritmi che utilizzate fanno questa operazione di ricerca per voi). L'apprendimento senza ottimizzazione è impossibile, e l'ottimizzazione è impossibile senza una corretta assegnazione di FF. Se la ricerca degli estremi è fatta per voi e nascosta (cucita nell'algoritmo), non significa che non esistano (sia gli estremi che l'ottimizzazione).
 
Aleksey Nikolayev #:
Se tutte le funzioni sono lineari, come nell'esempio, si può semplicemente utilizzare una matrice bidimensionale regolare di coefficienti. È anche possibile effettuare una compressione del volume se la matrice è rada.

No, non sono lineari, si suppone che si debba inserire un codice molto più complesso in ogni funzione...

Non c'è alcun problema in R, si può fare quello che si vuole, ma la velocità(((.

Sto cercando un modo per farlo in C++.