風のライオン―前篇―

sinonomeのアバター



チャートに希望はないと断じた日のことを思い出す。
愚か者のFXシリーズでつらつらと書き綴ったことは、その全てが、私自身の相場への好奇心の裏返しに他ならなかった。
良き日もあれば無様な日もあったと振り返ることは容易だが、そんな感傷がトレードを難しくする心理の一端でもあった。今に至るまでチャートに翻弄され続けて得たものは、揺るぎなく見つめる相場への精緻なまなざしだった。そのまなざしの先で、なびくたてがみは相場に吹く風を知っているだろうか。

ここ数か月、相場を観測するためのシステムを作っている。
最終的には売買EA(自動売買システム)へ接続することを想定しているのだが、実際に今作っているものは、一般にイメージされる「売買シグナルを出すEA」とは少し違う。私はその名を、SNF Observerとした。Observerとは観測者だ。これはあらかじめ定めた観測軸から、今この瞬間の相場を観測することを役割づけられたシステムだ。

開発を始めた当初は、もっと単純な作業を想像していた。裁量で見てきた判断基準を整理し、そのままコードへ落とし込めばいい。
Sライン、すなわち構造否定ラインを確定足の終値が突破したら、構造否定の1波とする。そこから調整を作り、その後の3波が1波と同じ値幅を進めばこの波は整合する。実にシンプルなものだ。それこそルールさえ教えれば、私がチャートの右端で見ている世界を、プログラムも同じように見られるはずだと考えた。
たとえ私に見えているその世界が、吹き抜ける風から何も助けるもののない荒野だとしても、波立つ崖の上から絶海を見つめるような孤独を呼んでいたとしても、ルールとはそんなロマン譚を怜悧に貫く杭のようなものだからだ。

響く音もないチャートを一瞥して、考える。もう一度、指先でチャートに触れる。
相場の見方を機械へ渡そうとすると、それまで無意識に処理していた問いが次々と現れた。
その1波は、厳密にはどこから始まったのだろうか。なぜそこを起点と見なしたのだろうか。その高値は、どのタイミングでBとして扱えるのだろうか。その押し安値は、何を根拠にCとして採用するのだろうか。価格が目標へ到達したことと、波が役目を終えたことは同じと言えるのだろうか。波がさらに伸びたとき、それは同じ波の伸長なのか、より大きな構造の一部なのか……。
裁量なら、チャート全体を眺めながら経験で処理できる。しかしプログラムには「この辺り」も「なんとなく」もない。滲み合う境界を持たない。EAを作っていたはずの作業は、いつの間にか、自分は相場を一体どう認識しているのかを詳らかにする作業に変わっていった。

以前、ブログに「市場を観測するつもりで、自分を観測していた」と書いた。あれは、開発の途中で突きつけられた気付きだったのだと思う。そして認識を分解していった先で、「相場の波」そのものまで、以前とは少し違う姿で見え始めたのだった。

構造否定から始まった

私の相場観の背景には、エリオット波動がある。推進と調整。1波、2波、3波。その関係が異なる階層にも似た形で現れるという自己相似性。相場という複雑な現象を記述する言語として、非常に優れていると思っている。
ただ、チャートの右端で使おうとすると問題が出てくる。まだ完成していない波を眺めながら、これはまだ1波なのか、すでに3波なのか、別の修正構造なのかと考え始めると、同じ価格経路に複数の説明が成立し得る。値動きに合わせて解釈を更新できるのは、説明体系としては大きな柔軟性だと思う。しかしリアルタイムの意思決定では、その柔軟性が、どの時点で何を根拠に何を見ていたのかを曖昧にしてしまう。後から完成したチャートを見れば、何とでも説明できてしまう。

だから、エリオット波動に与える役割を限定した。推進・調整・階層性として、今ここで何があり得るのかを記述する説明体系として使うことにしたのだ。これは売買の意思決定システムにはしないという整理だ。
実際の観測を開始する境界は、もう少し単純な市場事実から取ることにした。それが構造否定だ。下降構造なら戻り高値、上昇構造なら押し安値。相場には、それまでの構造を成立させている境界がある。私はその中でも、上位足の実体などによって形成された重要な境界を、構造否定ライン――Sラインとして観測してきた。

