Quandlを用いて先物ロングオンリーのパフォーマンスを計測する

概要

  • Quandlから主要な先物の各限月データが取得できるので、それを用いて先物ロングオンリーのパフォーマンスを計測する。(先物ロングオンリー = 期近の買い持ち)

データ概要

今回対象としたアセットクラスは

  • 株式指数先物
  • 国債先物
  • 金利先物
  • 為替先物
  • コモディティ先物

の合計82項目。あまりメジャーでないと思われる先物は省いています。またQuandlには全ての限月が掲載されているわけではなく、例えば日経平均先物は2013年12月限からしかデータがありません。

先物ロール方法

基本的にはDeliveryの3営業日前に期近から期先へとロールするようにしています。単純に各先物のパフォーマンスを見てみたいだけなので、取引コストは無視しています。

各統計量について

先物のリターンを計測しているので、パフォーマンスは無リスク金利に対する超過リターンベースとなっています。

結果

と言いつつjupyter notebookの直貼りです。

参考

Collections – Quandl
https://www.quandl.com/collections/futures

Kerasでお試しニューラルネットワーク

概要

  • NNやCNNが簡単に記述できるKerasパッケージのお試し
  • 簡単な2レイヤーのNNの実装

Jupyter notebook

詳細は下記ノートブックを見て下さいというわけですが。。。

メモ

学習済みのパラメータを外部ファイルに保存することもできるようなので、それを読みこませれば毎度毎度再学習させる必要もないとのこと。

今回は簡単なNNなので適当なハイパーパラメータでも十分に収束しているように見えるが、込み入ったNNやディ〜プなんちゃらをやる場合にはちゃんとお勉強する必要がありますな(― ―)

前述したようにパラメータを保存できるので、ハイパーパラメータをメタデータとしてArctic(Mongo DBのお手軽コネクタみたいなパッケージhttps://github.com/manahl/arctic)に保存しておけば後々のクロスバリデーションとかも簡単になるんじゃねーのと適当に妄想中。

参考

Keras Documentation
http://keras.io/

CS231n Convolutional Neural Networks for Visual Recognition
http://cs231n.github.io/

Jupyter notebookをWordPressに転載する

概要

・Jupyter notebookを手っ取り早くwordpressに転載する方法。

HTML

div#ipynb_test -> iframe#iframe_test
という構造を想定しています。Jupyterからnotebookをhtmlとして出力。それをwordpressと同一ドメイン上にアップロードしております。

JavaScript

というかJSをどうやって書くかを忘れてたので備忘録。notebookファイル自体には手を加えずにその外側で対応するようにしています。

最初はload関数を使って読み込もうと思ったのですが、レイアウトとCSSが大幅に崩れるようなのでiframeを使っています。
iframeのheightはnotebookのheightと同様になるようにsetIntervalで毎秒判定しています。
(もう少し良い方法があるような気がする)
また転載に伴い必要のないCSSの一部をオフにしています。

描画テスト

MongoDBをバックグラウンドで起動させておく

概要

  • DOS画面を立ち上げずにWindowsログイン時にMongoDBを起動させておく

方法

基本的にはwindows純正の「サービス」に追加することでバックグラウンドでアプリケーションを起動させておくことができる。
今回はMongoDBを起動させるバッチファイルを作成し、それをNSSM(下記URL参考)を用いてサービスに登録する。
サービスを登録する際のNSSMの設定は特にデフォルトのまま。
今回登録したバッチファイルは以下。絶対パスで指定しないと起動できない。

参考

NSSM – the Non-Sucking Service Manager
http://nssm.cc/usage

Pickleメモ

概要

  • Python標準モジュールのPickleを用いることで任意のPythonオブジェクトをPickle/Unpickle (保存/読み込み)することができる

サンプル

拡張子は.pがコンベンションの模様。

追記(4-Jul-2016)

どうやらpickledファイルを読み込むのはpandasですでにread_pickleで実装されていたっぽい。
またpickleする際はpickleモジュールではなくcPickleモジュールを使ったほうが効率が良い模様。したがってコードは

参考

What is Pickle in python ? | Python Tips
https://pythontips.com/2013/08/02/what-is-pickle-in-python/

11.1. pickle — Python object serialization — Python 2.7.11 documentation
https://docs.python.org/2.7/library/pickle.html

UsingPickle – Python Wiki
https://wiki.python.org/moin/UsingPickle