価格予測のススメ

bitcoin-chart
bitcoin-chart

皆さんは「神託機械」を知っていますか?
神託機械(しんたくきかい、英: oracle machine)または預言機械(よげんきかい)とは、チューリングマシンに神託(oracle)と呼ばれるブラックボックスが付加された抽象機械であり、そのブラックボックスは特定の決定問題を1ステップで解決可能です(ちなみに映画『マトリックス』シリーズで預言者オラクルが登場しますね。オラクルは「選択」を司り、人間の行動を理解・予測するために創られた直感プログラムだそうです)
プログラム内蔵方式のノイマン型コンピュータはチューリングマシンを現実的に実装したものでプロセッサがレジスタの読み書きをして動作していました。
たとえばアセンブリ言語でNステップかかるものをプロセッサが毎回Nステップで処理していました(計算量としてはO(N)と言えます)
ところが人工知能という分野で機械学習が登場したことで神託機械のように決定問題を1ステップのような感じで解決できるようになりました。
もちろん何の手間もなくいきなり1ステップで決定可能というわけではなく事前準備が必要です。
具体的には事前に以下のことが必要です。

  1. 何を出力したいのかを考える
  2. その出力したいものに影響を与える要素を調べるor考える。この一覧が入力となる。
  3. 入力値と出力値のペアを1パターンとしたデータをできるだけたくさん収集する
  4. そのデータをニューラルネットワークで使用できるように加工する
  5. 誤差逆伝播法で学習させる(「パターンの入力をフォワードプロパゲーションした出力値=実際値」が「パターンにおける出力値=理想値」に近似するようにニューラルネットワークの重みや閾値を調整する)

上記のことをすると、ある入力に対してその入力に対応すべき出力をするようなニューラルネットワーク(重みと閾値)を近似的に得ることができます。
入力層や中間層のユニット数、ニューラルネットワークの構造や要求される精度によって、必要となるデータ数や誤差逆伝播法による学習回数が変わり、学習にかかる時間が変わります。
とはいえ、このようにしてニューラルネットワークといったモデルをいったん作成しておくと、あらゆる入力に対してO(1)のような感じで出力ができます(※厳密に言うとO(1)ではないです)
神託機械は特定の問題をO(1)で処理してくれるわけですが、昨今の人工知能(機械学習によって作成されたモデル)はそれに似ているように感じます。

そこで皆さんに質問です。
もし全知の神様のような神託機械があったとしたら皆さんはどんな質問をしたいですか?

人の数だけ質問があると思いますが、たとえば価格予測なんてどうでしょうか?
具体的な将来価格じゃなくても価格が〇〇のときに△△のときよりも上がるか下がるかを予測するのもいいと思います。
たとえばCoincheckにはビットコイン相場予想というのがあって、当日9:00時点のビットコイン価格よりも翌日9:00時点のビットコイン価格が「上がる」か「下がる」かを予想し、9:30から23:59まで投票することができます。投票後は他のユーザーの投票結果を見ることが可能になり、翌日9:30以降に結果が発表されます。また、過去の投票結果に基づいた投票成績も確認できます。

人々がどんなモノに対する価格予測について興味があるのかを知りたいと思って「価格予測 ブログ」で検索してみると、以下のものがありました。

  • 野菜
  • 仮想通貨(暗号資産)
  • 中古マンション
  • ガソリン
  • ダイヤモンド
  • 新築分譲マンション
  • CX-60

色々ありますね。ちなみに自分は日経平均、NASDAQ100、ゴールド、ビットコインの価格予測が面白いんじゃないかな~と思います。
ではどのように価格予測をすればいいのでしょうか?
すぐに思い浮かぶのは価格推移の分析ですよね。未来の価格を予測するなら過去の価格の推移を分析しようと考えるのは自然です。
これはテクニカル分析的な発想に近いと思います。
でもこれだけではおそらく不十分です。
ほかに思い浮かぶのは相関の分析です。つまり対象Oに影響を与える対象O以外の要素の集合Sを特定します。
これはファンダメンタルズ分析的な発想に近いと思います。
とりわけどの要素が対象Oと最もあるいは強い相関があるかを調べるのは重要です。
そして人間の心理やプログラムのロジックです。
価格予測しようとする対象(商品)の売買を人間だけがやっているのであれば人間の心理だけを考えればいいですが、対象によってはプログラムが売買していることもありプログラムがどのようなロジックで売買しているか、もしくはどのように機械学習されたモデルで売買しているかを調べる&考えることも必要になってくると思います。
人間の心理は金融市場だとアノマリーと呼ばれています。たとえば、最近で言うと7~8月の夏枯れ相場ですね。欧米人が長期休暇に入るので、金融市場は閑散期となり、出来高は縮小します。 機械学習のモデルの方は難しいですがプログラムのロジックであれば、たとえば様々なテクニカル指標を表示した1秒足チャートを眺めているとわりとパターンに気づいたりしました。

皆さんもなにか興味のある対象を1つ決めて、それの過去の価格推移を調べたり、それと相関のある対象を調べたり、それについて人々がどんなことを考えたり思ったりしているのかを調べてみてはいかがでしょうか。