ここで重要なのは、「ここを越えたから上がる」という話ではないということだ。採用したSラインを、所定の判定足の確定終値が突破した時、そこで確認できるのは、旧構造の説明がそのままでは成立しなくなったという事実だけだ。構造否定は、未来の方向を生み出す原因ではないし、「今すぐ買え」と命じるシグナルでもない。新しい説明候補の検証を開始できる状態になった、という観測イベントだ。
そこから、Sを直接否定した価格運動を、構造否定の1波――W1として観測する。未来を当てるのではない。まず、それまでの説明が壊れたことを見る。そして、その後に現れた波が本当に新しい構造として整合していくのかを、後から確認する。この順序が、構造否定フラクタル理論の基礎になっている。

【旧下降構造→Sライン→確定終値突破→構造否定W1の基本図】


フラクタルとカオスの間で

昨年末に、「相場のフラクタルと隣り合うカオス」という記事で考えたのは、相場には自己相似的な構造が現れるが、そこから一意な未来が決まるわけではない、ということだった。
15分足にも1時間足にも、4時間足や日足にも、大きさの違う推進と調整が似た関係で現れる。だから私には、相場が完全に無秩序なものには見えない。一方で、似た形から始まっても、毎回同じ経路をたどるわけではない。参加者の見ている時間軸も、流動性も、情報の伝わり方も、その時点の上位構造も違う。繰り返される関係構造はあるが、その関係が未来の形を一意に決めるわけではない。私にとってフラクタルは予言の道具ではなく、現在の相場にどんな構造の痕跡が現れているかを認識するためのものである。

そしてそのすぐ隣にあるのが、カオスだ。
チャートはどこまでも細かく分解できる。日足一本の中に4時間足があり、その中に1時間足がある。15分、5分、1分と降りれば、上位足では一本だった値動きの中にも、無数の高値と安値が現れる。理屈の上では、際限なく説明できる。だが、そこに危険がある。説明の自由度を増やしすぎれば、どんな値動きにも後から説明が付けられる。それでは、観測軸を固定した意味がなくなる。

だからSNFでは、同じ時間軸ではあえて内部を再分解しない領域を持つことにした。そこを「カオス波動」として隔離するのだ。これは別に数学的な意味でカオス系であることを証明したわけではない。だからと言って、「何も分からない」という意味でもない。説明の自由度が高すぎるから、今の観測では説明しないと宣言する。そのための境界だ。必要なら時間軸を下げればいい。下位足の別検証として改めて観測すればいい。同じ検証の途中で、都合に合わせて観測軸を変えないことが重要なのだ。

この考え方は、EA化を進めるほど重要になってきた。


W1を測るということ――A・B・CとFE

W1を観測できたら、その値幅を次の波へ投影して、整合を確認する。
W1の起点をA、終点の極値をB、その後の調整W2の有意な終点をCとする。AB幅をCから投影するのが、三点フィボナッチ・エクスパンション(FE)である。
上昇側なら、

FE100 = C + (B − A)

となる。W3が、W1と同じ値幅を進んだ地点だ。
かつて、「整合性の正体」で考えていた核心は、ここにある。構造否定によって観測したW1の値幅が、W2の調整を経て、W3によって等倍分回収される。そこで初めて、W1を新しい構造の1波として観測したことには、価格構造上の整合があった、と確認できる。FE100は「必ずここまで来る」と宣言する地点ではない。過去に立てた構造仮説が、実際の価格運動で整合したかを事後に確認する地点だ。利確目標として使うこともできるが、観測理論としての意味はそちらにある。

【A-B=W1 B-C=W2 C→FE100=W3 基本図】

また、FE100へ到達しても、波が終わったとは限らない。FE161.8へ伸びることも、FE261.8へ到達することもある。裁量なら「3波が伸びた」の一言で済む。しかし観測器には、別々の出来事として記録させる必要がある。FEの価格を計算できること。価格がFE100へ到達したこと。その到達を正式な整合として認定できること。その後FE161.8へ、FE261.8へ伸長したこと。波が成熟したこと。
これらは同じではない。価格到達と波の終了を同一視しない。EA化を進めるにあたって立ち上がった、はっきりした区別だった。


