株で自動売買したいけど、自作ってどうやるの?
自動売買は儲かるのか教えて!
この記事では、このような疑問にお答えします。
・自動売買対応の証券会社を紹介
・自作支援ツールを紹介
・売買シグナルの作り方
・自動売買で儲ける方法
・補足・・・自作しないで自動売買する方法
自動売買の自作は、なんだか物凄く難しそうに思われるかもしれません。
しかし、最低限のプログラミングスキルがあれば、自作支援ツールを使うことで、割と簡単に自作が可能です。
「自分には自作なんて無理・・・」なんてあきらめる必要はないのです。
当記事ではプログラミング初心者、未経験者でもご理解いただけるよう、丁寧に解説します。
はじめまして、マンモスです。
投資歴15年、システムトレードを自作していた経験があります。
その経験を活かし、株の自動売買を自作する方法について解説します。
株の自動売買を自作する方法
株の自動売買を自作するには、プログラミングスキルと自動売買対応の証券口座が必要です。
また、自作支援ツールを使うことで、効率的に自動売買ツールを作ることができます。
当サイトでは、上記のように自動売買の自作をするにあたり、自作支援ツールの利用をおすすめします。
自動売買ツールは、自作支援ツールを使わず全てをプログラミングして自作することも可能ですが、それでも自作支援ツールを推奨する理由は下記です。
・APIを使用した、リアルタイム情報の取得。
・完全な自作ツールを使用して証券会社にアクセスする場合、利用規約に反する恐れがある。
・発注、口座情報照会などの機能が用意されており、その部分はプログラミング不要。
つまり、アプリ上でボタンをぽちぽちしなくても、プログラムだけで処理が可能になります。
これで様々な処理を自動化でき、自作ツールとアプリの機能を連携させることができます。
もちろん、自動売買も可能!
※APIを使った取引のイメージ図
出典:auカブコム証券
以上のように、証券会社との信頼性があるデータのやり取りと開発効率化のために、証券会社が提供する自作支援ツールの使用を推奨します。
それでは、自作に必要な各項目について詳しく解説していきます。
※システムトレードについて基礎から学びたい人向けに、おすすめの本を紹介しています。
自動売買の自作に必須の環境を準備する
株の自動売買を自作するために必須の環境は、下記の3点です。
②プログラム上から発注できる機能があること。
③リアルタイム情報の取得ができること。
まずはじめに、株の自動売買をするにあたり、証券会社の口座情報を取得できることは必須です。
口座内にいくらお金があるか分からないと、株買えないもんね・・・
次に、リアルタイムでプログラム上から発注できる機能も必須です。
これがないと、自動売買できないです。
最後にリアルタイム情報の取得ができることです。
ただし、リアルタイム情報の取得は売買戦略によっては不要です。
というのも、デイトレードではリアルタイム情報の取得は必須でも、「終値で売買シグナルがでたことを確認して、翌日の寄り付きで成り行き注文する」といった場合、リアルタイム情報は必ずしも必要ではありません。
上記で解説した3点ですが、自作支援ツールに全ての機能が含まれるため、自動売買環境を構築することは簡単です。
自動売買に対応する証券会社の口座開設をする
株の自動売買を自作支援ツールによって実現する場合、証券会社は以下の2択になります。
②岡三オンライン証券
ほんとはもっと紹介できればよいのですが、株の自動売買はFXに比べて、ほぼ選択肢がありません。
FXの場合、数多くの選択肢がありますが、株はまだまだシステムトレード環境が整っていないのが実情です。
自作支援ツールを利用する
株の自動売買に使用できる自作支援ツールは以下の2つです。
②岡三RSS → 岡三オンライン証券提供
kabuステーションAPIの特徴
・プログラミング言語はなんでもOK
・料金が格安→月980円、無料条件あり
※詳しくは下記記事で解説しています。
岡三RSSの特徴
・Excelで専用の関数、アドインツールが使用可能
・VBAで自動売買マクロも組める
・料金は5093円/35日、無料条件あり
※詳しくは下記記事で解説しています。
すでにプログラミング言語が使える人は、kabuステーションAPIの利用をおすすめします。
こちらはAPI接続を利用して自動売買することになります。
プログラミング未経験者は岡三RSSがおすすめです。
こちらはExcelの機能拡張ツールです。
関数やVBAを駆使して、Excelベースの自動売買ツールを自作できます。
売買シグナルを作成する
株の自動売買をするにあたり、どのタイミングで買って、どのタイミングで売るかという売買シグナル(売買ルール)を作る必要があります。
自動売買は、この売買シグナルが発生したタイミングで、口座情報の照会と発注処理を組み合わせることになります。
口座情報照会、発注処理にかんしては、上述した自作支援ツールの機能(関数)を使うため、これらの処理をゼロから作る必要はありません。
それでは、実際の売買シグナル作成の例を紹介します。
※Excelで解説します。(プログラミングの場合でも、記述方法が違うだけでやることは一緒です。)
まずはどのような売買ルールかを決める
今回は、以下のようなブレイクアウトを利用した対照型の売買ルールでシグナルを出します。
※対照型の売買ルールとは、買いと売りのルールが逆のことです。
非対称型の売買ルールは、買い売りで全く別の売買ルールになります。
時系列データを準備する
株価の時系列データは自作支援ツールで簡単に取得することができます。
それ以外にも様々な方法で取得が可能です。
※基本的にはツールの機能で取得して問題ありませんが、必要なデータがツールの機能で取得できない場合、別の方法が必要になります。
売買シグナルを出す
売買シグナルを出すにあたり、時系列データで必要な値を算出します。
今回の売買ルールは、
となっています。
シグナルを出すために必要な始値、高値、安値、終値の4本値は、自作支援ツールで簡単に取得できます。
しかし、今回の売買シグナルに必要な過去20日間の高値/安値は自分で算出する必要があります。
Excel関数を使えば以下のようになります。
高値の算出
安値の算出
今回は20日間の高値/安値のため、範囲には終値(E列)の20セル分を入力します。
それをそれぞれF列、G列に算出させます。
次に、買いのシグナルをだす条件式を組み立てます。
条件式はIF関数を使います。
買いシグナルは、「当日終値(E列) > 20日間高値(F列)」となり、シグナルが発生した場合は「買い」の文字がH列に入力されます。
※ 例 =IF(E156 > F156,”買い”,””)
条件を満たせば「買い」の文字が入り、満たさない場合は空欄のままにしている。
また、売りの場合、この逆のことをします。
ものすごく簡単な例ですが、以上が売買シグナルをだすメカニズムです。
実際に自動売買する場合、このシグナルに資金管理条件や発注処理を組み合わせます。
つまり、売買シグナル自体は上記のような簡単なExcel関数で出し、口座情報や発注処理は自作支援ツールの関数やAPIを利用します。
今回はExcelで説明しましたが、プログラミングでも基本的にやることは一緒です。
全部プログラミングでもOKです。
ただし、プログラミング未経験者ならExcelが簡単です。
また、リアルタイム情報で売買シグナルを出したいのであれば、リアルタイムの株価を取得し、それに対して売買条件が発生していないかの式を組めばいいだけです。
リアルタイム情報の取得は、自作支援ツールの機能で簡単にできます。
この機能を使えば、デイトレード用の自動売買ツールが作れたりもします。
株の自動売買を自作して儲ける方法
株の自動売買だけ自作しても、儲けることは難しいです。
自動売買で儲けるには、必ずバックテストする必要があります。
”自動売買だけ”では儲けられない理由
・「自動売買」はあくまで「注文処理の自動化」であり、それ自体が利益を生むかは不明。
※システムトレードで儲けられない理由の1つは、バックテストしないで自動売買することです。
以下の記事で詳しく解説しています。
儲かるかは自動売買を始める前に決まる
自動売買とは、あくまで「注文処理の自動化」にすぎません。
注文が自動化されているかどうかは、直接の利益とあまり関係ありません。
注文処理を自動化しておけば、ヒューマンエラーを減らす、メンタル起因の失敗を防ぎやすい、というメリットはあります。
しかし、利益を生むために重要なのははあくまでも、”売買戦略”です。
売買戦略が優秀かどうかは、バックテストすることで判断できます。
ちなみに、バックテストは前述した売買シグナルを過去のデータに適用し、損益などを計算させているだけです。
売買シグナルさえ作ることができれば、自動売買だけでなく、バックテストもできます。
バックテストが一番重要
バックテストで売買ルールをしっかしり分析し、儲かると確信できる売買ルールで自動売買をしましょう。
このように「バックテスト」と「機械的な注文処理」を組み合わせたのがシステムトレードと呼ばれる投資手法です。
「機械的な注文処理」とは、必ずしもプログラムで自動化する必要はありません。
鋼の意思で売買ルールに従って、通常注文でも問題ないです。
補足① 自作しないで自動売買する方法
自作が難しいという場合、自作支援ツールでなく、「自動売買ツール」の使用をおすすめします。
こちらの場合、プログラミングの必要はなく、アプリ上で売買ルールの開発と自動売買ができます。
詳しくは関連記事にて解説しています。
※自動売買のみしたい場合は、以下の記事を参照
※バックテスト、自動売買をアプリでしたい人は以下の記事を参照
補足② バックテストする方法
バックテストは自作するか、アプリを使うことでできます。
詳しくは関連記事にて解説しています。
※バックテストの自作方法。VBAを基礎から覚えられる解説記事です。
※バックテストに特化したツール「イザナミ」について
※バックテスト、自動売買、両方できる「iTRADE」について
まとめ
株の自動売買を自作するポイントは、以下の点です。
②売買シグナルの作り方を覚える
③儲けるためには、バックテストもする
プログラミングの基礎さえできれば、意外にも簡単に自動売買ができます。
この機会にぜひ自動売買してみてはいかがでしょうか?