Un mois après le choc corona qui a licencié les investisseurs du monde entier, de plus en plus de voix se font entendre que la première vague a atteint son point bas. Au fait, ce qui effraie les investisseurs, c'est la «nuit» où ils dorment. Même si la négociation à la Bourse de Tokyo est fermée, les Nikkei Average Futures sont activement négociés à la séance nocturne de la Bourse d'Osaka (appelée OSE) et au Chicago Mercantile Exchange à l'heure de Londres et à l'heure de New York. Il n'est pas rare que le cours de l'action s'effondre la nuit sans le savoir ... au réveil le matin ** "Ohagyaa!" **. Je me posais la question ici, mais pour les «investisseurs à moyen et long terme» qui reportent leurs positions la nuit, le marché actuel peut être un creux et un excellent point de négociation, mais les day traders qui ne reportent pas leurs positions la nuit. Le monde dans lequel vous pouvez voir peut être complètement différent. Cette fois, je téléchargerai les données horaires du cours moyen de l'action Nikkei à l'aide de l'API python ** MT5 **, qui est utilisée par les day traders du monde entier, et j'analyserai la relation entre le retour d'ouverture nocturne et le retour diurne du cours moyen de l'action Nikkei. J'ai fait.
Comme mentionné au début, les intervalles de temps perçus par les investisseurs à moyen et long terme et les day traders sont complètement différents, de sorte que l'image de la «hausse» du cours moyen de l'action Nikkei le 27 mars 2020 est également très différente. En particulier, il n'est pas rare que les day traders voient le jour comme "GU (écart en hausse) et en gros plan", même s'il s'agissait d'une "hausse" pour les investisseurs à moyen et long terme. Il n'y a pas.
Du cours de clôture de 18 832,21 yens la veille au cours de clôture de 19 389,43 yens de la journée ** Une forte augmentation de près de 600 yens! ** **
À partir du cours d'ouverture de 19021,97 yens de la journée, la fin de la séance avant était de 18901,46 yens, soit une baisse de près de ▲ 100 yens, puis le marché arrière a commencé à 19045,80 yens, et à 15h00 lorsque le day trader a fermé la position, il a augmenté d'environ +100 yens à 19176,30 yens. ** Ce fut une journée presque plate pour les day traders. ** **
Saviez-vous ce que vous souhaitez analyser à partir de l'exemple ci-dessus? Ensuite, téléchargez immédiatement les données horaires des 3 dernières années (= 24 heures x 252 jours ouvrables / an x 3 ans) auprès du courtier via MT5, et ** close return (= clôture le jour précédent → clôture le jour) ** et * * Examinons la relation entre les retours de jour (= proche du jour → clôture le jour) **
# set time index to raw bar data
def time_set(rate):
rate_time = rate.dropna(how='all', axis='index').reset_index()
rate_time['time'] = pd.to_datetime(rate_time['time'], unit='s')
rate_time = rate_time.set_index('time')
return rate_time
# specify symbol to research
symbol = 'JP225Cash'
# get bar data from MT5
mt5.initialize()
_rate = pd.DataFrame(mt5.copy_rates_from_pos(symbol, mt5.TIMEFRAME_H1, 0, 24 * 252 * 3)).set_index('time')
mt5.shutdown()
rate = time_set(_rate)
# XM: GMT+3, JP: GMT+9, diff = 6
rate.index = [x + relativedelta(hours=6) for x in rate.index]
rate_open = rate[rate.index.hour == 9]['open']
rate_close = rate[rate.index.hour == 15]['close']
rate_close.index = [x - relativedelta(hours=6) for x in rate_close.index]
rate_TK = pd.concat([rate_open, rate_close], axis='columns')
rate_TK.columns = ['open', 'close']
rate_TK['close to open'] = (rate_TK['open'] / rate_TK['close'].shift(1) - 1) * 100
rate_TK['open to close'] = (rate_TK['close'] / rate_TK['open'] - 1) * 100
rate_TK['close to close'] = (rate_TK['close'] / rate_TK['close'].shift(1) - 1) * 100
rate_TK = rate_TK.dropna()
sns.jointplot('close to open', 'open to close', rate_TK)
plt.show()
L'axe horizontal est le retour le plus proche et l'axe vertical est le retour de fermeture. Tout d'abord, vous pouvez voir à peu près trois tendances.
En passant, après avoir analysé jusqu'à présent, il semble que le public entendra une telle voix. ** "N'y a-t-il pas une grande différence de signification entre la tendance haussière et la tendance baissière à moyen terme?" ** ** "La montée en flèche de la tendance baissière (la situation actuelle) n'est-elle pas une forte hausse en raison de ventes rentables?" ** Cela peut être vrai. Faisons la même analyse pour deux cas où le rendement moyen sur 3 mois est positif (tendance haussière) et négatif (tendance baissière).
# calc 3M average return
rate_TK['3M Mean'] = rate_TK['close to close'].rolling(63).mean()
# split 2 cases: up trend / down trend
rate_TK_3MUP = rate_TK[rate_TK['3M Mean'] >= 0]
rate_TK_3MDN = rate_TK[rate_TK['3M Mean'] < 0]
# plot
sns.jointplot('close to open', 'open to close', rate_TK_3MUP)
plt.show()
sns.jointplot('close to open', 'open to close', rate_TK_3MDN)
plt.show()
Le décor a beaucoup changé! Je veux dire, il n'y a pas de tendance claire. En d'autres termes, il est difficile de prédire les rendements de jour même si vous regardez les rendements de clôture. ** Il y a des rumeurs selon lesquelles le marché chuchote sur le marché, comme "Le cours de l'action baisse à l'heure de Tokyo (= moyenne Nikkei) et augmente à l'heure de New York (= Dow)", mais en utilisant les données réelles de cette manière Si vous l'analysez, vous constaterez que ce n'est pas si simple. ** ** Et, en fait, dans la stratégie «heure de Tokyo ⇔ anomalie horaire de New York», du moins sur le marché haussier, il semble difficile de réaliser un profit en ne négociant que l'intraday de l'heure de Tokyo sans reporter la position la nuit.
Les résultats observés sur toute la période sont présentés ici. Après tout, ** Le day trader aux gros revenus ne va-t-il pas à la chasse sans manquer la répulsion féroce à la cheminée dans la tendance baissière? ** **
Considérons ici deux modèles d'investissement.
# Global v.s. Abenomics
Buy_and_Hold = ((1 + rate_TK['close to close'] / 100).cumprod() - 1) * 100
Tokyo_time = ((1 + rate_TK['open to close'] / 100).cumprod() - 1) * 100
# plot
Buy_and_Hold.plot(legend='B&H')
Tokyo_time.plot(legend='TK time B&H')
(Tokyo_time - Buy_and_Hold).plot(kind='area', stacked=False)
plt.title('cumulative return')
plt.show()
Voici un graphique du rendement cumulé de chaque stratégie calculé avec le code ci-dessus. Le bleu proche de la clôture est le retour cumulé de la stratégie d'achat et de conservation économique mondiale, l'orange ouvert pour fermer est le retour cumulé de la stratégie d'achat et de maintien avenomics, et la zone verte est la différence entre les deux rendements stratégiques (Avenomics return-world economic return). Si vous regardez les choses de cette façon, vous pouvez voir pourquoi la stratégie d'achat et de conservation des Abenomics n'est pas abandonnée, ou ** N'est-il pas beaucoup mieux d'acheter uniquement le jour que de le reporter la nuit? N'est-il pas bon d'éviter les risques? ** ** De plus, au cours des trois dernières années, la majeure partie de la hausse du cours moyen de l'action Nikkei a été provoquée la nuit, mais au cours de la dernière année, la différence s'est progressivement rétrécie. ** Dans le choc corona, la stratégie d'achat de l'avenomique est finalement l'économie mondiale. Vous pouvez voir que la stratégie d'achat a été largement surperformée **! M. Abe, je vais le faire (?).
Recommended Posts