見出し画像

【初心者が語る】仮想通貨の自動取引のススメ

1.はじめに
 筆者は年次数百万稼いでいるわけでもなければFXを長くやっているわけでもない、しがない学生ですので雑記として捉えていただけると嬉しいです。
 仮想通貨の取引は去年の急騰をきっかけに投機目的で始めた方が多いのではないかと思います。高ボラティリティの相場での一攫千金を夢見て始め、12月〜1月初めの現物でもFXのロングでも誰でも稼げた相場で調子に乗った後CC騒動や大暴落で地獄を見た人は少なくないのではないかと思います。私もその一人です。
 まず何ヶ月か裁量をやって思ったのは、この相場は為替相場と似ているように見えて全く異なることです。値動きがある以上為替同様のテクニカル分析は行えます。しかし、すでにいろんなところで指摘されているように仮想通貨には妥当な価格というものが存在せず、未成熟な相場で大口による仕掛けが簡単に実現できます。根本的に異なる相場として考えないと痛い目をみることになります。
 私が裁量でやっていたときは、レンジ相場での短期逆張りで1日に平均7000円ほど稼いでいました。しかし1月の大暴落時にその利益をすべてふっとばし、いわゆるコツコツドカンの典型例になって退場しました。それもすべて「一時は200万の価値があったものが130万より下がるはずがない」という間違った考えによるものでした。
 投資に慣れていない人間がこういった考えに陥ることは仕方ないことのように思えます。性格も関係しているはずです。私はそのとき一旦FXで稼ぐことを諦めました。しかし自動取引にはそれを克服できる可能性が秘められています。

2.自動取引の利点について
 自動取引には大きく二つ利点があると思っています。
 一つ目は、定量的なルールに厳格であること。臨機応変な取引ができないのはデメリットに思えます。しかし、臨機応変な取引で成功できるのは高い判断力や経験、そして運を兼ね備えたごく一部のトレーダーだけです。自分はそこには含まれないと考えるのが妥当ではないでしょうか。初心者トレーダーにとってルールに厳格な取引が行えるのはメリットでしかありません。また、バックテストを簡単に行え、かつその結果と実際の運用成績の乖離が小さいことも利点と言えるでしょう。(スキャルピングは試したことがないのでわかりません)
 二つ目は、チャートに張り付く必要がないこと。たとえば1日に1回しか現れないようなシグナルを1日中見張っているのは明らかに無駄であることはわかると思います。時間はとても重要な我々の資産です。FXプロトレーダーの人には申し訳ありませんが、チャートを眺めて取引をすることで究極的に得られるものはお金だけだと思っています。それ以外何も得られません。非常に割りに合わない行為です。その点、自動取引はたとえ利益を上げられなくても、そこだけは問題ありません。定期的なメンテナンスと戦略見直しにしか自分の時間を費やさずに済みます。特に学生の方はチャートと自分の資産に一喜一憂している暇があったらその分他の勉強をしたほうがはるかに良いです。将来につながります。
 以上二つです。こう考えると自動取引は時間を取られずに感情によって左右されない手堅い取引ができる最高の方法のように思えてきますね。