相場は、起点はひとつではないと言った

EA化を進めている時、このAを決めようとして、自然と手が止まった。私はディスプレイの光の中で茫然とした。W1は、一体どこから始まったと言えるのか。
Sを直接否定した波の起点なのか。それとも、旧構造の底値や天井まで遡るのか。裁量なら「この一連の値動き」として眺められる。しかしFEで値幅を測るなら、Aという価格座標を決めなければならない。

そこで現在のSNFでは、二つの代表的な起点を区別している。一つは構造否定起点 As。採用したSを直接否定した波の起点である。もう一つは絶対起点 A0。採用した旧構造の底値、あるいは天井を起点として見る仮説である。Wボトム状の価格経路では、先に形成された底A0と、その後Sを直接否定する波の起点Asが、異なる位置に現れる。スパイク状の反転では、A0とAsが同じ市場点に重なることもある。

以前なら、どちらが本当のAなのかを決めようとしていた。今は、どちらにも異なる構造上の採用理由があるなら、その違い自体を残しておけばよいと考えている。ただし、一つのABCの中に二つのAを曖昧に混ぜるわけではない。A0を起点とした検証と、Asを起点とした検証を、別の起点仮説として並行して保持し、FE、寿命、結果をそれぞれ分けて観測する。BやC、価格証拠を共有することはある。その場合も、仮説が二つあるから根拠が二倍になった、とは数えない。同じ市場経路を別の理由から見ているのであって、独立した市場事実が二つ生まれたわけではないからだ。

【A0-Asが分離する場合と一致する場合の比較図】

Bや境界についても、同じことが言える。実体の揃った高値、ヒゲの極値、W形状のネックライン、Sライン、別の構造から投影したFE。これらが狭い価格帯に集まることがある。Bが何個もあるのではない。異なる役割の価格や境界が、同じ価格領域に重なっているのだと考える。Sとは、旧構造の説明が成立しなくなる実体側の境界。ABCのBとは、採用した波のヒゲを含む価格極値。たとえ近い位置にあっても、意味は同じではない。同じ価格だからといって、役割まで統合しない。逆に、異なる理由が近接していること自体は、合意の密度が高い価格帯として観測できる可能性がある。

そしてCとは、一つのABC版において一つだけだ。W3の基準になる以上、一つのABCの中でCを曖昧に複数持たせることはしない。ただし、一度採用したCが、永遠にすべての構造に対する唯一のCになるわけではない。市場が進めば、新しい高値や安値が生まれ、新しいB/Cを持つ構造が成立することがある。そのとき古いABCを後から書き換えて消さず、旧版は旧版として残し、新しいABCを別の版として扱う。当時利用できた情報で、どのCを見ていたのか。その後何が起き、新しい版が生まれたのか。それ自体を履歴として残すのだ。過去の判断を、完成した未来から見て書き換えてはならない。機械に観測を任せるうえで、これはかなり重要な規律になった。

ここから先はSNFの正式な定義というより私の解釈だが、Cから再び価格が推進し始める場面では、短期MAの復帰や上位構造との同期など、散らばっていた方向性が一方向に束ねられて見えることがある。私はC周辺を、そういう場所として捉えている。Cの機械的な確定条件ではなく、観測された構造を理解するための一つの見方である。

SNFがしているのは、複雑さを減らすことではなく、混同を減らすことなのだと思っている。説明の理由が違うなら、別の仮説に分ける。役割が違うなら、同じ価格でも混ぜない。同じ証拠は重ねて数えない。


重なる階層

局所的にはFE100で整合した波が、その後さらに伸びていく場面がある。私は現在、その一部を、局所的な波がより大きな構造へ接続していく過程として捉えられるのではないかと考えている。これは観測結果から検証していくべき解釈であり、FE161.8やFE261.8に到達したという事実だけで「上位構造へ接続した」と証明できるわけではない。ただ、観測の階層を広げると、局所ABCの伸長極値やその後の調整が、より大きなABCのBやC候補になる場面がある。小さな波が自身のFE100整合を終えた後も、その価格経路は消えない。後から見ると、より大きな構造の一部として再び意味を持つ。これを、ひとまず「接続連鎖」というイメージで捉えている。接続といっても、下位の波が消えるわけではない。観測履歴と結果を持ったまま残り、同時に、別の大きな構造の構成要素としても参照される、ということだ。

