1.はじめに
どうも、趣味でデータ分析している猫背なエンジニアです。
今回は、前回に引き続き兆しシリーズのロジックについて考えたので記録していきます。
2. 一目均衡表
■ 概要
以前の記事で以下のように投稿ロジックを加えましたが、今回は1号機の粒度をさらに濃くするために「一目均衡表」というロジックも試しに入れてみようと思っています。

■ 一目均衡表
一目均衡表は、細田悟一氏が約2,000人のスタッフと7年をかけて完成させ、「相場は買い方と売り方の均衡が崩れた時に大きく動くので、どちらが優勢かが分かればよく、それを一目で知ることができる」という由来がある相場分析手法。日本ではもちろん、海外のファンドマネージャーにも支持され、個人投資家の中でも最も人気の高いテクニカル指標の一つ。一目均衡表は、転換線・基準線・先行スパン(2本)・遅行スパンの5本線を使い、時間論・波動論・値幅観測論の3つの理論から構成されています。
$$
\begin{aligned}
条件_t =
&; Close_t > \max(先行スパン1_t, 先行スパン2_t) \
&\land 転換線_t > 基準線_t
\end{aligned}
$$
■ コーディング
以下のように一目均衡表を実装しました。一目均衡表はMACD同様、スペシャル枠として実装しました。
def screen_ichimoku(df):
df = df.copy()
high = df['High']
low = df['Low']
df['Tenkan_sen'] = (high.rolling(9).max() + low.rolling(9).min()) / 2
df['Kijun_sen'] = (high.rolling(26).max() + low.rolling(26).min()) / 2
df['Senkou_span_A'] = ((df['Tenkan_sen'] + df['Kijun_sen']) / 2).shift(26)
df['Senkou_span_B'] = (
(high.rolling(52).max() + low.rolling(52).min()) / 2
).shift(26)
# 最新足で判定
last = df.iloc[-1]
cloud_top = max(last['Senkou_span_A'], last['Senkou_span_B'])
return (
last['Close'] > cloud_top and
last['Tenkan_sen'] > last['Kijun_sen']
)
■ 実行結果
記事執筆時点での結果では残念ながら一目均衡表を通過する銘柄がいなかったようです。これを通過してさらに2号機を通過する銘柄だとほんとに買うのはありだと思いますので、今後に期待ですね(笑)

4.おわりに
今回は兆しシリーズのKK-FinancialEaterの一号機を進めていきました。他のイベントに参加したり、WEB技術を触ってみたりして右往左往していますが、引き続き精度を上げていきたいですね。次回もできるだけ絞り込みができるように質のいいロジックを見つけたいと思います。
📈 KK-FinancialEater
■ 原点(KK-Adam)
■ その1:プロトタイプ編
■ その2:収集器強化編
■ その3-番外編:グランビルの法則 - 設計編
■ その3:グランビルの法則
■ その4:移動平均乖離率
■ その5:ボリンジャーバンド
■ その6:RSI
■ その7:Stochastic
■ その8:Volume ratio
■ その9:DMI
■ その10 -番外編:ロジック変更
■ その10 -投稿編
■ その11:MACD
参考文献