3.戦略について
 さて、それでは自動取引に手を出してみよう、となったとします。しかしここで大きな壁が立ちはだかります。どんな戦略でbotを動かすかです。実際自動取引のコードのうち最も価値があるのはこの部分です。戦略以外の部分は自分で勉強するのは容易いですが、戦略を考えつくには発想と経験や分析を要します。いろいろな考えがあると思いますが私の考えを書いていきます。
 はじめに書いた通り仮想通貨の市場は常に変化していきます。どてん君がバックテストと異なって今では全然利益があげられないのもこれが理由だと思われます。
 現時点で私が思う良い戦略とは、長期にわたって安定して利益が出ていて、できるだけシンプルなものです。利益のグラフが傾き正の直線になるのが理想です。去年の8月頃から安定しているのならば12月の暴騰にも1月の暴落にも最近の微妙な下げトレンドにも対応しているということです。しばらく同様に利益を上げられる可能性は高いです(あくまで私の考えです)。また、シンプルなロジックであればあるほど過学習の可能性が減ります。ゆえに私はこの2本の柱でロジックを評価し使用しています。
 それではどうすればそのようなものを探し出せるのか。これは単純にtry and errorの繰り返しです。自分が考えたロジックを様々な期間足のバックテストでひたすら検証するのです。そうしていくうちに何かしら得られるものがあると思います。機械学習や最適化を使っても良いと思いますが、過学習には十分に注意してください。
 ロジックはエントリー条件、決済条件、値幅が主なパラメータだと思いますが、私のオススメは値幅を利確も損切りもATRの実数倍で同じにすることです。そうすることで利確と損切りに対称性が生まれるので、損をし続ける戦略を見つけた場合、エントリー条件を売りと買いで逆にするだけで利益を出し続ける戦略にできます。損小利大が理想ですがはじめはこの設定で探してみてはいかがでしょうか。
 そうして発見した手法がたとえ意外なものだったとしても恐れをなしてはいけません。データは嘘をつきません。仮想通貨市場はときに為替市場では考えられないことも起こるのですから、それは仮想通貨市場においては有効な戦略なのだと信じましょう。

4.コードについて
 戦略を発見できた、ということはすでにバックテストコードを書けているということなので順番が逆な気もしますが、コーディングについて書いていきます。
 主に3つのパートに分かれると思います。「取引所のAPIを利用してやりとりする関数群」「エントリーに使うシグナルを計算する関数群(チャートデータからテクニカルインジケーターを計算する関数やいなごFlyerのスクレイピングなど)」「実際に取引を行うアルゴリズム部分(ループ文)」です。
 プログラミング初心者には1つ目が一番わからないかと思いますし、複雑な戦略にするなら2、3つ目が難しいかもしれません。しかしどれもネットに有益な情報が転がっていますのでやる気さえあればできます。なお、エラー対策の例外処理もお忘れなく。
 言語はデータサイエンスに強く簡単なpythonが人気だと思います。ccxtやpybitflyerなどの専用のライブラリもあります。動かす環境はAWSのcloud9が簡単で人気がありそうです。

5.最後に
 ここまで読んでいただいてありがとうございます。結局何が言いたいかというと「自動取引はいいぞ」ってことだけです。どんな戦略もトレーダーもいつまでも勝てるわけではありません。利益が出せるか不明瞭なのであれば、せめて時間を取られない自動取引という選択をするのはある意味保険になりますし、至極当然のことではないでしょうか。この文章を読んで何か素晴らしい戦略を見つけた方はこっそり教えていただけると嬉しいです(笑)
 最後に自分のnoteの宣伝をしておきます。コードが書いてあるのですぐ使えます。バックテストでは比較的安定していて、かつシンプルなものです。エントリーの条件は意外なもので偶然見つけただけなのですが、自分の理論でいくと高評価の戦略です。
 自分の考えが正しかったのかを確認するためにも是非とも利益を出して欲しい戦略です。安易にロジックを公開したくないため、多くの人は買わないであろう価格設定にしています。7月末頃に実際に運用してみた結果とともに値段を下方向に改定するつもりなので、早く使ってみたいという方以外はまだ購入しないでいいかもしれません(宣伝になってませんね笑)。

7/22追記:ちゃんと利益をあげられていました。嬉しいです。botの利益だけでやっていけそうなので本当は公開をやめようかと思いましたが、一度言ったことなので販売継続します。(高価格、数量制限はお許しください。)購入を考えている方はお早めにお願いします。

7/26追記:完売ありがとうございます。この先も利益が出るようでしたら定期的に少量を追加販売していこうと思います。

何はともあれ、ここまで読んでくださって本当に有難うございます!現在VIX戦略やはやりのmmbotなどの検証も進めているのでいつかは公開できたらなと思っています。またよろしくお願いします。


この記事が気に入ったらサポートをしてみませんか?