【局所ABC → FE100整合 → 伸長 → その極値・調整が大きなABCへ接続】

こう考えると、「15分足だから短期、4時間足だから長期」という周期分類では足りなくなる。同じ1時間足の上にも、初期のABC、その伸長、相対的に拡大したABC、さらに大きな構造が重なっていることがある。重要なのは、どの時間足を表示しているかより、何に対してどの大きさの波を観測しているのかという関係だ。

すると、同じ現在価格に対して、Asを起点にした波ではすでにFE161.8まで伸びている。A0から見た構造では、まだFE100に届いていない。さらに大きな構造では、ようやく推進の初期にいる。そういう状態もあり得る。私はこれを、ひとまず「ダイナミズムのズレ」と名付けた。価格の現在値は一つしかないが、構造上の現在地は一つとは限らない。どの起点から、どのスケールで、どのABC版から見るのかによって、同じ現在価格の意味は変わる。これは時間足を変えると相場の姿が変わることと、よく似ている。15分足では大きな推進に見える動きが、4時間足では一本の調整波にしか見えない。どちらかが間違っているのではない。観測している構造が違うのである。


地形があり、風が吹き、波が立つ

この多層的な振る舞いを、以前から自然現象に近いモデルで考えている。地形、風、波。
地形は、上位足換算の中期・長期MAなどに現れる、大きな背景構造だ。海底の高低差のように、それ自体が今の価格方向を決めるわけではない。ただ、波がどう振る舞いやすいかという背景を形づくる。その上を、風が吹く。地形側にわずかな変化の兆しが現れ、実体の偏りがそれに追随して同じ向きへ揃い始める。その過程を、私は風と呼んでいる。短期MAは地形というより、風向きの変化を先に示す風見鶏に近い。
そして、実際にチャートへ現れた価格変動が、波となるのだ。高値と安値、推進と調整、構造否定、ABC、FEへの到達と伸長。最終的に価格として観測できる現象だ。
この世界観で見るなら、構造否定は風を生み出す原因ではない。地形の上で複数の方向性が束ねられ、その結果が価格の波として可視化され、旧構造の境界Sを越えた。その市場事実を、私は構造否定と呼んで観測している。
この「地形・風・波」は、SNFの検出規則そのものではない。相場の複数階層を理解するための、私自身の上位モデルである。ただ、以前より相場を立体的に捉えられるようになった。
照会する地形観測レポート#1は実際にチャートのどこを見ているかを纏めたものだ。

観測と売買を分ける

ここまで書くと、大量の波を検出して未来を高精度に予測するシステムを作っているように見えるかもしれない。しかしSNF Observerの目的は、そこにはない。
観測したいのは、今、市場で何が起きたのか。その判断をした時点で、どの証拠が利用可能だったのか。AsとA0のどちらの仮説の話なのか。どのABC版か。価格はFE100へ到達したのか。正式な整合まで満たしたのか。その後も伸長しているのか。その検証は、まだ有効なのか。そうしたことを、対象、役割、版、証拠、時刻、寿命といった情報とともに、自分の頭の外へ置く。

構造否定が成立したから買う、ではない。成立したなら、まず観測事実として記録する。FE100へ到達したなら、それも別の事実として記録する。どの波のどこまでを狙うかは、売買戦略の仕事だ。どんな価格形状で参加するかは、入口ロジックの仕事だ。何が起きたら保有を終えるかは、取引管理の仕事だ。実際にどう注文を送り、未約定や異常をどう扱うかは、執行管理の仕事だ。
観測と売買を分けるということ。そして売買の中でも、戦略、入口、管理、執行を分けるということ。開発を続ける中で得た、かなり大きな結論だった。

