R - per favore condividi le tue esperienze - pagina 6

 
RandomWorker:

Ho inserito EURUSD in R. Calcolato il modello e calcolato il coefficiente. Come posso disegnare il grafico e allinearlo con il kotir?


...trama...linee...punti

A proposito, hai appena stimato il modello. La predizione è fatta dalla funzione predict.

n <- 100
n.ahead <- 15
ts <- sin(0.05 * pi * (1 : n)) + rnorm(n = n, mean = 0, sd = 0.1)
ts.model <- ar(ts, method = 'burg')
ts.pred <- predict(ts.model, n.ahead = n.ahead)
plot(
  1 : (n + n.ahead),
  c(ts, rep(NA, n.ahead)),
  t = 'l'
  )
lines(
  (n + 1) : (n + n.ahead),
  as.numeric(ts.pred$pred),
  col = 'gray'
  )
lines(
  (n + 1) : (n + n.ahead),
  as.numeric(ts.pred$pred) + as.numeric(ts.pred$se),
  col = 'gray',
  lty = 'dashed'
  )
lines(
  (n + 1) : (n + n.ahead),
  as.numeric(ts.pred$pred) - as.numeric(ts.pred$se),
  col = 'gray',
  lty = 'dashed'
  )
 
anonymous:


tracciare linee e punti

A proposito, avete solo stimato il modello. La predizione è fatta dalla funzione predict.

Grazie. È difficile per me, però. Farò un tentativo.

Quello che hai scritto attingerà alla storia?

 
anonymous:


tracciare linee e punti

A proposito, avete solo stimato il modello. La predizione è fatta dalla funzione predict.

L'ho capito un po'.

Non mi interessa la previsione.

Ho un modello che considero come un indicatore qualcosa come MA. Come faccio a disegnarlo sulla storia su cui è stato calcolato il modello?

 
RandomWorker:

Come si fa a disegnarlo sulla storia su cui è stato calcolato il modello?


trama

library(TTR)

x <- cumsum(rnorm(100))
x.ma <- EMA(x, 10)

plot(x, t = 'l')
lines(x.ma, col = 'red')
 
anonymous:


trama

> x<-ar(eur[1:256],method="mle")
> x

chiamata:
ar(x = eur[1:256],method="mle")

Coefficienti:
1 2 3
0.9420 0.1955 -0.1644

Ordine selezionato 3 sigma^2 stimato come 2.73e-06
> plot(x, t = 'l')
Errore in xy.coords(x, y, xlabel, ylabel, log) :

'x' è una lista, ma non ha componenti 'x' e 'y'

Scusate, ma devo essere straordinariamente stupido.

 
RandomWorker:
> plot(x, t = 'l')


Prova questo: plot(eur[1:256], t='l')

 
anonymous:


Prova in questo modo: plot(eur[1:256], t='l')

Nessuna domanda. L'ho disegnato io. Ma è un vettore.

x<-ar(eur[1:256],method="mle")

Qui x non è un vettore. Ha una formula al suo interno che può essere utilizzata per fare calcoli come nella previsione, solo sulla storia

 
RandomWorker:

Nessuna domanda. L'ho disegnato io. Ma è un vettore.

x<-ar(eur[1:256],method="mle")

Qui x non è un vettore. Ha una formula al suo interno che può essere utilizzata per fare calcoli come in prefix, solo sulla storia


Il comando ?ar ci dice che x è una lista, non una formula. Lo stesso vale per class(x).

Il comando str(x) mostra il contenuto dell'oggetto.

Il fitted(x) dà NULL, ma x ha una componente residua (residui dei dati originali) - i valori del modello possono ancora essere calcolati: (eur[1:256]-x$resid).

Trama(eur[1:256], t='l')

Aggiungere una linea di valori del modello: lines(eur[1:256]-x$resid, col='red')

 
anonymous:


Il comando ?ar ci dice che x è una lista, non una formula. Lo stesso vale per class(x).

Il comando str(x) mostra il contenuto dell'oggetto.

fitted(x) dà NULL, ma x ha una componente residua (residui per i dati grezzi) - i valori del modello possono ancora essere calcolati: (eur[1:256]-x$resid).

Trama(eur[1:256], t='l')

Aggiungere una linea di valori del modello: lines(eur[1:256]-x$resid, col='red')

Capito! Grazie.

Ma in qualche modo è sorprendente che noi, avendo una formula, abbiamo calcolato indirettamente il suo valore. Il predicato c'è, il risultato dell'adattamento no.

 

Una specie di stranezza.

> x<-ar.ols(eur[1:256], order.max = 20, demean = TRUE)

> x


chiamata:

ar.ols(x = eur[1:256], order.max = 20, demean = TRUE)


Coefficienti:

1 2 3

0.9425 0.1967 -0.1647

Specificato order.max = 20, ma solo tre coefficienti. Io lo capisco così:

eur = 0,9425 + 0,1967*eur(-1) + (-0,1647)*eur(-2)

Ci dovrebbero essere 20 membri?

A parte questo ho cambiato diversi parametri ar sempre tre coefficienti e sono molto leggermente diversi.

Per favore, commentate questo.

Motivazione: