Tuesday 7 November 2017

Trading Strategia Quantmod


Im molto nuovo per R e cercando di backtest una strategia Ive programmato già in WealthLab. Diversi roba Non capisco (e non funziona, ovviamente :) Io non ottenere le Tariffe bene in un vettore. o qualche tipo di vettore, ma si inizia con la struttura e io non capisco cosa questa funzione fa. Ecco perché la mia serie, 1 chiamata probabilmente non funziona. n LT - lavoro nrow (serie) doesnt neanche, ma ho bisogno che per il Loop Quindi credo che se ottengo queste 2 domande hanno risposto alla mia strategia dovrebbe funzionare. Im molto grato per qualsiasi help..R sembra piuttosto complicato anche con esperienza di programmazione in altre lingue sì io tipo di copiato alcune righe di codice da questo tutorial e don39t davvero capire questa linea. Insomma serie, 1 ho pensato che sarebbe applicare la funzione f su quotcolumnquot 1 della serie. Ma dal momento che questa serie è un po 'compley con struttura ecc doesn39t lavoro. I39m parlare di questo tutorial: r-bloggersbacktesting-a-trading-strategia ndash MichiZH 6 giugno 13 a 14: 22Introducing quantmod: E 'possibile con la funzione di un quantmod per caricare i dati da una varietà di fonti, tra cui. Yahoo Finance (dati OHLC) della Federal Reserve Bank di St. Louis FRED174 (11.000 serie economica) Google Finance (dati OHLC) Oanda, la moneta del sito (FX e metalli) database MySQL (I Suoi dati locali) R formati binari (.rdata e. RDA) Comma file separated value (.csv) Più a venire compreso (RODBC, economagic, Rbloomberg.) Come askGetting getSymbols dati GT (YHOO, srcgoogle) da Google Finance 1 YHOO GT getSymbols (GOOG, srcyahoo) da Yahoo Finance 1 GOOG getSymbols gt (DEXJPUS, srcFRED) i tassi di FX da getSymbols FRED 1 DEXJPUS GT (XPTUSD, srcOanda) Platinum da Oanda 1 XPTUSD Ogni risultati delle chiamate nei dati in corso di caricamento direttamente nel vostro spazio di lavoro, con il nome dell'oggetto restituito dalla chiamata. Un po 'a portata di mano, ma c'è di meglio. gt Specificare i parametri di ricerca, e salvare per le sessioni future. gt gt setSymbolLookup (YHOOgoogle, GOOGyahoo) gt setSymbolLookup (DEXJPUSFRED) gt setSymbolLookup (XPTUSDlist (nameXPTUSD, srcoanda)) gt saveSymbolLookup (filemysymbols. rda) gt nuove sessioni chiamano loadSymbolLookup (filemysymbols. rda) getSymbols gt gt (c (YHOO, GOOG, DEXJPUS, XPTUSD)) 1 YHOO GOOG DEXJPUS XPTUSD Ora è facile per caricare i dati provenienti da fonti diverse nel vostro spazio di lavoro (o di qualsiasi altro ambiente) senza richiedere esplicitamente l'assegnazione, o costantemente rememberingspecifying parametri di connessione. Pensate a come un comando di carico in grado di recuperare i dati da quasi ovunque. Provate voi stessi gettingdata. R Charting con quantmod Ora che abbiamo alcuni dati si può decidere di vedere le cose. Inserire le nuove chartSeries funzione. Al momento questo è un bel strumento per visualizzare serie finanziarie in modo che molti praticanti hanno familiarità con - grafici a linee, così come bar e grafici OHLC candela. Ci sono wrapper convenienza per questi diversi stili (Linechart, barchart. E Candlechart), anche se chartSeries fa un bel po 'di gestire automaticamente i dati nel modo più appropriato. Un rapido sguardo a come creare alcuni grafici, tra cui alcune funzionalità e uno sguardo a che cosa è venuta nelle versioni future. gt Specificare i parametri di ricerca, e salvare per le sessioni future. getSymbols gt gt (AAPL, srcyahoo) 1 AAPL gt DiagrammaBarre (AAPL) Gt Aggiungere multi-colorare e cambiare sfondo al bianco gt Candlechart (AAPL, multi. colTRUE, themewhite) non OHLC e serie Anno vengono gestiti automaticamente getSymbols GT (XPTUSD, srcoanda) chartSeries 1 XPTUSD GT (XPTUSD, namePlatinum (.oz) in USD) Platinum, ora settimanale con le candele di colore personalizzati utilizzando la funzione quantmod chartSeries to. weekly GT (to. weekly (XPTUSD), up. colwhite, dn. colblue) tecniche strumenti di analisi grafici a partire dalla versione 0,3-0 uno possono ora aggiungere studi di analisi tecnica dal pacchetto TTR alla tabella qui sopra. Una pagina dettagliata esempi seguiranno a breve, ma qui è un po 'di bontà: Very nice funzionalità tecnica dalla libreria di Josh Ulrich - su CRAN gt richiedere (TTR) getSymbols GT (AAPL) chartSeries 1 AAPL GT (AAPL) gt addMACD ( ) addBBands GT () utilizzando i dati per generare modelli di segnali edificio sarà per lo più lasciati per un esempio di serie successiva, ma per chi vuole continuare a sprecare un pomeriggio di Venerdì al lavoro (quando la maggior parte dei miei visitatori sembrano comparire), continuerò. Modellazione in R è ciò che R è circa. Feed di dati in questa discussione più prevelently dovuto al fatto che gran parte dei dati finanziari non è contenuta in oggetti dati singoli. Molto, se non tutto, deve raccolte e aggregate da voi, il modellista. Questo è dove pre-specificando le fonti di dati e parametri di connessione viene in così a portata di mano. setSymbolLookup permette il modellista la possibilità di istruire quantmod a dati di origine - dato un simbolo specifico - in un modo particolare. Quando si costruisce modelli in R. spesso una formula viene passato alla funzione di raccordo con l'oggetto dati appropriati per la ricerca. Per gestire molte fonti diverse è necessario creare un oggetto dati con tutte le colonne, predefinita, o per utilizzare gli oggetti visibili all'interno dell'ambiente utenti. Entrambi hanno evidenti svantaggi - non ultimo dei quali è una dipendenza del modellatore di aver caricato manualmente e allineato la serie in questione. Nella migliore delle ipotesi questo richiede molto tempo e certamente non molto illuminante. Nel peggiore dei casi può essere pericoloso come la gestione dei dati è intrinsecamente soggetto a errori. errori nei dati della ricerca può essere costoso, errori dei dati nel commercio può portare rapidamente ad una nuova carriera. Detto questo, io sottolineare nuovamente i termini della licenza attestante la MANCANZA COMPLETO DELLA GARANZIA per quanto riguarda il software e tutti R per quella materia. User attenzione Per facilitare questo problema di dati relativamente unico, quantmod crea dinamicamente oggetti di dati da utilizzare all'interno del processo di modellazione, la creazione di una struttura modello internamente dopo aver attraversato una serie di misure per identificare le fonti di dati richiesti - carico, se necessario. specifyModel è la funzione cavallo di battaglia per gestire tutti i problemi relativi ai dati, e il suo file di aiuto deve essere letta per comprendere appieno ciò che sta accadendo internamente. Per i nostri scopi qui, è sufficiente sapere che si può specificare tutti i dati all'interno della chiamata alla specifyModel, e quantmod gestirà per ricerca e aggregazione dei dati per voi. Naturalmente i dati devono essere localizzabile e unico, ma che probabilmente è stato sospettato. Letss dare un'occhiata a un esempio di specifyModel. gt Creare un oggetto quantmod per l'uso in GT nel raccordo modello successivo. Nota non c'è GT c'è bisogno di caricare i dati di prima mano. gt gt setSymbolLookup (SPYyahoo, VXNlist (nameVIX, srcyahoo)) gt gt mm lt - specifyModel (Next (OpCl (SPY)) OpCl (SPY) Cl (VIX)) gt gt modelData (mm) mm è ora un oggetto quantmod tenendo la modello di formula e struttura dei dati che implica i prossimi (Next) periodi aperti per chiudere la SampP 500 ETF (OpCl (SPY)) è modellata come un fucntion del periodo corrente aperto per chiudere e la corrente fine del VIX (Cl (VIX) ). La chiamata a modelData estrae il set di dati rilevanti, con le trasformazioni applicate magicamente. È possibile prendere i dati e fare con essa come youd piace. Una funzione più diretta per ottenere lo stesso fine è buildData. Che cosa è seguente Come su alcuni esempi di quantmods la manipolazione di questo software di dati è scritto e mantenuto da Jeffrey A. Ryan. Vedere licenza per i dettagli sulla copia e l'utilizzo. Copyright 2008.I ho problemi di backtesting una strategia Bollinger Band in R. La logica è che voglio prendere una posizione corta se il primo è maggiore della banda superiore e quindi chiudere la posizione quando si attraversa la media. Voglio anche prendere una posizione long se il primo è inferiore al più basso Band, e chiudere la posizione quando si attraversa la media. Finora questo è quello che ho: bbands BBands LT - (stockClose, N20, SD2) SIG1 lt - Lag (IfElse ((stockClose gtbbandsup), - 1,0)) SIG2 lt - Lag (IfElse ((stockClose ltbbandsdn), 1 , 0)) sig3 lt - Lag (IfElse ((stockClose GT bbandsmavg), 1, -1)) in ordine a lt - SIG1 SIG2 Questo è dove io sono bloccato, come si usa sig3 per ottenere il desiderato resultsCategory Archives: Trading Strategy I sono imbattuto in questa serie di video durante il fine settimana, un commerciante opzione discute come egli scambia spread di credito (guarda principalmente per mean reversion). La maggior parte di voi sarà familiarità con bande di Bollinger come una strategia comune mean reversion, in sostanza, si prende la media mobile e lo spostamento deviazione standard dello stock. È quindi trama sulla al grafico della media mobile e una banda superiore e inferiore (media mobile - deviazioni nstandard). Si presume che il prezzo tornerà alla media mobile quindi ogni movimento di prezzo delle bande è un buon punto di ingresso. Un problema comune con questa strategia è che la media mobile è un indicatore di ritardo ed è spesso molto lenta per monitorare i movimenti di prezzo se si utilizza un lungo periodo di ricerca. Video 1 presenta una tecnica chiamata 8220linear curves8221 regressione circa 10 minuti in. Curve di regressione lineare mirano a risolvere il problema della media mobile è lento per monitorare il prezzo. Regressione lineare Curva vs media mobile semplice Vedere come strettamente la curva di regressione lineare blu segue il prezzo di chiusura, it8217s significativamente più rapido per identificare giri nel mercato in cui la media mobile semplice ha una notevole tracking error. Il MSE potrebbe essere presa per quantificare la tenuta. Come calcolare la curva di regressione lineare: In questo esempio si dispone di 100 prezzi di chiusura per la vostra determinato stock. Bar 1 è il prezzo più antico, bar 100 è il prezzo più recente. Useremo una regressione 20 giorni. 1. I prezzi tengono 1-20 e tracciare la linea di best fit attraverso di loro 2. Alla fine della vostra retta di regressione (in modo da bar 20), disegnare un piccolo cerchio 3. prezzi tengono 2-21 e tracciare la linea di best fit attraverso di loro 4. alla fine della tua retta di regressione (così bAR 21) disegnare un piccolo cerchio 5. Ripetere fino a 100 bar 6. Unitevi tutti i piccoli cerchi, questa è la tua regressione curve8217 8216linear quindi, in poche parole è sufficiente partecipare alla estremità di una regressione lineare di rotolamento. Questo post sembra di esaminare se la ben nota frase 8220the più alto è il rischio maggiore è la reward8221 vale per il FTSE 100 costituenti. Numerosi modelli hanno cercato di catturare le metriche di remunerazione del rischio, il più noto è il Pricing Model Capital Allocation (CAPM). CAPM cerca di quantificare il rendimento di un investimento di un investitore deve ricevere per poter essere adeguatamente compensati per il rischio assunto they8217ve. Il codice di seguito calcola la deviazione standard dei rendimenti a rotazione, risk8217 8216the, per il FTSE 100 costituenti. E poi gruppi di scorte in quartili di questa metrica di rischio, i gruppi sono aggiornate quotidianamente. Quartile 1 è le scorte volatilità più bassi, quartile 2 il più alto. Un altrettanto ponderate (AMT) Indice viene creato per ogni quartile. Secondo la teoria di cui sopra Q4 (alta vol) dovrebbe produrre il massimo rendimento cumulativo. Quando si utilizza un 1 mese di ricerca per il calcolo STDEV vi è un indice chiaro vincente, l'indice di volume più basso (nero). È interessante notare che il miglior indice 2 è il più alto indice di volume (blu). Il grafico di cui sopra è calcolato utilizzando rendimenti aritmetiche. Quando si utilizza un lookback più di 250 giorni, un anno di trading, l'indice di volume più alto è il migliore interprete e l'indice di volume più basso il peggiore performer. Per brevi lookback (30 giorni) a basso indice vol è stato il miglior interprete per lungo lookback (250 giorni) ad alto indice vol è stato il miglior performer Una possibile spiegazione (non testato) è che per un breve lookback la metrica del rischio volatilità è più sensibile ai movimenti del magazzino e, quindi, su una notizia annuncio degli utili il titolo ha una maggiore probabilità di passare da it8217s indice corrente in un indice vol superiore. Forse isn8217t irragionevole supporre che l'alto indice di volume contiene solo i titoli che hanno avuto un recente volatilità temporanea annuncio e sono in un periodo di consolidamento o di mean reversion. O, per dirla in altro modo per brevi finestre di ricerca l'indice doesn8217t alto volume contiene gli stock che sono permanentemente altamente vol, mentre per lunghe finestre di ricerca eventuali deviazioni vol temporanei vengono appianate. Qui di seguito sono gli stessi grafici come sopra, ma per i ritorni geometrici.

No comments:

Post a Comment