Il sistema di negoziazione delle tartarughe funziona ancora?

Answers

05/02/2024
Ver

La strategia di trading delle tartarughe funziona ancora se implementata in modo corretto. Ecco un'implementazione python della strategia. Credo che le prestazioni della strategia sui dati recenti giustificheranno l'affermazione che funziona ancora.

Passaggio 1: importare le librerie necessarie

  1. # Per ottenere i dati sui prezzi di chiusura
  2. da pandas_datareader importare data as pdr
  3. importare fix_yahoo_finance as yf
  4. yf.pdr_override()
  5. # Grafici di stampa
  6. importare matplotlib.pyplot as plt
  7. importare Seaborn
  8. # Manipolazione di dati
  9. importare numpy as np
  10. importare panda as pd

Passaggio 2: definire una funzione per calcolare le prestazioni della strategia su uno stock

Passeremo il simbolo ticker di Apple, Kinder Morgan e Ford Motor a questa funzione.

  1. def strategy_performance(stock_ticker):
  2. # Ottieni i dati per lo stock_ticker da Yahoo Finance.
  3. azione = pdr.get_data_yahoo(stock_ticker, inizia a="2009-01-01", fine="2017-10-01")

Calcola breakout e media di 5 giorni

I valori massimi, minimi e medi degli ultimi 5 giorni vengono calcolati e memorizzati nello stock di frame di dati. 5 è il parametro gratuito che deve essere ottimizzato nel backtesting. La funzione di rotolamento dei panda viene utilizzata per calcolare il breakout e la media.

  1. # 5 giorni di massimo
  2. azione['Alto'] = azione.Chiudi.spostamento(1).rotolamento(finestra=5).max()
  3. # 5 giorni bassi
  4. azione['Basso'] = azione.Chiudi.spostamento(1).rotolamento(finestra=5).verbale()
  5. # 5 giorni medi
  6. azione['Media'] = azione.Chiudi.spostamento(1).rotolamento(finestra=5).significare()

Regole d'ingresso

Quando il prezzo di chiusura del titolo è superiore al massimo degli ultimi 5 giorni, andiamo a long sullo stock e quando il prezzo di chiusura dello stock è inferiore al minimo degli ultimi 5 giorni, andiamo a short sullo stock.

  1. azione['Long_entry'] = azione.Chiudi > azione.alto
  2. azione['Short_entry'] = azione.Chiudi < azione.Basso

Regole di uscita

Usciremo dalle posizioni se il prezzo delle azioni supera la media degli ultimi 5 giorni.

  1. azione['Long_exit'] = azione.Chiudi < azione.avg
  2. azione['Short_exit'] = azione.Chiudi > azione.avg

posizioni

Ora memorizzeremo il segnale di entrata e di uscita in una singola colonna. La posizione lunga è indicata da 1, la posizione corta è indicata da -1 e l'uscita o nessuna posizione è indicata da 0. Continueremo la posizione precedente se non esiste alcuna posizione per un periodo di tempo usando il metodo fillna.

  1. azione['Positions_long'] = np.nan
  2. azione.loc[azione.long_entry,'Positions_long']= 1
  3. azione.loc[azione.long_exit,'Positions_long']= 0
  4. azione['Positions_short'] = np.nan
  5. azione.loc[azione.short_entry,'Positions_short']= -1
  6. azione.loc[azione.short_exit,'Positions_short']= 0
  7. azione['Segnale'] = azione.positions_long + azione.positions_short
  8. azione = azione.fillna(metodo='Ffill')

Ritorni di strategia

Abbiamo calcolato i ritorni di registro dello stock e moltiplicato per il segnale (1, -1 o 0) per ottenere i ritorni di strategia.

  1. daily_log_returns = np.ceppo(azione.Chiudi/azione.Chiudi.spostamento(1))
  2. daily_log_returns = daily_log_returns * azione.Segnale.spostamento(1)
  3. # Traccia la distribuzione di 'daily_log_returns'
  4. stampare stock_ticker
  5. daily_log_returns.hist(bidoni=50)
  6. plt.Mostra()
  7. ritorno daily_log_returns.cumSum()

Istogramma dei ritorni giornalieri del registro.

Apple Inc.

Kinder Morgan

Ford Motor

Passaggio 3: creare un portafoglio di azioni e calcolare la performance della strategia per ciascuna azione.

  1. portafoglio = ['AAPL','KMI','F']
  2. cum_daily_return = pd.dataframe()
  3. secondarie per un azione in portafoglio:
  4. cum_daily_return[azione] = strategy_performance(azione)
  5. # Traccia i rendimenti giornalieri cumulativi
  6. stampare "Ritorni giornalieri cumulativi"
  7. cum_daily_return.trama()
  8. # Mostra la trama
  9. plt.Mostra()

Se vuoi modificare la strategia, puoi copiare questo codice e dovrebbe essere abbastanza semplice da lì. È possibile aggiungere più titoli nel portafoglio e valutare le prestazioni della strategia su tali titoli.

Uno dei limiti dei risultati è che non include i costi di transazione. È anche importante capire che la strategia di cui sopra comporta una buona dose di rischio. Stai acquistando o vendendo un titolo in base ai recenti acquisti o vendite di altri partecipanti al mercato.

Fonte:

Trading di tartarughe in pitone

Ralleigh Fraker
L'analisi del volume è la tecnica per valutare la salute di una tendenza basata sull'attività del volume. Il volume è uno dei più antichi indicatori di trading giornaliero sul mercato. Oserei dire che l'indicatore del volume è l'indicatore più popolare utilizzato anche dai tecnici di mercato. Le piattaforme di trading potrebbero non avere alcuni indicatori; tuttavia, devo ancora tr...

Lascia la tua risposta