2012/08/01

戦略検討 - 「ゲーム理論」で考えてみると(2):モデル化



さて前回は、FXトレードを「ゲーム理論」にあてはめてみて、どんな種類のゲームで、「ゲームの解」をどうやって求めるのかを整理したところまで書きました。今回は、前回の課題である「ゲームのモデル化」を検討している様子を書いてみたいと思います。


今回も課題が積み残っています・・・


【今回記事の流れ】
------------------
1.ゲームの構成要素(前回のおさらい)
2.構成要素の決め方の難しさ
3.ゲームの枠組み
4.各プレイヤーの振る舞い
5.FXトレーダーの行動
6.構成要素検討結果
7.「ゲーム理論」を振り返ってみる(残課題)
------------------


さて、当初予定である「FXトレード」を「ゲーム理論」にあてはめた場合の「合理的な行動」を検討していると、「ゲーム」の構成要素を定義する必要がある。前回ブログでは、その構成要素を定義(以下、モデル化)する事が難しいので残課題になった。

という事で、今回決めなければならない「構成要素」について前回のおさらい。
#とういか、転記。。。

【ゲームの構成要素】
------------------
1.プレイヤー
  ゲームのプレイヤーは、意思決定を行う主体である。個人であることもあれば、
  企業や国であることもある。
2.行動
  プレイヤーが選択可能な行動。
3.各プレイヤーのタイプ
  不完備情報ゲームにおいては、何人かのプレイヤーが自分や他社の利得に影響を
  及ぼす「属性」を持っている。この「属性」をプレイヤーの「タイプ」と呼ぶ。
4.各プレイヤーが自分以外の「プレイヤーのタイプ」に持つ「推測確率」
5.利得
  戦略型ゲームでは、各プレイヤーが戦略を選択すると、ゲームの「結果」が定まる
  と考える。戦略型ゲームにおける「結果」とは、すべてのプレイヤーが戦略を一つ
  選択したときの戦略の組を指す。
------------------

さて次は、一体何が難しいのかを整理。

【構成要素を決める事の難しさ】
------------------
1.プレイヤー
  「プレイヤー」は単純に考えれば「トレーダー」なんだけど、「ゲーム理論」が
  「複数の意思決定をする主体が、その意思決定に関して相互作用する状況を研究する理論」
  である事を考えると、1人の個人とレーダーの行動が、「相互作用」を及ぼすほどの影響を
  与えるとは考えにくい。
  
  つまり、プレイヤーを何かしらの観点でグルーピングして、1プレイヤーと考える。
  すると次に考えないといけないのは、「何の観点でグルーピングするのか」という点。
  
2.行動
  単に個人の行動としたら、「買い」/「売り」/「何もしない」の3パターンしかない。
  これで良いのか?という素朴な疑問。他にも、「実需」/「投機(為替に収益を求めない)」
  /「FXトレーダ」というグルーピングもあるし、「FXプレイヤー」を「順張り」や「逆張り」
  という括り方もできる。
  じゃぁ、選択した「行動」の結果、数値で表す「利得」にどう影響を与えるのかを、論理的に
  紐付けられるのか。
  
  「行動」と「結果としての利得」を関連付ける方法が難しい。
  
3.各プレイヤーのタイプ
  そもそも「プレイヤー」を決めない限り決まらない。そして「タイプ」によって、
  「利得」に影響を与えるモデルないといけない。。
  
4.自分以外の「プレイヤーのタイプ」に持つ「推測確率」
  これも、「プレイヤー」と「タイプ」が決まらなければ決めれない。
  そしてその「推測確率」によって、「利得」に影響を与えなければならない。
  
5.利得
  プレイヤーが選んだ行動の結果得られる「利得」を数字で表さないといけない。
  選んだ行動の結果を数字で表すという事は、「未来」を決めれないといけない。

  わしゃぁ、超能力者じゃねぇ~
------------------


ってな感じで、なんだか前途多難な感じ。
うだうだ悩みながら、サイトを徘徊していた折、ちょっとしたきっかけが。

 【抜粋】
これを少し単純化してゲームの枠組みにしたのが以下。

【ゲームの枠組み】
-------------------
以下の図が「ゲーム」の枠組みで、横長楕円が「プレイヤー」
「プレイヤー」の行動は、今いるハコからどこか別のハコに移動するというもの。


 ※2×2で並んでいる四角い4つのハコの説明
  左側がポジション未保有(為替マーケットに参加していない)状態。右側ポジションを持
  っている状態。 上段は「買い」、下段は「売り」
  ちょっとわかりずらいのは、「ポジション未保有」の「買い」と「売り」の違い。
  これは、「ポジション未保有」だけど、今後「買う」予定のプレイヤーか、「売る」予定
  プレイヤーかを現している。

