こんにちは、エンジェルプログラマーのびずぷらです!
この記事はSmart Trade社のサービス QuantX[クオンテックス]
を使って投資プログラムを学ぶ講座です。
以下の3つの視点で学ぶことができる、よくばりな内容になっています。
- 今一番イケてる人工知能のプログラム言語Pythonを学べる
- 株式投資のノウハウ、テクニカル指標を学べる
- Smart Trade、QuantXを学べる
今回は最初の目標として「移動平均線を表示する」にチャレンジします。
エメラダ・エクイティを通じてエンジェル投資をしたSmart Trade社のサービスQuantXの紹介も兼ねています!

目次
評判のQuantXとはどんなサービスか?
QuantXでは、どの銘柄が上がるのか・下がるのかを予測する投資判断プログラム(アルゴリズムと呼びます)を販売しています。
同時にプログラムの開発環境も提供しており、開発者がアルゴリズムを作成して販売することも可能です。
最近はロボ投資、AIを使った投資判断プログラムといったものがはやっています。
ただし買うだけでなく、自分が作ったものを販売することができるのがSmart Tradeの特徴です。
株式投資界のApple Storeをイメージしてもらえればよいと思います。
開発がしやすければ開発者が集まります。結果として、よりよい投資判断プログラムが提供できるという思想です。
この講座はQuantXを使って、投資判断の自動化をするプログラム開発方法を学びます。同時にシステムトレードについて勉強するという趣旨になります。
人間の判断を排除し、コンピューターで作った売買ルールを使って投資を行うこと
Pythonは人工知能(AI)の開発言語としても有名です。プログラミング言語として勉強しておいて損はないと思います。
びずぷらはPythonは初体験ですので、初心者から学べる講座にしようと考えています。
また、たとえプログラム書けなかったとしても、テクニカル指標を学ぶだけでも価値があるはずです。
今この記事を書いている時点で、システムトレードとして価値あるアルゴリズムを開発できる自信がまったくない状態です。
企画倒れ感が満載ですが、突き進んで見ましょう!

QuantXでHello World!を実行しよう(12分)
プログラミング言語の学習では、いちばん最初のプログラムとして「Hello World!」を出力するのが慣習です。
しかしシステムトレードの講座です。もう少し気の利いたものを出力しましょう。
イオン株式会社(8267)の「2017.1.1〜2017.4.22」までの株価の推移と5日・25日・75日移動平均線を表示する
何やらいきなりハードな感じですが、これぐらいは一気に行きます。
1. QuantXでユーザー登録(10分)
確か10分ぐらいで終わったと思います。審査もありませんので、速攻でできます。
Smart Tradeは証券会社ではありません。
あくまで、これを買え・これを売れという指示をもらうだけで、実際の投資は各自の証券会社で行います。
2. 開発環境でプロジェクトを作成する(10秒)
次にプログラムを実行するための開発環境に入り、最初のプロジェクトを作りましょう!
すべてクラウド上でできますので、3回のクリックで到達します。
最初に「QuantX Factory」をクリック

次に「プロジェクト管理」→「プロジェクト新規作成」です。

めちゃくちゃ簡単ですね。
3 プログラムをコピーして、とりあえず動かす(1分)
まだPythonって何かわからない人もいるかもしれませんが、とりあえず動かします。

以下の手順で実行します。
- ソースをコピペ
- バックテストオプションクリック
- Fromの日付変更
- テスト実行
コピペするソースはこちらに提供します。
バックテストとは、売買ルールが過去の相場で通用したかどうか過去データを使って調べることです。
今回はバックテストを行うわけではありませんが、バックテストを簡単に実施できることがSmart Tradeの素晴らしいところです!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | ############################################################################ # 移動平均の表示サンプル def initialize(ctx): # 設定 ctx.logger.debug("initialize() called") ctx.configure( channels={ # 利用チャンネル "jp.stock": { "symbols": [ "jp.stock.1321", #日経平均連動 "jp.stock.8267", #イオン "jp.stock.7203", #トヨタ ], "columns": [ "close_price", # 終値 "close_price_adj", # 終値(株式分割調整後) ] } } ) def _my_signal(data): m05 = data["close_price_adj"].fillna(method='ffill').rolling(window=5, center=False).mean() m25 = data["close_price_adj"].fillna(method='ffill').rolling(window=25, center=False).mean() m75 = data["close_price_adj"].fillna(method='ffill').rolling(window=75, center=False).mean() return { "移動平均05:price": m05, "移動平均25:price": m25, "移動平均75:price": m75, } # シグナル登録 ctx.regist_signal("my_signal", _my_signal) def handle_signals(ctx, date, current): '' |
はい完了!
エラーがなければ「バックテスト結果サマリ」「個別銘柄詳細」のタブが表示されたはずです。
「個別銘柄詳細」をクリックし「イオン」を選択しましょう。
Price欄の「close price」をクリックすれば終値もグラフに表示されます。

以上で本日は終了。
まとめ
プログラムは習うより慣れろです。
まずは実行までたどり着いたので今回は終了です。おめでとうございます!
実はこんなに簡単に実行できること、これすごいことですよ。普通は実行までに以下のながーい手順があるのです。
- 環境構築:ソフトのインストール(数時間)
- テストデータの準備(数時間)
- プログラム作成(数時間)
- 実行までの、その他諸々(数時間)
慣れた人でも1日中取り組んでなんとかできるかな、ぐらいの作業量でしょう。とくにデータ準備は大変で、別の銘柄にしようとか色々考えるとかなりの労力となります。
実はSmart Tradeってすごいんです!
番外編:Pythonの基礎を学ぶ(4時間)
今後システムトレードを学ぶにあたり、さすがにPythonの文法ぐらいは知らないと厳しい気がします。最低限のPythonの知識を身につけることが必要です。
本を買って勉強してもよいですが、オススメのサイトがあるのでご紹介します。
Aidemy 「プログラミング初心者でも大丈夫『Python入門』コース」このコースは無料です!
開発するための準備は何も必要ありません。ブラウザですぐに勉強を始められるので、とっても楽チンです。すごい時代になりましたね。
Aidemyは有料コースも充実しています。本気で人工知能エンジニアを目指すなら、以下のバナーも参考にしてみてください。

それでは!
