仮想通貨の自動売買ツールを自作する 4週間運用の結果

 仮想通貨(ビットコイン)の自動売買ツールを自作し、運用してみたのでその進捗・結果を紹介していきたいと思います。(オートトレーディングってやつですね)

 結論から言うと、約4週間動かしましたが、儲かりませんでした

追記 こちらで新たに、現在動かしている自動売買ツールの運用報告を随時更新しています。

 この記事では自動売買ツールを運用するまでの7ステップをまとめてあります。

目次

自作した自動売買ツールについて

 自動売買ツールは前述したとおり、自分で作成したものを使用しました。仕様は以下の通りです。

  • 機器:ラズベリーパイ4 8GBモデル
  • OS:Raspberry Pi OS
  • 開発言語:Python
  • 売買手法:ゴールデンクロス・デットクロス
  • 損切 : 購入金額よりも15%下落した場合

 それぞれの項目を解説していきます。

自動売買ツールに使用した機器

 基本的に24時間動かしっぱなしにするため、通常のPCを連続使用すると電気代が怖いので、小型PCである「ラズベリーパイ」を使用しました。

 ラズベリーパイの消費電力は最大で15W程度ですので、あまり電気代を気にすることは無いでしょう。

 発熱対策は負荷の高い処理を行わせるわけでもないので、音の出ないファンレスのケースを使用しています。今のところは、ほのかに温かい程度なので放熱は全く問題なさそうです。

 OSはラズベリーパイ公式のRaspberry Pi OSを使用していますので、動作も安定しています。

 ラズベリーパイについてもっと気になる方は、こちらの記事でOSインストールを行っています。

自動売買ツールの開発言語はPython

 今回は勉強もかねて最近はAI開発などで流行りの「Python」を使用してみました。ラズベリーパイを使っての開発だと、Pythonを使用している資料が多いというのも選択した理由です。

 私はPythonを使用するのが初めてでしたが、慣れればそんなに苦にはならず、むしろ書きやすいと思うところも出てきました。

 数学的なパッケージが豊富という事でAI開発などにも使用されていますが、今回は難しい数学的なものは使用していません(使いこなせない…)

 ちなみに私はドットインストールでPythonを勉強しました。

自動売買の取引手法はクロス狙い

 自動売買ツールを作る上で重要になるのが、どんなルール・手法で取引を行うのかです。機械に行わせる場合は「いい感じでお願い」は通じないので、明確にルールを設定する必要があります。

 今回、使用したのは「ゴールデンクロス・デットクロス」での取引です。株などの取引手法としては最も有名で一般的なものです。

ゴールデンクロス・デットクロス手法とは?

 どんな手法か簡単に説明します。

 刻々と値段が変わっていく相場を1時間ごとなどに区切り、設定したある期間の平均を取った線を引きます。これを移動平均線といいます。

 平均する期間を長くすればするほど、多くの点をとった平均線となるのでグラフの動きは鈍くなり、逆に期間を短くするとグラフの動きは直近の値動きに敏感な動きをします。

 この平均する期間が異なる2本の平均線が、交差する部分をクロスと呼びます。

 期間を短く取った移動平均線が、期間を長く取った線を下から上へ抜かしたクロスをゴールデンクロスと呼び、これから上がるだろうと予測され、逆に短期の移動平均線が、長期の移動平均線の下に向かっていくクロスをデットクロスと呼び、これから価格は下がっていくだろうと予測します。

移動平均線のゴールデンクロスを現したグラフ
移動平均線のデットクロスを現したグラフ

 短期移動平均線、長期移動平均線の動きによって売買タイミングを決定するため、期間をそれぞれどのくらいに設定するのかが非常に重要となります。

単純な平均を線にした「単純移動平均線」以外にも、「加重移動平均線」「指数移動平均線」と呼ばれるものもあります。

自作した自動売買ツールでは「指数移動平均線」を使用しました。

 こちらで各種移動平均線について、計算方法から実装方法まで紹介しています。

 こちらでは「アービトラージ」というトレード手法も紹介しています。

自動売買を行う取引所は「bitbank」を使用

 自動売買をさせる取引所は「ビットバンク」を使用します。

 以前まで手動の取引をビットバンクで行っており、口座もありましたのでその流れで使いました。

 APIの資料や参考にできるサイトは「ビットフライヤー」の方が多い印象ですが、ビットバンクも公式にAPIの資料が出ていますし、ビットバンクのAPIを使って自動売買ツールを作っている方のブログなどもあるので、それらを参考に作ることができました。

・ビットバンクAPIの公式資料:https://github.com/bitbankinc/bitbank-api-docs/blob/master/README_JP.md

APIについてはこちらで更に紹介しています。

ビットバンクの口座開設はこちらから→bitbank(ビットバンク)

自動売買ツールの基本的な動き

 自動売買ツールが行う動きを簡単に説明します。