そして、「ポジション保有中」で「買い」にいてるプレイヤー数が「売り」にいてるプレイヤー数
よりも多ければ、価格は上昇圧力がかかり、時間と共に上昇していく。

別の言い方をすると、「価格を動かすのはポジションの量と保有期間」という考え方。

これだと、各プレイヤーがいてる場所で、時間とともに価格変動する「利得」をモデル化できそう! ポジション数の変動を利得に変換しているイメージ図が以下。

ブルーとオレンジの横棒がプレイヤー毎のポジション保有期間を現していて、「買い」と「売り」のプレイヤー数の差分が為替レートを変動させている。その差分が長く続くと、時間経過とともに為替レートが同じ方向に変動していく。

これで「プレイヤー」が取った行動によって、「為替レート」変動による「利得」を数字で現す事ができる様になった!!
-------------------

さて、「ゲームの枠組み」ができたところで、各プレイヤーの振る舞いを考えてみる。

【各プレイヤーの振る舞い】
------------------
前述の「ゲームの枠組み」を考えると、「ポジションの保有期間」が長いプレイヤーが存在している方向に価格が動きやすい。なので、プレイヤーの性質として、「ポジション保有期間」を一つの「属性」として考えてみた。

●実需
必要な実務に応じた為替交換が出来れば良いので、ある意味ランダムに移動する(つまり「利得」はずっとゼロ)。ただ、移動する間隔は非常に長い事を想定。もしかしたら、「外国に工場を建設した」とかいう理由であれば、一回動けばそのままずっと動かない。

●投機(為替変動に収益を求めない)
これも本来の投機先(株式とか債券とか)の変動に依存する。なので、為替レート観点ではランダム
行動になると想定してみた。移動間隔は「実需」より短く、「FXトレーダ」より少し長め。(本当??)
他には、「リスク・オン」⇔「リスク・オフ」みたいな要因をモデル化してもいいかもしれないし、群集心理的
な要素を盛り込んでもいいかもしれない。でもまずはシンプルにスタート。
このプレイヤーも「利得」はずっとゼロ。

●FXトレーダー
さて、ここが我々。以前のブログ記事の通り「収益の源泉」は、以下の「二重の意味で非効率性」から収益をあげようとする人。

1.為替市場からリターンを得る事を目的としない人
2.多種多様な経験を持つプレイヤー

この「FXトレーダ」のモデル化が次の検討課題。
----------------------------

さてここで、検討課題となった「FXトレーダー」の行動を考えてみた。

【FXトレーダーの行動】
-------------------
FXトレーダの行動を、収益の源泉毎に考えてみると。

1.為替市場からリターンを得る事を目的としない人から収益を得る
  「実需」と「投機」の「買い」と「売り」のポジション量の多い方に価格変動圧力
  がかかるので、同じ方向に賭けるのが主な戦略になる。彼らに流動性を与える為に
  反対側の注文を出す事は逆に負けにつながる
  #と、思う。。。。違う??汗

  ここで一つの疑問。

  もし、FXトレーダーが全員「実需」と「投機」のポジション量が多い方にポジション
  持てば、みんなが幸せなパラダイスになる。

  でも、そんなハズは無くて、ポジションを持つときに「相対取引」者が存在するハズなので、
  全員が同じ方向にポジションを持っている状態はあり得ない。

  全員が仮に全ての情報を知っていれば、「合理的な行動」は、同じ方向の注文で統一される。
  結果、価格が付かない。
  #例えばFXトレーダ全員がノーポジの状態から「買い」注文を出した状態。
  
  こうはならないのは、現状の「実需」+「投機」のポジションが判らないからであって、
  その情報を知る(≒推測する)事が、この源泉を収益化する命題になる。
  
  モデル化に向けてどうするのかは次で説明。
  
2.「多種多様な経験を持つプレイヤー」を収益の源泉と考えると
  スキル弱者から吸い取るという事になるけど、これをどうモデル化するのか。
  
  ここを「行動ファイナンス」で、一般的なトレーダの行動をモデル化すれば、いいのでは
  ないかと思案中。つまり「行動ファイナンス」で指摘されている「非合理的な行動」
  収益の源泉になるので、それをモデル化すればいいのではないか、という発想。
  
  このモデル化を基本の振る舞いと考えて、例えば、勝者2割敗者8割を前提とすると、
  8割のFXトレーダーはこのモデルに統一する。
  
  すると、上記「1.」で片方向に注文が偏る事もない。
  そして、選ばれた2割の勝者のモデルは、「実需」+「投機」のポジションの方向に
  賭けるモデルにすれば単純化できるし、シミュレーションもできそう。
------------------

で、本記事の目的である「構成要素」の結論を纏めると、以下の感じ。

