62
92

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pythonで投資アルゴリズムを開発してみる 1

Last updated at Posted at 2017-06-07

はじめに

Smart Tradeという、株式投資をPythonで行うための、プラットフォームの使い方をメモ。

Smart Tradeとは

top.png

Smart Tradeはエンジニアの皆さんに最先端の株式投資システムトレード環境を基本無料でご提供します。開発したアルゴリズムはご自身のトレードに、またはSmart Tradeのマーケットプレイスで販売できる予定です。

まだβ版で使える機能も限定されていますが、いまはすべて無料で公開されています。将来的には、App Storeみたいになるのかな?

2018/1/11追記:開発者向け正式版URL https://quantx.io/developer

なにができるの?

日本や中国の過去の株価データをPythonで分析することができます。売買しても良さそうなタイミングがあれば、Smart TradeのAPIを利用して注文することで、どのくらい利益が出たか、という事をシミュレートすることができます(これを「バックテスト」といいます)。

また、簡単なBIツール的な機能がありますので、単純に株価をチャートで表示したり、計算した各種テクニカル指標の値を確認できたり、実際の売買タイミングがどのようになっていたかをビジュアル的に確認することができます。

どうやって分析するの?

分析はPythonでプログラムを書きます。WebIDEが用意されていますので、ブラウザ上でプログラムを書いて実行することで、そのまま結果を確認することができます。

各種データは、Smart Tradeのプラットフォームで用意されていますので、使いたいデータを宣言するだけで、簡単に使えるようになります。実際のデータの操作はpandasが採用されているので、pandasを使える人であれば、比較的簡単に試すことができるのではないかと思います。

Hello System Trade!

まずは、Hello World的に、9984(ソフトバンク)の株価をチャートに表示してみます。
Python Coding画面で、下記のようなコードを書いて、実行してみます。

def initialize(ctx):
    # アルゴリズムの設定
    ctx.configure(
      target="jp.stock.daily",    # 日本株の日足を対象としたアルゴリズム
      channels={
        "jp.stock": {
          "symbols": [
            "jp.stock.9984",      # ソフトバンクのデータを利用する
          ],
          "columns": [
            "close_price",        # 終値
            "close_price_adj",    # 終値(株式分割調整後)
          ]
        }
      }
    )

def handle_signals(ctx, date, current):
    '''
    current: pd.DataFrame
    '''
    pass

実行すると、

summary.png

チャートがでてきました。凹凸がありませんが、これは売買を行っていないので、資産はなにも変動していない、ということです。銘柄の詳細を見てみると、

detail.png

きちんと出ていますね!

次回は移動平均を表示してみます。

参考情報

2018/1/11追記 正式版URL:

62
92
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
62
92

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?