Wizard In The Market
システムトレードの魔術師

*

重回帰分析による米雇用統計の予測モデルを作成してみる

公開日: : 最終更新日:2015/12/17 Python

BN-AM685_1121ye_G_20131121114021

この記事はPython その2 Advent Calendar 2015 の17日目の記事です。

1 はじめに

雇用統計のモデルで有名なにほんばっしー(現在活動停止中?)が公開していた予想方法を元に、雇用統計の数値を予想するモデルを作成してみます。

2 モデル作成

2.1 使用する指標

ザイのリンクからにほんばっしーが使っていた指標は以下となっています。

このうち、無料では入手が困難だったカンファレンスボード関連の消費者信頼感指数の「雇用不十分」、「雇用困難」を除いた指標を使うことにします。まとめたデータを公開したいのですが、二次公開には色々と成約が付きまとうので今回は残念ながら公開できません。代わりにリンクをまとめておきます。

ここでは、”Summery Of Indexes.xlsx”というエクセルファイルにデータを保存しました。

2.2 単純に重回帰分析をしてみる

“Summery Of Indexes.xlsx”のファイルのTrainというシートのデータを取得します。

statsmodels.api.OLSを使えば、簡単に重回帰分析をした結果を取得できます。

結果をプロットしてみます。

chart1

青が実際の値で、赤が予測値です。

パッと見でなんとなくいけてなさそうですが、訓練データとしてしか使っていないのでこれだけでは実際の予測能力の評価ができません。

2.3 交差検証(Cross Validation)する

訓練データとテストデータに分けて評価してみます。あまりデータ数がないので、Leave One Out Cross Validation を用いることにします。

Leave One Out はscikit-learnに便利な module LeaveOneOut が提供されているのでそれを用いることにします。

LeaveOneOut検証を行った後の結果を返す method を作成します。targetに予想したい結果を入れて、予想に使う要素をinputsに入れます。

chart2

predicts にはLeaveOneOut検証によって得られた結果だけを格納されています。全然いけてないですね・・。

2.4 アナリスト予想に対する方向性の精度を検証

一応、アナリストの予想値と結果の方向性をどのぐらい予想出来ているかを計算してみます。

予想値と結果のずれの方向性を59回的中させ、52回失敗し、的中率は53%となりました。

2.5 アナリスト予測に対する精度を検証

これもまた一応ですが、結果とのずれ具合を検証してみます。

アナリストの予想に対し、今回のモデルの予想精度は約3.4倍劣る結果となりました。

3 作りこんでいけば・・

Cross Validation で使うべき要素を選別、精度を高めていけば、それなりに予測能力を持つモデルを作成できるようになります。下が実際に作成しているモデルから得られた出力例です。独自に追加した要素などを使えば、このぐらいの精度までは出せました。今のところ、2回連続的中しています。

WS000005_1

3.1 実際に予想した結果

11月

12月

ipython データ

NFP Linear Reguression

あとがき

なんか書いてみるとあんまりPython関係ないのかなと思ったり思わなかったり。こういう情報って使えるもの出すと色々怖いので、丁度いい案配だったんじゃないかなぁと思います。

にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 51 follow us in feedly

関連記事

Quantopian の pyfolio を単利運用に対応させる。

pyfolio は どんなデータを入れても複利運用として計算してしまうので、人によっては望まない検証方法だったりし

記事を読む

Derivatives analytics with Python の学習ノート 1,2章

洋書を読んでいると、いつも読んだ気になってちゃんと理解出来てるか自信がないことが多いので、チャプターごとに要点をまとめ

記事を読む

no image

stop automatically closeing vim-ipython output with jedi-vim

Even though I commented out the following code in vim_ipytho

記事を読む

no image

JAVA の SHA1 Digestの作り方

>>> import base64 >>> import hashlib >>> base64.b64encode(

記事を読む

PythonのThreadを待機させるか、必要の度に作成するのかのベンチマーク比較

QueueとThreadのベンチマーク比較 2つのケースについて比較検証してみました。 実際に処理する内

記事を読む

ipdb だけではなく IPython.embed も使おう

ipdb だと複数行の挿入ができなかったりするが、その問題が解消される。明らかにこちらのほうが使い勝手がいい。行のデ

記事を読む

Python の超お手軽のネットワーク分散コンピューティングライブラリSCOOP

SCOOPとは ssh とPython の設定を適切にするだけで、簡単にネットワーク間での分散処理が実行できる。

記事を読む

CPP extension vs Cython vs CPython on calculating the mean of numpy array

I'd like to get any feedback to make cython faster like

記事を読む

VimでPythonのIDE 環境を一から構築する

追記 これ見ておいたほうがいいかも。 Vimを最強のPython開発環境にする2 - Λlisue's blog

記事を読む

Pythonで簡単自動化!PyAutoGuiが便利すぎて感動したのでご紹介

以前こんな記事を書いていたのですが、これがまったく不要になるとても便利なPython Libraryがあった

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

システムトレードを始める前に知っておきたかったこと

今日の勉強会で発表してきました。nbviewer に共有しておきます。 システムトレードを始め

chmod で やらかしてしまったときの対処法

メモ書きです。 find | xargs とかを普通にやってしまうと、すぐに argument

AMD Ryzen & Nvidia GTX 1080 BTO PC 構成・組立と Ubuntu インストール

まだググっても、構成例とか出てないので参考になるんじゃないかなと。機械学習用ですが、全然ゲーム用

Windows のデスクトップアプリをSSHクライアントから再起動する

シェルスプリクト一発で、システムトレードの設定を一括で更新して、MT4を再起動したいとかそういう

UX21A のディスプレイが壊れたので修理

UX21A のディスプレイがぶっ壊れた。 画面にラインが入ったり、ディスプレイが揺れたりするよ

→もっと見る

PAGE TOP ↑