[Commerce système] J'ai essayé de jouer avec décomposer l'oscillateur stochastique avec python ♬

En décomposant l'oscillateur stochastique dans le but de supprimer le bruit, nous essayons de lire l'achat à partir des fluctuations d'un cycle plus long. Sans backtesting, les hauts et les bas de l'action sont clairs à acheter et à vendre. 【référence】 ① [Introduction to system trading] J'ai dessiné stc avec python et joué avec ♬[Introduction à la décomposition des éléments] Organiser des méthodes d'analyse de séries chronologiques avec R et python ♬

Ce que j'ai fait

・ Incorporer Décomposer · Quel est le résultat?

・ Incorporer Décomposer

L'intégré est le suivant La bibliothèque à utiliser est celle indiquée dans la référence ②, et le code dupliqué dans la référence ① est omis.

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

def...

L'acquisition des données est la suivante, mais définissez series = ... pour préparer Decompose.

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)

Et enfin décomposer. Tracez la situation sur le graphique.

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()

Le résultat est montré ci-dessous, avec les données de tendance brillamment débruitées. Comme caractéristique, l'écart par rapport à la tendance observée est également important lorsque le prix de l'action baisse fortement. On peut dire que la bora est grande.

df['Close']=trend

Si vous faites cela pour Haut et Bas, vous obtiendrez le graphique suivant. High, Low et Close peuvent être vus séparément. All_%K%D_6758.JP_now.png Puis, avec le même code que la dernière fois, calculez% K et% D avec les données ainsi obtenues et dessinez.

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

J'ai obtenu le graphique très simple comme ci-dessous. Avec cela, il semble qu'il n'y ait pas d'erreur d'achat ou de vente. ** 6758 Sony; zone à risque de surachat, zone à risque, alors abstenez-vous d'acheter ** stc_%K%D_6758.JP_now.png

· Quel est le résultat?

Tout est devenu simple! Évidemment, il semble que vous puissiez acheter et vendre sans vous tromper. ** 8316 Sumitomo Mitsui Financial; Zone surélevée, scène de vente bientôt? ** ** stc_%K%D_8316.JP_now.png ** 9201 Japan Airlines; zone de risque sur-sur-augmentée, bientôt en vente? ** ** stc_%K%D_9201.JP_now.png ** 9437 NTT Docomo; zone de risque de sur-abaissement, scène d'achat bientôt? ** ** stc_%K%D_9437.JP_now.png

Résumé

・ J'ai essayé de supprimer le bruit de l'oscillateur stochastique avec la fonction de décomposition. ・ Le graphique a changé de manière monotone, ce qui facilite l'achat et la vente.

・ En fait, appliquons ・ Appliquons-le au trading à court terme comme les barres minutes ・ Appliquons-le automatiquement à toutes les actions et indexons l'indice au moment de l'achat et de la vente

prime

・ Trading à court terme

Au contraire, le trading à court terme utilisant des hauts et des bas quotidiens semble être possible en utilisant la déviation, alors je l'ai essayé. Quand je l'ai essayé, c'est devenu comme suit. C'est bien, et il est douteux que les valeurs de High, Low et Close soient vraiment dans cette relation hiérarchique (il semble que ce n'est pas garanti car% K et% D dépassent la plage de 0 à 100). Cela vaut toujours la peine d'essayer, mais ce n'est pas une garantie de savoir quoi faire avec les graphiques que vous obtenez. Résultats sur 6758 cycle_stc_%K%D_6758.JP_now.png Résultats sur 9437 cycle_stc_%K%D_9437.JP_now.png

Recommended Posts

[Commerce système] J'ai essayé de jouer avec décomposer l'oscillateur stochastique avec python ♬
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
J'ai essayé gRPC avec Python
J'ai essayé de gratter avec du python
[Introduction au trading système] J'ai dessiné un oscillateur stochastique avec python et joué avec ♬
J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python
J'ai essayé webScraping avec python.
J'ai essayé d'exécuter prolog avec python 3.8.2.
J'ai essayé la communication SMTP avec Python
J'ai essayé de corriger "J'ai essayé la simulation probabiliste du jeu de bingo avec Python"
"Commerce du système à partir de Python3" lecture du mémo
J'ai essayé le rendu non réaliste avec Python + opencv
J'ai essayé un langage fonctionnel avec Python
J'ai essayé la récurrence avec Python ② (séquence de nombres Fibonatch)
J'ai essayé de jouer avec l'image avec Pillow
# J'ai essayé quelque chose comme Vlookup avec Python # 2
J'ai essayé de communiquer avec un serveur distant par communication Socket avec Python.
[Zaif] J'ai essayé de faciliter le commerce de devises virtuelles avec Python
J'ai essayé de "lisser" l'image avec Python + OpenCV
J'ai essayé des centaines de millions de SQLite avec python
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé de jouer à un jeu de frappe avec Python
J'ai essayé L-Chika avec Razpai 4 (édition Python)
J'ai essayé de jouer en connectant PartiQL et MongoDB
J'ai essayé la différenciation jacobienne et partielle avec python
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé d'utiliser mecab avec python2.7, ruby2.3, php7
J'ai essayé la synthèse de fonctions et le curry avec python
J'ai essayé de sortir LLVM IR avec Python
J'ai essayé de "binariser" l'image avec Python + OpenCV
J'ai essayé d'exécuter faiss avec python, Go, Rust
J'ai essayé d'utiliser le module Datetime de Python
J'ai essayé d'automatiser la fabrication des sushis avec python
J'ai essayé d'exécuter Deep Floor Plan avec Python 3.6.10.
J'ai essayé d'envoyer un email avec SendGrid + Python
J'ai essayé de jouer avec la calculatrice avec tkinter
J'ai essayé de créer facilement un système de présence entièrement automatique avec Selenium + Python
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python
J'ai essayé d'utiliser TradeWave (commerce du système BitCoin en Python)
J'ai essayé de démarrer avec le script python de blender_Part 01
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé Python> autopep8
3 choses que j'ai remarquées en analysant les abonnés Twitter avec Python
[OpenCV / Python] J'ai essayé l'analyse d'image de cellules avec OpenCV
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé de démarrer avec le script python de blender_Partie 02
J'ai essayé d'implémenter le perceptron artificiel avec python
Mayungo's Python Learning Episode 1: J'ai essayé d'imprimer avec impression
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé d'agréger et de comparer les données de prix unitaires par langue avec Real Gachi by Python
Commerce système à partir de Python 3: hedge fund et CTA