ヾ(´・ω・`)ノ゙

2015年12月10日

バックテストを試してみました


バックテストを試してみたといっても
ipython notebookでなんかするのが面白いのでやってみた感じです(´・ω・`)

今回のipynbのファイルはこちらです
( ´・ω・`)つ http://ux.getuploader.com/hage_fx/download/28/backtest_fx.zip

あまり長くならないようにしたかったので
エラーチェックとかも書いてなく、ポジションの部分も簡単なもので
大まかな感じで書いてあるので
よろしくお願いします(´・ω・`)

pythonは2.7.10で使ったモジュールは
numpy
pandas
matplotlib
talib
です

画像での説明になりますがよろしくお願いします(´・ω・`)
画像はいくつかのコードの部分は省いてあります
ipynb環境があるなら上のファイルを見てもらったほうが早いと思います

まずはデータを用意します
MT4のヒストリデータを読み込んでpandasのDataFrameにします
2015_12_10_1495.png

てきとうに簡単な売買手法を記述しました
2015_12_10_1496.png
2015_12_10_1497.png

2015_12_10_1498.png
2007から2015の最近までの15分足で
5通貨ペア * 3種類の手法で
9秒ちょっとでした
MT4での始値のテストのような感じですので
最適化とかするわけじゃないならそんなに時間はかからないですね(´・ω・`)

2015_12_10_1499.png
2015_12_10_1500.png


2015_12_10_1501.png
なんか利益になってるようなのもありますが
スプレッドが含まれていないので注意してください


2015_12_10_1502.png

2015_12_10_1503.png

DataFrameを合体させます(´・ω・`)
2015_12_10_1504.png

2015_12_10_1505.png
5通貨ペア * 4種類のテストで
13秒くらいになりました

for文を使わないようにしたり、cythonというのを使ったりとか
pythonを高速化するやりかたもあるらしいので
もっと自由にpythonを扱えるくらいレベルアップしたら挑戦してみたいです(´・ω・`)


pandasを使うにあたって
「Pythonによるデータ分析入門」
という本と
「StatsFragments Python, R, 統計のこととか書く」
というブログに大変お世話になりました
ありがとうございました(´・ω・`)
umr3.jpg


こちらも楽しいです
https://www.youtube.com/user/sentdex
(僕は英語はあまりわかりませんが楽しそうに解説していて面白いので
ipython notebookにまねして入力しながら見たりしています(^ω^))



ラベル:バックテスト
posted by hage at 03:24| python | このブログの読者になる | 更新情報をチェックする