では2024年9月18日にこの戦略で取引したらどうなっていたのか検証してみましょう!。
前日までのデータで対象とした20銘柄は以下の通り。
- 6965.T
- 4575.T
- 4062.T
- 6954.T
- 8725.T
- 6762.T
- 3038.T
- 8750.T
- 8630.T
- 5713.T
- 9024.T
- 8697.T
- 7974.T
- 7751.T
- 6758.T
- 9041.T
- 3563.T
- 4813.T
- 6981.T
- 6701.T
プログラムで計算します。
コードは以下の通り。
"""
取引開始の5分足を見て強気なら買い、弱気なら売りのポジションをとる。
5分足レンジの最高値(または最低値)の逆指値注文をとる。
始値=終値の場合は注文しない。
約定した価格から10%のATR距離でストップロス注文を発注。
日中にストップロスの基準に達しなかったらそのまま売る。
"""
for i in d:
print('-------------------------')
print('銘柄コード',i['symbol'])
position=None
atr_10per=i['atr'] * 0.1
stop_loss=0
result=0
loss_flg=False
start='2024-09-18'
end='2024-09-19'
ticker=yf.Ticker(i['symbol'])
df_history_5m=ticker.history(interval='5m', start=start,end=end)
data_opening_5min = df_history_5m.between_time('09:00', '09:04')
first_open=data_opening_5min['Open'].values[0]
first_high=data_opening_5min['High'].values[0]
first_low=data_opening_5min['Low'].values[0]
first_close=data_opening_5min['Close'].values[0]
print('最初の5分足')
print('Open',first_open)
print('High',first_high)
print('Low',first_low)
print('Close',first_close)
print('')
if first_open == first_close:
print('取引対象外')
continue
elif first_open < first_close:
print('ポジションは買い')
print('逆指値注文:',first_high)
stop_loss=first_high-atr_10per
position='buy'
elif first_open > first_close:
print('ポジションは売り')
print('逆指値注文:',first_low)
stop_loss=first_low+atr_10per
position='sell'
print('ストップロス:',stop_loss)
print('')
data_after_first_5min=df_history_5m.between_time('09:05', '15:00')
close=0
for index, row in data_after_first_5min.iterrows():
close=row['Close']
if position == 'buy':
low=row['Low']
if stop_loss > low :
print('損切')
result=stop_loss-first_high
loss_flg=True
break
elif position == 'sell':
high=row['High']
if stop_loss < high :
print('損切')
result=first_low-stop_loss
loss_flg=True
break
if loss_flg == False:
print('利確')
print('Close',close)
if position == 'buy':
result = close - first_high
elif position == 'sell':
result = first_low - close
print('結果:',result)
結果
全負けでした。。
ストップロスが早すぎるんだろうか、もっと早く利確するといいのか?
そのままこの戦略はまだ使えなそうな気がする。
コメント
コメントを投稿