FX相場分析ラボMARKET ANALYSIS LAB

ホーム › 分析ツール › 短期・中期・長期の方向が「そろっている日」だけを機械で選び出す

短期・中期・長期の方向が「そろっている日」だけを機械で選び出す

高値(上限)安値(下限)RANGE
相場の“状態”を読む — 本記事で扱う環境認識の型(売買シグナルではありません)

この記事のスタンス

先に断っておきます。この記事は相場予測を提供しません。「ここから上がる」「買い」といった話は一切出てきません。

渡すのは道具と手順だけです。今回作るのは、「短期・中期・長期の方向がそろっているか、ねじれているか」を、毎朝同じ基準で機械が言葉にしてくれる仕組みです。方向がそろっている・ねじれている、というのは予測ではなく、今の状態の記述です。当たり外れは存在しません。

なぜこれを作るのか。多くの人が損をするのは、上位の流れと下位の流れがケンカしている日に、無理に判断しているからです。そういう日は「わかりにくい」のが正常です。わかりにくい日を機械に教えてもらい、手を出さない日を決める。それだけで、余計な負けは静かに減ります。

「方向がそろう」とはどういうことか

同じ通貨ペアでも、見る期間の長さで方向は変わります。

  • 長期(例:60日) が上向きでも、
  • 中期(例:20日) が下向き、
  • 短期(例:5日) がまた上向き

——という「ねじれ」は日常的に起きます。このとき、どの期間を根拠にするかで判断は正反対になります。だからまず、いま3つの期間の方向がそろっているのか・ねじれているのかを確認する。ここを飛ばして判断するから、後から「なぜあんなところで入ったんだろう」となります。

熟練者はこれを一瞬でやります。慣れないうちは、毎朝、機械に同じ基準で出力させるのが確実です。

方向は「始点と終点の傾き」で機械的に決められる

「上向き/下向き」を感覚で決めると、日によってブレます。ブレないように、単純なルールで固定します。

ある期間の方向:
  変化率 = (期間の終値 − 期間の始値) / 期間の始値 × 100 [%]

  変化率 > +しきい値  → 上
  変化率 < −しきい値  → 下
  それ以外            → 横ばい

これを短期・中期・長期の3つで出して、並べるだけです。3つが「上・上・上」ならそろっている、「上・下・上」ならねじれている、と機械が判定します。

準備(無料の範囲でできます)

必要なのは、前提となる価格データだけです。有料APIは要りません。為替の日次データは無料・登録不要で取得できます。

mkdir -p ~/market-lab && cd ~/market-lab
curl -sL "https://api.frankfurter.app/latest?from=USD&to=JPY"

こう返れば準備完了です(数字は例です。予測ではありません)。

{"amount":1.0,"base":"USD","date":"2026-08-13","rates":{"JPY":159.33}}

-L は必須です。付けないとリダイレクトで空が返り、次の手順でつまずきます。このAPIは無料・登録不要・商用利用可です。

動作確認(短期の方向だけ、まず出してみる)

いちばん短い期間(5日)の方向だけを、実際に出してみます。ここが通れば、あとは期間を増やして並べるだけです。

FROM=USD; TO=JPY
END=$(date +%Y-%m-%d); START=$(date -v-7d +%Y-%m-%d 2>/dev/null || date -d "-7 days" +%Y-%m-%d)
curl -sL "https://api.frankfurter.app/${START}..${END}?from=${FROM}&to=${TO}" | python3 -c "
import sys, json
d = sorted(json.load(sys.stdin).get('rates',{}).items())
v = [list(x.values())[0] for _, x in d]
chg = (v[-1]-v[0])/v[0]*100
print(f'{d[0][0]}→{d[-1][0]}  変化 {chg:+.2f}%  →', '上' if chg>0.3 else '下' if chg<-0.3 else '横ばい')
"

こう返れば成功です(数字は例です)。

2026-08-06→2026-08-13  変化 -1.20%  → 下

これは「直近5営業日の状態はこうだった」という過去の記述です。ここから先どうなるか、という話は一切含みません。

ここまででわかること

  • 方向は「始点と終点の傾き」で、感覚に頼らず機械的に決められる
  • 同じペアでも期間の長さで方向は変わる(=ねじれる)
  • ねじれている日は「わかりにくくて正常」。無理をしない日を機械に教えてもらえる

ここまでが準備です。この先で、短期・中期・長期を一度にそろえて判定する道具一式と、毎朝の運用を渡します。

具体的には:

  • 3つの期間の方向を1コマンドで並べて、「そろい/ねじれ」まで判定するスクリプト(そのまま動きます)
  • しきい値を通貨ペアごとに調整する考え方(同じ数字を全ペアに使うと誤判定する)
  • 「ねじれている日」を記録して振り返るためのログ設計(手を出さない日の可視化)
  • Claude Code に状態だけ言語化させるプロンプト(予測を書かせない縛りつき)
  • 毎朝3分で回すための自動実行の設定

免責:本記事は情報提供を目的としたものであり、投資助言・売買推奨ではありません。金融商品取引法上の投資助言業として登録された事業ではありません。掲載する手法・ツールは分析を補助するものであり、利益を保証するものではありません。投資判断はご自身の責任で行ってください。