Filtro antiparticolato in R - esempio di codice banale


9

Sto cercando un semplice esempio di codice su come eseguire un filtro antiparticolato in R. Il pacchetto pomp sembra supportare il bit matematico dello spazio degli stati, ma gli esempi sono un po 'complicati da seguire programmaticamente per un semplice sviluppatore OO come me, in particolare come caricare i dati osservati in un oggetto pomp.

Diciamo che ho un file csv con 1 colonna di dati rumorosi come input e vorrei eseguirlo attraverso un filtro antiparticolato al fine di ripulirlo, con l'output come stima, in un altro file csv.

 y <- read.csv("C:/Dev/VeryCleverStatArb/inputData.csv", header=FALSE)
 #CSV to Pomp object ???
 #Run Particle Filter
 #Write estimates to csv.

La principale difficoltà con gli esempi è il caricamento dei dati CSV in un oggetto pomp.

Un modello spaziale di stato molto semplice dovrebbe essere abbastanza buono per ora.

Qualche idea per il curioso R?


Questo potrebbe essere utile per chiunque guardi al trading di coppie o al trading algoritmico in generale, dove si tratta di una relazione economica circondata dal rumore.

IMHO, è meglio codificare tu stesso il filtro ...
Dr G,

Eccezionale! Esempi / suggerimenti / puntatori per tutti coloro che visualizzano questo? Una soluzione alternativa è meglio di nessuna soluzione.
user1180428,

@ user1180428: ho modificato la mia risposta, che ora potrebbe fornire una possibile alternativa per te.
Wayne,

Risposte:


1

EDIT: Sembra che la maggior parte dei pacchetti di filtri antiparticolato non ci siano più. Tuttavia, ho giocato con LaplacesDemon (un pacchetto Bayesian MCMC) e ha la funzione PMC (Popolazione Monte Carlo) che implementa PMC, che è un tipo di filtro antiparticolato. Forse troppi macchinari per una specie di filtro antiparticolato rapido, ma vale la pena imparare un pacchetto.

Puoi trovare pacchetti ed esercitazioni su CRAN .

ORIGINALE: Ad essere onesti, nel caso più semplice, pompè difficile da usare. È molto flessibile per qualsiasi cosa tu possa voler fare, ma è come usare una nave spaziale per andare al supermercato.

Hai provato a guardare i filtri Kalman (se i tuoi dati potrebbero soddisfare i presupposti del filtro Kalman), comprese le funzioni di base tsSmoothe StructTS(solo univariato) e il pacchetto dlm? Darei anche un'occhiata loesse altri smoothers.

Mi auguro che mi sbaglio e qualcuno luppolo qui con un rapido, "Ecco come farlo per semplici dati univariati, come avete con alcune ipotesi modesti." Mi piacerebbe poter usare il pacchetto da solo.


1
Ci sono stato hackerato. Sfortunatamente, una semplice media mobile sembra inchiodare un segnale utilizzabile meglio del filtro Kalman in questo e molti altri esempi - Kalman: link , SMA: link I dati sono fissi, è fino a un Dickey Fuller p <0,01. Forse sto sbagliando. Uno script per eseguire un filtro antiparticolato su questi dati e altre coppie che scambiano candidati sarebbe fantastico (credo).
user1180428,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.