読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

案はあるけど実装できていない機能一覧

先週公開したオープン・フリーのFx自動取り引きシステム「jiji」ですが、時間の都合もあって、ネタとしては考えたけど実装できなかった機能などがいろいろあるわけです。

デモトレード以外の証券会社のサポート

クリック証券Webサービスの公開停止もあって、現状ではクリック証券デモトレードでしか使えません。これはかなり痛い、というかプログラム自体の存在意義がないぐらいの勢いなので何とかしたい。具体的には、

が必要。スクレイピングでモバトレ君にアクセスするクライアントライブラリはすこしづつですができつつあるので、それを利用して実現したい。

グラフィカルエージェントエディタ

「jiji」では、取り引きルール(エージェント)はrubyで書くようにしていますが、Yahoo PipesみたいなUIで、シグナルと条件分岐のロジックをフローチャート図を描くように設計できるエディタがあれば、rubyの知識がない方も利用しやすいのでは、と思うわけです。

  • 移動平均線の算出など、汎用化可能なシグナル計算の部分はRubyで定義する形にして、(かつ、なるべく組み込みで用意するようにして)
  • 移動平均の結果を判断して発注を行うロジック部分はフローチャート図で描く。

個人的には、ロジック部分はrubyで書いても「if」や「case」が複雑にネストするだけのコードになりがちで、見通しがあまりよくないと感じる。フローチャート的に記述できればRubyを使える方にもそれなりに有用なのではと思うんだけどどうかな。

バックテスト実行の高速化

現状、1日分のバックテストを行うと、(ローカルの環境では)5分程度かかってしまう。1ヶ月分のバックテストだと2時間半かかる計算になり、かなりしんどい。ネタとしては、10秒ごとのレートデータをすべて渡すのではなく、10分とか1時間の4本値に圧縮したデータを使う簡易実行モードを用意するのがよいかなと思っています。

過去のレートデータダウンロード

バックテストで使うレート情報のダウンロード機能。あって然るべき。

エージェントのデバッグ

バックテスト実行中に、ブレークポイントで一時停止して変数の確認とか、ステップ実行とか。


以上。とりあえずは、バグフィックスデモトレード以外の証券会社のサポートを優先かな。