R coding: problemi, chiarimenti, sviluppo, apprendimento. - Pagina 2
Fine egemonia di Wall Street nel prossimo decennio, quattro motivi spingono a diversificare altrove
Wall Street nella prima settimana di marzo ha mostrato qualche segnale di cedimento, in particolare il Nasdaq che è arrivato ad azzerare i guadagni da inizio anno allontanandosi di molto …
Investire sull’economia circolare: BlackRock individua i 4 settori da tenere d’occhio nel 2021
La pandemia ha rischiato di frenare lo slancio mondiale a favore della sostenibilità. Tuttavia, l’Economia circolare è tornata al centro della scena e oggi sono soprattutto quattro i settori che …
Dall’AI alla neuroscienza: la Cina prepara battaglia con USA per dominare su sette ‘tecnologie di frontiera’
La rivalità Usa-Cina continua ad espandersi e trova terreno fertile nella cosiddetta “tecnologia di frontiera”. Il premier Li Keqiang ha annunciato che la Cina aumenterà la spesa per la ricerca …
Tutti gli articoli
Tutti gli articoli Tutte le notizie

  1. #11

    Data Registrazione
    Nov 2007
    Messaggi
    145
    Blog Entries
    1
    Mentioned
    0 Post(s)
    Quoted
    20 Post(s)
    Potenza rep
    0
    Ottima spiegazione di SCALPO sulla struttura dei dati XTS (concordo pienamente sulla lunghezza dei nome-files).
    Tieni conto che per chi fa analisi pescando serie storiche dal mondo esterno, la conversione dei formati è quasi sempre problematica.

    Conosco poco le grosse potenzialità grafiche di R, lavorando quasi sempre sui rendimenti mi limito all'armamentario grafico standard(plot, hist) o quello della library PerformanceAnalytics.

    Prova questi script (cambiando la directory di partenza e, se vuoi, i nomi delle colonne nell'istruzione colnamses):

    Codice:
    ### Conversione MT5 -> XTS
    library(quantmod)
    dir  <- "c:/MyDir/"  # usa la tua directory
    name <- "EP 1m MT5 Esempio csv.csv"
    file <- paste(dir, name, sep="")
    dat <- read.table(file, sep=";", header=F, as.is=F, skip=1)
    tm <- strptime(paste(dat[,1], sprintf("%04d",dat[,2])),format="%d/%m/%Y %H%M")
    EP1m <- xts(x=dat[,3:9],order.by=tm)
    colnames(EP1m) <- c("O","H","L","C","TICKVOL","VOL","SPREAD")
    EP1m
    chartSeries(EP1m)
    ## end
    
    
    
    ### Conversione SIERRA -> XTS
    library(quantmod)
    dir  <- "c:/MyDir/"  # usa la tua directory
    name <- "EP 1min Sierra Esempio csv.csv"
    file <- paste(dir, name, sep="")
    dat <- read.table(file, sep=";", header=F, as.is=F, skip=1)
    tm <- strptime(paste(dat[,1], dat[,2]),format="%d/%m/%Y %H:%M")
    EP1m <- xts(x=dat[,2:7],order.by=tm)
    colnames(EP1m) <- c("O","H","L","C","VOL","NTRADES")
    EP1m
    chartSeries(EP1m)
    ## end

  2. #12

    Data Registrazione
    Jan 2012
    Messaggi
    688
    Mentioned
    4 Post(s)
    Quoted
    147 Post(s)
    Potenza rep
    28023052
    Vi ringrazio tantissimo, entrambi, Scalpo e fuffologo. Non solo per le ottime spiegazioni e per i consigli ma anche per la comprensione che dimostrate per le mie lacune da novello "iniziato" di questo fantastico software/linguaggio. E credo che chiunque scoprirà questo thread non potrà che ringraziarvi in quanto ritengo siano problemi, almeno all'inizio, piuttosto comuni.

  3. #13

    Data Registrazione
    Jan 2012
    Messaggi
    688
    Mentioned
    4 Post(s)
    Quoted
    147 Post(s)
    Potenza rep
    28023052
    Citazione Originariamente Scritto da cammello Visualizza Messaggio
    prova qui
    https://cran.r-project.org/web/packages/xts/xts.pdf
    to.period e poi i vari wrapper.
    Oppure in R
    to.period poi F1 (se hai xts caricato)

    C
    Sì, stavolta funziona, grazie mille.

  4. #14

    Data Registrazione
    Dec 2020
    Messaggi
    37
    Mentioned
    1 Post(s)
    Quoted
    22 Post(s)
    Potenza rep
    1090475
    @Scalpo se vuoi fare approfondimenti sul linguaggio R ti consiglio di frequentare un corso provided by Coursera, il link è Coursera | Build Skills with Online Courses from Top Institutions
    Il prezzo è bassissimo, si aggira sui 50 dollari ma molti sono gratuiti

  5. #15

    Data Registrazione
    Dec 2020
    Messaggi
    37
    Mentioned
    1 Post(s)
    Quoted
    22 Post(s)
    Potenza rep
    1090475
    Per quanto riguarda il linguaggio R ci sono decine di corsi alcuni specifici per i nostri scopi, ad esempio:
    Introduction to Business Analytics with R Illinois University
    Molti altri invece insegnano il linguaggio R per scopi generali (comunque utile)

  6. #16

    Data Registrazione
    Dec 2020
    Messaggi
    37
    Mentioned
    1 Post(s)
    Quoted
    22 Post(s)
    Potenza rep
    1090475
    In un mese si riesce a completare il corso

  7. #17
    L'avatar di Scalpo
    Data Registrazione
    Dec 2000
    Messaggi
    2,657
    Mentioned
    8 Post(s)
    Quoted
    123 Post(s)
    Potenza rep
    34991126
    Citazione Originariamente Scritto da automatic-trading Visualizza Messaggio
    Per quanto riguarda il linguaggio R ci sono decine di corsi alcuni specifici per i nostri scopi, ad esempio:
    Introduction to Business Analytics with R Illinois University
    Molti altri invece insegnano il linguaggio R per scopi generali (comunque utile)
    ottimo, già ci ero incappato in Coursera, ma penso che impiegherò il poco tempo rimastomi per fare corsi su Pythoon, poichè bisogna conoscere anche questo, l'uno non esclude l'altro (ti spiegherò perchè)

    Diciamo che a furia di leggere codice R altrui e di scrivermi funzioni personalizzate sono appena riuscito a scrollarmi l'ansia. Ho script sperimentali funzionanti dal punto di vista software (basati su ARIMA e NNET ed a breve su Keras) in real time richiamati da EA sviluppati sia in MT4 che MT5 a cui ho collegato anche database MySQL, Gli script R leggono i dati dalle piatta Metatrader a cui restituiscono i forecast di R. Il modello basato su NNET in test sembrava promettere non bene, di più.., ma purtroppo in real-time-demo si è squagliato come neve al sole.
    Quindi per me ad ora l'unico inconveniente è l'overfitting, non il codice in se, per limitarlo sto cercando di impadronirmi di alcune tecniche al fine di riuscire a combinarle tra loro come ho già visto fare da qualche parte.

  8. #18

    Data Registrazione
    Dec 2020
    Messaggi
    37
    Mentioned
    1 Post(s)
    Quoted
    22 Post(s)
    Potenza rep
    1090475
    Citazione Originariamente Scritto da Scalpo Visualizza Messaggio
    ottimo, già ci ero incappato in Coursera, ma penso che impiegherò il poco tempo rimastomi per fare corsi su Pythoon, poichè bisogna conoscere anche questo, l'uno non esclude l'altro (ti spiegherò perchè)

    Diciamo che a furia di leggere codice R altrui e di scrivermi funzioni personalizzate sono appena riuscito a scrollarmi l'ansia. Ho script sperimentali funzionanti dal punto di vista software (basati su ARIMA e NNET ed a breve su Keras) in real time richiamati da EA sviluppati sia in MT4 che MT5 a cui ho collegato anche database MySQL, Gli script R leggono i dati dalle piatta Metatrader a cui restituiscono i forecast di R. Il modello basato su NNET in test sembrava promettere non bene, di più.., ma purtroppo in real-time-demo si è squagliato come neve al sole.
    Quindi per me ad ora l'unico inconveniente è l'overfitting, non il codice in se, per limitarlo sto cercando di impadronirmi di alcune tecniche al fine di riuscire a combinarle tra loro come ho già visto fare da qualche parte.
    Per limitare il problema dell'overfitting forse dovresti prendere come training set x anni di bull trend , x anni di bearish trend e x/2 laterale, in modo che il tuo sw funzioni discretamente sia in fase laterale che bullish o bearish. Es io prenderei gli anni dal 1998 al 2002 e poi dal 2007 al 2011 e 2014-2016
    Però credo che la scelta degli indicatori sia la cosa più importante.

    Per quanto riguarda il linguaggio di programmazione quale sarebbe meglio approfondire le conoscenze inizialmente?

  9. #19
    L'avatar di Scalpo
    Data Registrazione
    Dec 2000
    Messaggi
    2,657
    Mentioned
    8 Post(s)
    Quoted
    123 Post(s)
    Potenza rep
    34991126
    Citazione Originariamente Scritto da automatic-trading Visualizza Messaggio
    Per limitare il problema dell'overfitting forse dovresti prendere come training set x anni di bull trend , x anni di bearish trend e x/2 laterale, in modo che il tuo sw funzioni discretamente sia in fase laterale che bullish o bearish. Es io prenderei gli anni dal 1998 al 2002 e poi dal 2007 al 2011 e 2014-2016
    Però credo che la scelta degli indicatori sia la cosa più importante.

    Per quanto riguarda il linguaggio di programmazione quale sarebbe meglio approfondire le conoscenze inizialmente?
    Si, la scelta (e la trasformazione) dei dati in ingresso pesa per il 70%.

    Se non hai alcuna o poca esperienza di programmazione ti conviene fare un corso gratuito direttamente su Python, la sua struttura è molto più chiara di quanto non lo sia R, il quale soffre di un eccesso di librerie le cui funzionalità spesso si sovrappongono e richiedono modalità di preparazione dei dati differenti, strutture sintattiche e stili diversi, che all'inizio creano disorientamento e molto tempo ed esercizi per apprenderle tutte, coltivare dimestichezza, saper leggere il codice altrui, trovare una proprio stile con funzioni personalizzate, e finalmente diventare produttivo, ha una curva di apprendimento notoriamente molto ripida essendo un linguaggio vettoriale (e datato, è rivolto sopratutto a scienziati e ricercatori di tutti i campi, quindi per un trader è anche molto complesso ritagliarsi un proprio percorso di apprendimento, senza incorrere nel rischio di perdere una eccessiva quantità di tempo).
    Python, nato anche in ottica di facilitare l'adozione di tecniche di Machine Learning, è invece ormai un pò la nuova mascotte dei trader di WallStreet perchè un'idea di trading sviluppata in questo ambiente richiede molte meno righe rispetto ad. es. a C# o R, ma sei vuoi (non è obbligatorio) puoi anche sviluppare ad oggetti, questo consente al trader di concentrare i suoi sforzi più sul trading che non sullo sviluppo, mentre in R, almeno da commenti fatti da sviluppatori vari letti sul web, pare che accada il contrario. Python per queste sue caratteristiche: da un lato facile sintassi, dall'altro disponibilità di librerie sapientemente organizzate (avendo fatto tesoro dell'esperienza di R gli sviluppatori di Python da quanto leggo hanno fatto davvero un bel linguaggio completo e allo stesso tempo più facile) è, attualmente, il benchmark di riferimento per tutti i trader. I "ragazzi" di WallStreet sviluppano prima in Python e poi passano l'idea agli sviluppatori professionisti che riscrivono tutto in C++ che rimane il linguaggio in assoluto più perfomante. Questo nell'ottica che il trader deve fare il trader e l'ingegnere informatico deve fare il software operativo più efficiente. Noi, in assenza di un trading-floor completo, ci .


    Te l'econometria in che ambiente di sviluppo l'hai appresa/sperimentata/applicata?
    Ultima modifica di Scalpo; 12-01-21 alle 09:03

  10. #20

    Data Registrazione
    Jan 2012
    Messaggi
    688
    Mentioned
    4 Post(s)
    Quoted
    147 Post(s)
    Potenza rep
    28023052
    Citazione Originariamente Scritto da Scalpo Visualizza Messaggio
    Si, la scelta (e la trasformazione) dei dati in ingresso pesa per il 70%.

    Se non hai alcuna o poca esperienza di programmazione ti conviene fare un corso gratuito direttamente su Python, la sua struttura è molto più chiara di quanto non lo sia R, il quale soffre di un eccesso di librerie le cui funzionalità spesso si sovrappongono e richiedono modalità di preparazione dei dati differenti, strutture sintattiche e stili diversi, che all'inizio creano disorientamento e molto tempo ed esercizi per apprenderle tutte, coltivare dimestichezza, saper leggere il codice altrui, trovare una proprio stile con funzioni personalizzate, e finalmente diventare produttivo, ha una curva di apprendimento notoriamente molto ripida essendo un linguaggio vettoriale (e datato, è rivolto sopratutto a scienziati e ricercatori di tutti i campi, quindi per un trader è anche molto complesso ritagliarsi un proprio percorso di apprendimento, senza incorrere nel rischio di perdere una eccessiva quantità di tempo).
    Python, nato anche in ottica di facilitare l'adozione di tecniche di Machine Learning, è invece ormai un pò la nuova mascotte dei trader di WallStreet perchè un'idea di trading sviluppata in questo ambiente richiede molte meno righe rispetto ad. es. a C# o R, ma sei vuoi (non è obbligatorio) puoi anche sviluppare ad oggetti, questo consente al trader di concentrare i suoi sforzi più sul trading che non sullo sviluppo, mentre in R, almeno da commenti fatti da sviluppatori vari letti sul web, pare che accada il contrario. Python per queste sue caratteristiche: da un lato facile sintassi, dall'altro disponibilità di librerie sapientemente organizzate (avendo fatto tesoro dell'esperienza di R gli sviluppatori di Python da quanto leggo hanno fatto davvero un bel linguaggio completo e allo stesso tempo più facile) è, attualmente, il benchmark di riferimento per tutti i trader. I "ragazzi" di WallStreet sviluppano prima in Python e poi passano l'idea agli sviluppatori professionisti che riscrivono tutto in C++ che rimane il linguaggio in assoluto più perfomante. Questo nell'ottica che il trader deve fare il trader e l'ingegnere informatico deve fare il software operativo più efficiente. Noi, in assenza di un trading-floor completo, ci .


    Te l'econometria in che ambiente di sviluppo l'hai appresa/sperimentata/applicata?
    Io avevo capito il contrario, e cioè che fosse più immediato R da imparare e che i sistemi necessitassero di un numero di righe inferiore. Però tu ne sai molto più di me, per cui...

Accedi