[Systemhandel] Ich habe versucht, mit dem zerlegten stochastischen Oszillator mit Python ♬ zu spielen

Durch Zerlegen des stochastischen Oszillators zum Zwecke der Rauschunterdrückung versuchen wir, den Kauf anhand von Schwankungen in einem längeren Zyklus abzulesen. Ohne Backtesting sind die Höhen und Tiefen der Aktie klar zu kaufen und zu verkaufen. 【Referenz】 ① [Einführung in den Systemhandel] Ich habe stc mit Python gezeichnet und damit gespielt ♬

Was ich getan habe

・ Zerlegen integrieren · Was ist das Ergebnis?

・ Zerlegen integrieren

Der eingebaute ist wie folgt Die zu verwendende Bibliothek entspricht der in Referenz shown gezeigten, und der doppelte Code in Referenz ① wird weggelassen.

...
import matplotlib.pyplot as plt
...
import statsmodels.api as sm
from statsmodels.tsa.seasonal import STL

def...

Die Datenerfassung ist wie folgt, aber definieren Sie series = ..., um die Zerlegung vorzubereiten.

stock = '6758.JP' #sony6758 Jal 9201 Sumitomo Mitsui Financial 8316 docomo 9437
start = dt.date(2020,1,1)
end = dt.date(2020,6,5)
df = pd.DataFrame(get_stock(stock, start, end))
series = df['Close']
print(series)

Und schließlich zerlegen. Zeichnen Sie die Situation in der Grafik auf.

cycle, trend = sm.tsa.filters.hpfilter(series, 144)
fig, ax = plt.subplots(3,1)
ax[0].plot(series)
ax[0].set_title('close')
ax[1].plot(trend)
ax[1].set_title('Trend')
ax[2].plot(cycle)
ax[2].set_title('Cycle')
plt.savefig("./stock/close_%K%D_{}_now.png ".format(stock))
plt.pause(1)
plt.close()

Das Ergebnis ist unten dargestellt, wobei die Trenddaten brillant entrauscht sind. Als Merkmal ist die Abweichung vom beobachteten Trend auch dann groß, wenn der Aktienkurs stark fällt. Man kann sagen, dass die Bora groß ist.

df['Close']=trend

Wenn Sie dies für Hoch und Niedrig tun, erhalten Sie das folgende Diagramm. Hoch, Niedrig und Schließen können separat angezeigt werden. All_%K%D_6758.JP_now.png Berechnen Sie dann mit demselben Code wie beim letzten Mal% K und% D mit den auf diese Weise erhaltenen Daten und zeichnen Sie.

df['%K'] = STOK(df['Close'], df['Low'], df['High'], 14)
df['%D'] = STOD(df['Close'], df['Low'], df['High'], 14)

Ich habe die Grafik so einfach wie unten. Damit scheint es keine Fehler beim Kauf oder Verkauf zu geben. ** 6758 Sony; Risikobereich, Risikobereich überkaufen, also nicht kaufen ** stc_%K%D_6758.JP_now.png

· Was ist das Ergebnis?

Alles ist einfach geworden! Offensichtlich können Sie kaufen und verkaufen, ohne einen Fehler zu machen. ** 8316 Sumitomo Mitsui Financial; Überhöhte Fläche, Verkaufsszene bald? ** ** ** stc_%K%D_8316.JP_now.png ** 9201 Japan Airlines; Überhöhter Risikobereich, Verkaufsszene bald? ** ** ** stc_%K%D_9201.JP_now.png ** 9437 NTT Docomo; Risikobereich einer übermäßigen Senkung, Kaufszene bald? ** ** ** stc_%K%D_9437.JP_now.png

Zusammenfassung

・ Ich habe versucht, Rauschen mit der Zerlegungsfunktion aus dem stochastischen Oszillator zu entfernen. ・ Die Grafik hat sich monoton geändert, was den Kauf und Verkauf erleichtert.