STEP
現在資産の確認

 資産額以上の売買はできませんので、現在持っている資産額を取得します。

STEP
取引所データを取得して移動平均線を作成する

 仮想通貨取引所からデータを取得し、移動平均線を作成する。

STEP
現在の取引所データを定期的に取得して平均線を引いていく

 今回であれば、1分ごとに取引所データを取得して、移動平均線を引いていきます。

STEP
ゴールデンクロスが出たら買い、デットクロスが出たら売り。

 1分ごとに取得した取引データで移動平均線を引いていき、ゴールデンクロスが発生したら購入、デットクロスが発生したら売却を行います。

STEP
3に戻って繰り返す。

 STEP3に戻って、データを取得し移動平均線を引き、STEP4でクロスを確認するということを繰り返します。

 こんな動きです、特に大きな特徴はありませんね。損切りも設定しており、買った金額よりも15%を下回ったら損切を行います。(15%は適当に決めました)

 売るタイミングはゴールデンクロスがあったとしても、ビットバンクの取引手数料分(0.12%)は買った金額よりも高くないと売らないようにしています。手数料で損したら嫌ですからね。

 1分毎に取得するというのはローソク足のことで、この時は期間が短い方が直近の値動きに対応しやすいと思い1分に決めたのですが、後日調べてみると違う期間設定の方が利益を出せそうでした。

自動売買をさせた結果

 実際に2021/11/10から自作自動売買ツールを動かした結果です。元手は1万円だけ入れました。

自動売買ツール 約1週間経過(2021.11.18)

こちらが1週間の取引所値動きと売買のタイミングです。

自動売買ツールの取引実績を説明する為のビットコインのチャート

 明らかに買ってはいけないところで買ってます…

 1週間動かして、プログラムが売買したのは買いの1回で、損切りポイントまで下がらず、売りポイントまでも上がらずのところで価格が推移してしまった為、買っただけで何もしていません。

 ビットコイン自体の価格が下がっているので、資産価値としてはマイナスです。

 価格が跳ね上がるか、ガクンと下がれば売買が行われると思うので、期待してもう少し様子を見てみます。

自動売買ツール 約2週間経過(2021.11.24)

 取引所の値動きと売買タイミングです。

自動売買ツールの取引実績を説明する為のビットコインのチャート

 大幅に価格が下がったので損切が発動するかと思いきや、全く発動しないのでプログラムを確認したら損切の処理がコメントアウト(無効化)されていました…。そのため、遅れての手動損切で本来の損切以上に大きく損失を出してしまいました。

 それとは別で、Wifiの調子が悪かったのか通信エラーでの停止もあり、なかなかうまく連続動作させることができませんでしたが、ちょこちょこ売買を行い数十円~数百円程度は稼いでくれました。

 エラーでの停止が無ければ、もう少し稼いでいたかもしれません。

自動売買ツール 約3週間経過(2021.12.01)

自動売買ツールの取引実績を説明する為のビットコインのチャート

 前週の持ち越し分をビットチャートの頂上辺りで売れたので良い動きでしたが、その直後に買ってしまい、それから金額が上がることは無く、損切のポイントまでも下落しなかった為、ほぼ一週間は塩漬けビットコインになってしまいました。

 売るタイミングは良いのですが、買うタイミングがあまり良くないので、買う条件を厳しくした方が良いのかもしれません。

 あと、クロスのみでの取引だと、短期間での急激な値動きがあると対応できなそうです。

自動売買ツール 約4週間経過(2021.12.07)

自動売買ツールの取引実績を説明する為のビットコインのチャート

 この期間は前週持ち越し分の損切が発動し大きな損失をまた生んでしまいました。(今回は自動で発動)

 ですが、損切してからは谷で買って、山で売る動きが上手くできているように見えます。

 綺麗に上下を繰り返す相場の動きだと、クロスでの取引は相性が良さそうです。

自動売買ツール 約4週間動かしてみて

 約4週間での結果は、初期投資で10,000円を投入し最終資産額は7,900円で、マイナス2100円となってしまいました。

 今回はこれで一旦プログラムを止めて、プログラムを見直していきたいと思います。

 自分しか見ないからと、プログラムを自由に書いていたら可読性が悪すぎて自分でもわからなくなってきたので、綺麗にまとめて再度自動売買を動かしてみたいと思います。

 外出先でもツールの状態が分かったり、指示を出せたりすると便利なのでTwitter等のAPI機能なども組み込めたら良いな~などとも考えています。

 今回は良い経験・勉強となりました。ですが自動売買で儲けるのはなかなか難しそうです。

追記 現在動かしている自動売買ツールで1万円まで取り戻せました。

この記事が気に入ったら
フォローしてね!

SNSでシェア!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

26歳の男性会社員です。
工場作業員勤務→専門学生→IT企業勤務を経て、現在小さな会社の工場で品質管理の仕事をしています。

目次
閉じる