Domanda

Quello che voglio fare è prendere una certa Stock Pattern (definito come una serie di coordinate xey) e confrontarla con i prezzi delle azioni storiche. Se trovo nulla nei prezzi storici simili a quel modello ho definito, mi piacerebbe tornare come un fiammifero.

Non sono sicuro di come determinare come simili due linee curve sono. Ho fatto qualche ricerca, e si può trovare la somiglianza di due rette (con regressione lineare), ma non ho ancora incontrato un buon modo per confrontare due linee curve.

Il mio approccio migliore in questo momento è ottenere diversi punti alti e bassi della gamma dati storici sto guardando, trovare le pendici delle linee, e confrontare quelle alle pendici del modello che sto cercando di abbinare a vedere se sono più o meno lo stesso.

Tutte le idee migliori? Mi piacerebbe sentire loro!

Modifica: Grazie per l'ingresso! Ho considerato i minimi quadrati avvicinano prima, ma non ero sicuro dove andare con esso. Dopo l'ingresso Ho ricevuto però, credo che il calcolo dei minimi quadrati di ogni riga prima di appianare i dati un po ', poi il ridimensionamento e si estende il modello di come James ha suggerito dovrebbe ottenere me quello che sto cercando.

Ho intenzione di usare questo per identificare alcune bandiere tecniche nel magazzino per determinare acquistare e vendere i segnali. Ci sono già siti là fuori che fanno questo in una certa misura (come StockFetcher) , ma naturalmente mi piacerebbe piacerebbe provare io stesso e vedere se riesco a fare di meglio.

È stato utile?

Soluzione

Uno dei problemi è che la curva raccordo utilizzando funzioni non lineari non è sempre andare a lavorare per alcuni dei vostri modelli a seconda loro complessità. Si potrebbe utilizzare quadratica o cubica o qualche altro ordine di polinomi per ottenere un risultato più accurato, ma non sta andando a lavorare in tutte le situazioni, in particolare con le eventuali modifiche taglienti dei dati nel tempo.

Onestamente penso che una soluzione ragionevole e relativamente semplice è quello di 'scala' e 'tratto' il vostro modello in modo che si verifica nello stesso intervallo come i dati storici. È possibile utilizzare l'interpolazione per l'asse x e moltiplicazione più un offset per l'asse y. Dopo di che basta guardare la media dei quadrati delle differenze in ogni punto e se questo è inferiore ad un valore di soglia, allora si può considerare una corrispondenza. Ciò richiederà un po 'di tweaking per ottenere risultati prevedibili, ma penso che sia un approccio bello che dovrebbe consentire di definire qualsiasi tipo di modello senza fare affidamento su di regressione produrre una curva ben attrezzata. In sostanza si tratta di una semplice applicazione di statistiche. Si potrebbe anche guardare deviazioni standard o varianza per un approccio più globale.

Altri suggerimenti

Calcola il totale minimi quadrati dei residui (differenze y) di ciascun punto. Questo dovrebbe dare una misura della forma geometrica (quanto simili si guardano). Si dovrebbe quindi essere in grado di impostare una certa tolleranza per 'simile a sufficienza'.

http://en.wikipedia.org/wiki/Curve_fitting

la matematica non è il mio forte, ma si potrebbe essere in grado di utilizzare Correlazione .

Calcolare il valore di correlazione tra i due set di dati e e se la correlazione è maggiore di un certo valore (0,8?), Quindi prendere in considerazione le insiemi simili abbastanza .

o forse guardare ai derivati?

movimento di prezzo delle azioni, in teoria, di solito è modellata come il moto browniano con un fattore di deriva. (Lo so molto poco, ma prendo un qui )

se non ti dispiace mi chiede, a che scopo potrebbe essere?

Un pensiero potrebbe essere quello di prendere le medie di varie fasce orarie in movimento (al giorno per settimane, mesi, anni, settimanale per mesi, anni, ecc.) E confrontarle con le medie mobili ora

I singoli media sarebbero anche darvi un più agevole confronto .. se gli elementi consecutivi le medie sono in qualche forma normalizzata (diciamo da 0..1 per tenere conto di spaccature, ecc), è possibile confrontare elementi consecutivi nel vettore a l'altro all'interno di alcune serie epsilon, e ottenere un potenziale di una partita.

Solo un pensiero.

Mathworld ( http://mathworld.wolfram.com/ ) dovrebbe anche avere un po 'di assumere curva comparazioni.

Minimi quadrati non sarebbe il migliore che si possa fare su di esso. Utilizzare l'algoritmo RANSAC. Sarà gestire questo tipo di dati, perché questo tipo di dati è molto imprevedibile e spesso rumoroso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top