また、SNFを「相場を客観的に判断するシステム」と言いたくなることがあるが、厳密には少し違う。Sをどう定義するか、何をAとして採用するか、どの極値をBとし、どんな証拠からCを採用するか、どのFEを観測するか。それらはすべて、私が定めた観測軸だ。SNFが市場の唯一絶対の真実を発見してくれるわけではない。目指しているのは、観測軸を途中で都合よく動かさないこと、そして、その軸から何が見えたのかを、利用可能だった証拠と時点とともに残すことだ。固定した観測軸に対して、同じ入力なら同じ判断ができる。後から新しい情報が現れても、あの時は何を見ていたのかを消さない。完全な客観性というより、観測の再現可能性を高める、という方が近い。結果が自分の予想通りだったから整合している、のではない。相場から何を受け取るのかという立場を途中で変えず、その観測軸の上で、結果がどうなったのかを見る。以前「整合性」について考えていたことは、ここにつながっている。


相場を見る道具から、自分の見方を見るシステムへ

最初に作ろうとしていたものは、もっと単純だった。Sを突破したら1波、調整を2波、3波がFE100へ到達する。この骨格は今も変わらず、SNF全体の中心に残っている。変わったのは、その周りだ。

その1波には、AsとA0という異なる起点理由があるかもしれない。同じ価格領域には、S、B極値、W形状の境界、FE射影といった異なる役割が重なっているかもしれない。FE100へ到達した後も波は伸び、後から、より大きな構造の構成要素として参照されるかもしれない。それぞれの観測には、それぞれの寿命がある。結果として私は、一本の絶対に正しい波を探すことから離れ、同じ相場で成立している複数の構造を、混ぜず、消さず、理由を残したまま観測する方向へ進んでいる。複雑なものは、複雑なまま受け入れる。ただし、混沌のまま放置はしない。分からないものに、無理やり答えを与えない。

EAを作ろうとして始めたその過程で、裁量判断を分解することになった。さらに分解すると、構造否定、フラクタル、カオス、起点、極点、FE、伸長、時間軸、MAといった、以前は別々に考えていたものが、少しずつ一つの観測体系につながり始めた。その多くは、最初から計画していたものではない。「整合性の正体」も、「相場のフラクタルと隣り合うカオス」も、「市場を観測するつもりで、自分を観測していた」も、その時々では別のことを考えているつもりだった。今のSNFから振り返ると、ずっと同じものを、違う距離と角度から見ていたようにも思える。それこそ初期条件の揺らぎのようなもので、大きな波の中に整合していくすべてのことを、その系の内側から見ていたに過ぎないのかもしれない。

フラクタルは未来を教えてくれない。カオスは「何も分からない」という意味ではない。構造否定も未来の方向を保証しないし、FE100も必ず反転する価格ではない。地形・風・波も、物理法則として相場を説明するものではない。どれも、現在、自分が何を根拠にどの構造を見ているのかを考えるための道具なのだ。

SNF Observerというレンズを通して見えてきたのは、相場の絶対的な未来ではなかった。むしろ、自分自身がどんな論理のレンズで相場を観測しているのか、という自分の認識の輪郭だった。
市場を観測するために作り始めたシステムは、自分が市場をどう観測しているのかを、自分の外側から観測するシステムにもなり始めている。

人は謎を解きたがる生き物だ。私がそうであるように、この世界のあまねく場所からたくさんの人が挑んできた。
相場を読むという時、今ここにある波をどのように解釈するのかは誰にでもゆだねられた自由の証だ。私はダウ理論もエリオット波動も、その他の相場の格言も否定することを選ばなかった。それらが私にもたらしたものは、新たな観測体系への階(きざはし)だった。今もなお私の足元深くにあって、枕木のように道を示し続けている。


風のライオンと銘打ったこの前篇記事では概念の説明として書いたつもりだ。ではこの抽象度の高い観測体系を、実際にどうやってプログラムとして管理しているのか。一枚岩のEAにすべての条件を書き込むのではなく、観測、状態、戦略、入口、取引管理、執行を、どう切り離しているのか。そして、大量の定義、状態、版、未決事項を扱うこの開発の中で、AI――LLMが、単なる「コードを書く道具」を越えて、どんな役割を果たすようになったのか。

次回は、その技術と実装の側から書いてみようと思う。

Tagged in :

sinonomeのアバター