さて、システムトレード(最近は自動売買botと言われます)を作るための勉強をしましょう。
システムトレードを作る事を目的に進めてきていますが、具体的にどうすれば良いのでしょうか?
基本的には手作業で金融商品のトレードをする訳ですが、システムトレードではこれを文字通り自動化します。
ですから手で作業している事を全て把握しておかなければなりません。
たまにシステムトレード用のプログラムを中身も全く分からずに使おうとしている人がいますが、そんな方法で勝ち続けられるほど甘くはありません。
コンテンツ
トレードの基礎
本当に簡単なレベルのトレードの話から始めます。
金融商品には様々なものがありますが、多くの方が実践しているのは、
・株
・為替
・仮想通貨
のいずれかではないでしょうか。
例えば為替相場の場合は、外貨を購入(実際はポジションを持っている状態)する事ができます。
これからドルの価値が上がると思ったら円建てでドルを買っておきます。※自分の円を使ってドルを買うという事です
1週間後に本当にドルの価値が上がった場合は利益が発生します。逆に、予想が外れてドルの価値が下がった場合は損益となってしまいます。
トレードの目的は利益を出すことですから、これから価値が上がりそうな通貨を買えば良い。単純に言えばやる事はこれだけです。
※ドルが下がる場合は、ドル売りのポジションを取ることで利益を出せます。
トレードの世界には金融に詳しくなくとも、かなりの利益を出す人もいます。基本的には予想が当たれば利益を出すことができる。ある意味シンプルな仕組みです。
特にレバレッジの仕組みを使うと、人によってはもの凄いスピードで資産を増やします。当然リスクも高くなりますが。
まずは仮想通貨で
ちなみにこのサイトではまずは仮想通貨をメインに取り上げたいと思います。
理由は仮想通貨の売買を容易に行うためのapiや、バックテストをするためのデータが入手しやすい状況にあるためです。
逆に株や為替に必要なデータは取得しにくいものが多いですね。。。
システムトレードの基礎
システムトレードの手法は大きく2つあります。
その点についてもご紹介しておきます。
裁量トレード
現在の市場の状態を分析して、買い/売りを行うタイミングであれば、そのシグナルを出します。
シグナルの出し方は様々ですが、例えばメールで自分宛に「今は買いのタイミングですよ。」と知らせる方法などが一般的です。
後は買うかどうかを自分で判断して、市場や取引所で売買を行うという手法です。
現在の市場のデータはシステムに任せて、実際の売買の判断は自分で行う、半自動手法と言っても良いと思います。
自動売買
こちらも裁量トレードと同じ様にシステムが売買のタイミングを判断します。
そして、人間の判断を介さずに、実際に売買まで行うという手法です。
売買に人間の感情を挟まないために、感情的な失敗を防ぐ効果があります。さらに、完全自動ともなれば、手動売買の時間を0にする事ができます。
感情的なトレードのブレ(損切りをずらすなど)や、時間の効率化を目指す事ができます。当然ですが、売買するシステムの完全性は裁量トレードよりも高いものが求められます。
この手法なら資産を増やせる!と自信があるのであれば、挑戦する価値がある手法とも言えます。
市場の分析手法
市場の分析手法についても最低限の知識を押さえておきましょう。
ここでは分析手法の基本とも言われるファンダメンタル分析とテクニカル分析を取り上げます。
ファンダメンタル分析
雇用統計、物価など経済の基本的な要素を基にした分析手法です。現在の景気や、社会情勢、株であれば決算情報などを元にして分析をする事が多いと思います。
非常に理にかなった方法なのですが、基本的な考え方に見えて、実は素人には難しいという側面もあります。実際の景気の流れを的確に読み取れる人は限られています。まして、グローバルな視点となれば、その数はさらに減ります。
かなり多くの情報を適切に処理しなければならないため、場合によっては経済の専門的な知識と、そこから答えを導き出す想像力が求められるとも言われています。
ファンダメンタル分析は、絶対に、ではありませんが、システムトレード化するのは難しいとも言われてきました。しかし、人口知能、ディープラーニング、ビッグデータの台頭により、その考え方も見直されつつあります。これまで人間にしか判断ができなかった事がコンピュータでも(自動で)行う事ができると言われる様になったのです。
システムトレードは基本的に、この後でご紹介するテクニカル分析によるシグナルや売買手法をシステム化しています。新しいシステムトレードの取り組み方として、ファンダメンタル分析による指標を数値化してシステムとして取り込む事ができれば非常に面白いと思います。
テクニカル分析
簡単に言えば、価格データをグラフ化したチャートを元にして分析を行う手法になります。「指標を数値化しやすい」ため、現時点ではコンピューターが非常に得意とする手法になります。市場の流れをどれだけ数値に置き換えて考える事ができるか?というのは大事なポイントです。
テクニカル分析の中では、移動平均線や、RSI、ボリンジャーバンドと言われるような指標を下にして分析を行います。一見、数学的で難しい指標が多いのですが、チャートとしてグラフ化すると意外と分かりやすく、一度覚えればわりと使いこなす事ができます。
世界中のトレーダーがこれまでに様々な分析手法を確立し、それを真似る事で利益を叩きだす方も大勢いました。そういう意味では再現性が高く、真似をしやすいので、有効なテクニカル分析がないかを日々探し求めるトレーダーも多いです。
テクニカル分析の結果かどうかは別として、自分自身のトレード手法が確立されていて、数値化できるのであれば、システム化する価値は十分にあります。
自分のトレード手法の確立と改善
さて、本当にシンプルなレベルですが、トレードの基礎について考えてみました。
もしも、これからシステムトレードを行う上では、システムトレードの開発を行いながら(もしくは委託)、自分自身の手法も確立しなければなりません。
自動売買を行うbotが完成したとしても、利益を出せないbotであれば何の意味もありません。※練習にはなります。
ですから、トレード手法を確立させるために、チャートは1時間足を参考にして、移動平均線とボリンジャーバンドを使用して、、、と言った様に自分だけの売買シグナルを確立したら、それをシステム化するという流れになります。
手法というのは簡単に確立できるものではありません。そして、一度確立したとしても市場に合わせて変化させなければなりません。
システムトレードなのか、手動による裁量トレードなのかに寄らず、トレード手法というのは日々考え続けなければならないのです。
一夜で完成するものではないので、様々なトレードを試しながら気長に構えるくらいの方が良いです。
ずっと継続していれば、よりよい手法を確立できますし、同時にシステム化する事ができれば、コンピュータが代わりにトレードをしてくれます。
AI化などと言われている時代ですが、作業を個人で自動化できる仕事は実はまだ多くはありません。※大規模な工場などはどんどん機械化が進んでいますが
考えたトレード手法が市場に対して有効なのであれば、自分の代わりにシステムが市場から利益を積み上げてくれるというのは、まさに夢の様な話なのです。
ですから、利益を出せる有効な手法を作りづづけなければなりません。