仮想通貨の自動売買システムの作り方
投資の自動売買システムを作る2STEP
仮想通貨に限らず、投資の自動売買システムを作るには大きく分けて2つのSTEPが必要です。
- 投資アイデアをバックテストにより検証して、期待値が正の投資戦略を見つけ出す。
- 投資戦略をシステム化する。
実際に私はこのフローを終えてシステム化まで漕ぎ着けることができましたが、この記事では「これから投資の自動売買システムを作りたい!」という方がより詳細にこの作業に関してイメージアップしていただけるように私の体験をお伝えできればと思います。
まず、私が実際にかけた時間をお伝えすると、「1.投資戦略の模索」に6ヶ月、「2.システム化」に2ヶ月かけました。前提として私の場合、大学は経済学部卒で、システムエンジニアとしての経験は6年あります。そしてこの期間、フルタイムで大企業で仕事をしながら平日仕事終わり+休日の時間を使ってこれらを実行しました。
「2.システム化」より「1.投資戦略の模索」の方が難易度ははるかに大きく、根気のいる作業になります。多くの人はここで挫折することになると思います。何故かというと2はやることが決まっており、たとえプログラミング未経験者であってもググりながら実現することは不可能ではない作業です(とはいえ、知識がないと時間がかかるのでそのような方向けに記事を出す予定です)。それに対して「1.投資戦略の模索」は正解の見えない中で暗中模索を続ける地道な作業です。
次は、「1.投資戦略の模索」と「2.システム化」に関してより詳細にお伝えします。
投資戦略の模索
Python(プログラミング言語の一種)の「Backtesting.py」というバックテストのライブラリを使用し、Jupyter Notebook上で何個も投資戦略を試しました。投資について書かれた本を片っ端から読み漁り、そこで得た知見・知識をベースに自分オリジナルの投資戦略を探索していきました。
投資は「勝者は全体の1割」という話があります。その中であなたが勝者となるためには
- 他の人が思い付かないことをやる
- 他の人が思いついても難しくてできないことをやる
のいずれかが必要だと思います。1を実現するためには
- 常識からできるだけ遠ざかること
- それが合理性を持つこと
の2点がポイントだと思います。そのためには「投資」というゲームのルールを学ぶ必要があり、第一原理(first-principle)から出発して、人間の直感に反する真実を見つけることが必要です。変に奇を衒おうとするのではなく、投資の原理を学びデータで実証していく中でそういった真理は自ずと浮かび上がってくるものです。
例えば、行動経済学で知られている「損失回避バイアス」という傾向を人々が持つことをご存知でしょうか?多くの人にとって損失は同じ量の利得よりも大きく感じられます。一般に損切りできる人は少ないです。これは損失を認めることができないからです。しかし優れた投資家ほど損切りが上手いです。私はデータをもとに検証していますが、これは多くの場合において真実でした。本やインターネットから得られる知識を鵜呑みにせず、実際にデータ分析した結果理解するという態度も非常に重要だと思います。私はデータ分析した結果に基づく知識以外は投資戦略として採用しないようにしています。
私は1の方面から攻めた人間です。2の方向性で行くのであればAIをうまく活用することなどが代表的な戦略になると思います。私のブログではAIの活用方法に関してお伝えすることはできません。
自分のベースとなる投資戦略を見つけたら、そこからバックテストで得られた結果をもとに細かいパラメータ調節を実施していきます。それぞれのパラメータはお互いにトレードオフの関係にあることが多いです。例えば「損切りライン」と「勝率」との間の関係です。損切りラインは「購入した銘柄が損失を発生させた時に損失を確定されるライン」ですが、損切りラインを3%に設定すると10%に設定するよりも勝率は下がります。基本的に株価はランダムに上下動しているので、損切りラインを厳しく(低く)設定すれば自ずとそのラインにかかって損切りが執行される可能性は高まります。これは勝率を下げることと同じです。投資で重要なのは勝率ではなく期待値を上げることなので、期待値が上がるように損切りラインを設定するのが良いと思います。ここにおいても実際にデータ分析を行った結果、自分が重視する指標を向上するようにパラメータ値を設定する必要があります。
システム化
ひとたび利益を上げる投資戦略を見つけたらすぐに運用を開始しましょう。自分でサーバ管理が不要なAWSのLambdaのようなクラウド上のサーバレスなサービスを利用することを推奨します。自分でサーバを購入するあるいは自分のPCを常時つけっぱなしにしてスケジューリングした関数を実行することもできますが、難易度・コスト面において有利なクラウド上でシステムを構築することをお勧めします。
このブログについて
このブログでは、「1.投資戦略の模索」と「2.システム化」についてお伝えしたいと思います。
1では私が考える「投資のルール」を中心に説明し、あなたが自分オリジナルの投資戦略を考える時の基盤を獲得するための「気づき」が提供できればなと思います。私の戦略のコアな部分に関してはお伝えすることはできません。あくまでご自身で自分なりの戦略を見つけてください。また、バックテストの具体的なやり方、検証すべき項目に関しても説明します。
2では具体的なシステム構築方法をコードベースで紹介しようと考えています。具現化したい投資戦略によってもシステム構成は変わると思いますし、この分野に関しては他の記事でも代用可能かと思いますが、私は2023年2月より運用を開始し、現在7ヶ月間の運用実績があります。その間にいくつもバグを潰し込んでいるのでその辺りの紹介もできたらなと思います。
投資は自己責任です。私がこのブログで提供する投資の考え方もシステム構成もあなたの責任において採用されるようにお願いします。わたしのブログを見た方が少しでも多くご自身の投資戦略に基づいて投資に成功されることをサポートできればと思っております。すぐに行動しましょう。
返信がありません