・ Eigentlich wollen wir uns bewerben ・ Wenden wir es auf den kurzfristigen Handel an, z. B. auf Minutenbalken ・ Wenden wir es automatisch auf alle Aktien an und indexieren den Index zum Zeitpunkt des Kaufs und Verkaufs

Bonus

・ Kurzfristiger Handel

Im Gegenteil, kurzfristiger Handel mit täglichen Höhen und Tiefen scheint mit Deviation möglich zu sein, also habe ich es versucht. Als ich es versuchte, wurde es wie folgt. Dies ist in Ordnung, und es ist zweifelhaft, dass die Werte High, Low und Close tatsächlich in dieser hierarchischen Beziehung stehen (es scheint, dass dies nicht garantiert ist, da% K und% D den Bereich von 0 bis 100 überschreiten). Es ist immer noch einen Versuch wert, aber es ist keine Garantie dafür, was mit den Charts zu tun ist, die Sie erhalten. Ergebnisse von 6758 cycle_stc_%K%D_6758.JP_now.png Ergebnisse von 9437 cycle_stc_%K%D_9437.JP_now.png

Recommended Posts

[Systemhandel] Ich habe versucht, mit dem zerlegten stochastischen Oszillator mit Python ♬ zu spielen
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
[Einführung in den Systemhandel] Ich habe einen Stochastic Oscillator mit Python gezeichnet und damit gespielt ♬
Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren
Ich habe versucht, WebScraping mit Python.
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Ich habe die SMTP-Kommunikation mit Python versucht
Ich habe versucht zu beheben "Ich habe versucht, die Wahrscheinlichkeit eines Bingospiels mit Python zu simulieren"
"Systemhandel beginnt mit Python3" Lesememo
Ich habe versucht, mit Python + opencv nicht realistisch zu rendern
Ich habe eine funktionale Sprache mit Python ausprobiert
Ich habe versucht, mit Python ② (Fibonacci-Zahlenfolge) aufzuklären.
Ich habe versucht, mit Pillow mit dem Bild zu spielen
# Ich habe so etwas wie Vlookup mit Python # 2 ausprobiert
Ich habe versucht, mit einem Remote-Server über Socket-Kommunikation mit Python zu kommunizieren.
[Zaif] Ich habe versucht, den Handel mit virtuellen Währungen mit Python zu vereinfachen
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
Ich habe Hunderte Millionen SQLite mit Python ausprobiert
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Ich habe versucht, mit Python ein Tippspiel zu spielen
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.
Ich habe versucht, mit PartiQL und MongoDB verbunden zu spielen
Ich habe Jacobian und teilweise Differenzierung mit Python versucht
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich habe versucht, Mecab mit Python2.7, Ruby2.3, PHP7 zu verwenden
Ich habe Funktionssynthese und Curry mit Python versucht
Ich habe versucht, LLVM IR mit Python auszugeben
Ich habe versucht, das Bild mit Python + OpenCV zu "binarisieren"
Ich habe versucht, mit Python Faiss zu laufen, Go, Rust
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Ich habe versucht, Deep Floor Plan mit Python 3.6.10 auszuführen.
Ich habe versucht, eine E-Mail mit SendGrid + Python zu senden
Ich habe versucht, mit tkinter mit dem Taschenrechner zu spielen
Ich habe versucht, mit Selenium + Python einfach ein vollautomatisches Anwesenheitssystem zu erstellen
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Ich habe versucht, TradeWave zu verwenden (BitCoin-Systemhandel in Python)
Ich habe versucht, mit Blenders Python script_Part 01 zu beginnen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe Python> autopep8 ausprobiert
3 Dinge, die mir bei der Analyse von Twitter-Followern mit Python aufgefallen sind
[OpenCV / Python] Ich habe versucht, Bilder mit OpenCV zu analysieren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich habe versucht, mit Blenders Python script_Part 02 zu beginnen
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren
Mayungos Python-Lernfolge 1: Ich habe versucht, mit Druck zu drucken
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe versucht, Stückpreisdaten nach Sprache mit Real Gachi von Python zu aggregieren und zu vergleichen
Systemhandel ab Python 3: Hedge Fund und CTA