【構成要素検討結果】
------------------
1.プレイヤー
  同じ性質(※)の挙動をとるトレーダ群
  ※同じタイミングで、同じハコ(状態)にいてる性質を一まとめにしたトレーダ群。 
2.行動
  ・「ポジション無し/買い予定」への移動
  ・「ポジション無し/売り予定」への移動
  ・「ポジション保有/買い」への移動
  ・「ポジション保有/売り」への移動
3.各プレイヤーのタイプ
  実需、投機(為替を収益源泉としない)、FXトレーダ(勝ち組)、FXトレーダ(負け組)
  と、「自分」
4.自分以外の「プレイヤーのタイプ」に持つ「推測確率」
  実需:20%
  投機:40%
  FXトレーダ(勝ち組):40%×20%= 8%
  FXトレーダ(負け組):40%×80%=32%
5.利得
  ・「実需」/「投機」は常にゼロ。
  ・FXトレーダー(勝ち組)と「自分」は以下で示す収益。
   ※利得=保有期間×1期間あたりの「買い」と「売り」ポジション差分
  ・FXトレーダー(負け組)は・・・ん????
------------------

ここで、前回記事で纏めた「ゲーム理論」について改めて振り返ってみた。

【「ゲーム理論」を振り返ってみる(残課題)】
--------------------
「全員が合理的」な行動をとる事が前提で、今回のゲームの種類だと「ベイズナッシュ均衡」を求める事が今回のゲームの解になる。「ベイズナッシュ均衡」とは、「タイプ」ごとに期待利得が最大になるように行動を選び、選んでいる行動を他の行動に変更しても期待利益が高くならないとき、その戦略の組合せの事。

すると、FXトレーダ(負け組)の「合理的な利得」とは一体なんだろうか?

色々考えた挙句、トレードを続ける事自体で、如何に「行動ファイナンス」的な満足を得られるのかと考えて見る事にして、その満足度を数字化し、「利得」にしてみよう!
--------------------



という事で、一旦次は「行動ファイナンス」へ!





忌憚なき意見を頂けると、

幸いです m(__)m



そして、「FXシステムトレード初心者奮闘記」は「基本戦略の選択」に向けて、役に立つかどうかわからないまま知識を整理・検討している様子を継続し、一旦「行動ファイナンス」の整理に続くのでした。
#運用中EAのパフォーマンスは、ついに元本割れ。。。1%弱程度だけど。。

3 件のコメント:

  1. こんにちは。
    この記事に関係ないことで恐縮ですが、過去に手動から自動バックテストへ切り替えるにあたって
    MT4ではなくてそのままFT2を使うことに決めたのはなにか理由があったのですか?

    私は手動バックテストを消化できるスピードに不満を感じるようになっているので大量の売買データを集める為に上のどちらかのプログラミングを学ぼうと考えています。ひとまず、自動売買は現在の目標ではなく、プログラミングは全くの素人ですけれど自動のバックテストをできるところまでは頑張るつもりです。

    返信削除
    返信
    1. おもち様

      はじめまして。

      MT4を使わなかったのは、当時、MT4をほぼ知らなかった、という情けない理由です。 ただ、MT4を知った後も、自動バックテストにFT2を使っていたのは、FT2では2001年からの1分足ヒストリカル・データがあった事と、MT4での長期間データ入手方法を知らなかったためです。

      ただ、最近では自動バックテストもMT4に移行しました。 データは、FT2用データをcsv形式でエキスポートし、それを、MT4にインポートして使っています。

      私の場合、たまたまFT2から始めた、というだけの理由に近いので、今から学ぶのであれば、MT4だけで十分と思います。

      ちなみに、FT2のデータは、以下のサイトからダウンロードできます。
      #すみません、コメントにURL書くと、自動でURLが消されてしまうので、タイトルから検索してURLを見つけていただければ幸いです(汗


      ■ Forex Tester Software - Data Sources
        このブログの左の下の方の【 ForexTester2 】にあります。

      また、最近データ入手方法に関するブログを見つけ、結構有用そうなので、参考までに掲載しておきます。

      ■ 不整合のない、高精度な、長期間のヒストリカルデータの取得方法: FXの本気

      また、MT4での効率的な1分足データ取得方法は、このブログ記事がとても参考になります。

      ■ 神速のHistorical Data ダウンロード術。 - とあるMetaTraderの備忘秘録


      ではでは~

      削除
    2. こんばんはありがとうございます。
      ご説明いただいた内容で納得しました(笑
      プログラミングについては何も知識がない状態からのチャレンジです。
      こちらのブログは今の私には難解ですが、バックテストの信頼性を高めるためのヒントが詰まっているように感じます。じっくりと読みながら消化していこうと思っています。
      大切な情報も掲載いただいて恐縮です。
      自分には必須のデータです。ありがとうございました。

      削除