自動売買botに使うプログラミング言語の選定 【 ビットコインの場合 】

自動売買botに使うプログラミング言語の選定 サムネイル

「 自動売買botに使うプログラミング言語の選定 」するための要点をまとめつつ、もっとも無難な言語を解説します。

 

この記事では仮想通貨(ビットコイン)を中心とした場合のオススメのプログラミング言語がわかるようにまとめました。

 

この記事の信憑性ですが、草猫店長(中の人)である私が自動売買のサービスを半年以上、利用してきたり非エンジニアながらプログラミングをやってみた経験に基づいて解説しているので初心者目線で解説できます。

これまで仮想通貨に関する記事をほぼ1人で380記事を投稿してきました。

 

過去にプログラミング知識が不要で少額からはめることのできる自動売買サービスを解説した1万円からはじめるbotライフ ~ 無料で仮想通貨の自動売買 ~う記事があるので参考にしてみてください。

無料で仮想通貨の自動売買 サムネイル

1万円からはじめるbotライフ ~ 無料で仮想通貨の自動売買 ~

2018年9月4日

 

【結論】もっとも無難な言語はPythonです

仮想通貨(ビットコイン)の自動売買においてはプログラミング初級者の場合はPythonが無難だと考えます。

仮想通貨の自動売買でPythonが良い理由

・日本語の情報が多い

・ソースも落ちていることが多い

要するに情報量が多いからというのが最大の理由です。

 

実際のところ、過去の記事で自動売買に関するnoteをまとめた記事、noteで買える仮想通貨の自動売買botや関連noteをまとめてみたでまとめた結果、Pythonの記事がもっとも多かったです。

 

Pythonは初学者が学ぶ言語として世界的に人気です。研究における分析作業などもよくPythonが利用されています。

 

全くのプログラミング初心者の人であればprogateドットインストールで無料で基本を学習できます。(手取り早さはドットインストール。丁寧さはprogate)

質の高さを求めるのであれば月2980円でハイクオリティな学習ができるPyQがおすすめです。

 

言語別のメリットデメリット

Pythonがもっとも無難という前提にしつつも、他の言語と合わせてメリットデメリットを解説します。

Python、JavaScript、Ruby、JAVA、PHPに分けて簡単に説明します。

 

Python

メリット
❶.サイエンス、分析系に強いのでチャートとの相性◎

❷.日本語での初心者向けの教材や自動売買に関する情報が比較的に多い

❸.言語の中では比較的にとっつきやすい

デメリット
❶.国内では最近になってデータサイエンス系で人気になった言語のため時に英語が読めないと辛い場面も

❷.分析系は強いがフロントエンド(見た目)の実装はメジャーではない

❸.機械学習やAI系の分野で生きるがどこかで数学的素養が必要になり理系でないなら沼にハマりやすいかも

とっつきやすい反面、日本ではAIブームに伴って火がついた言語です。

日本のWebサービスなどでもこれから使われていくであろう言語なので事例が国内では少なめな印象です。

 

ただ、仮想通貨の自動売買に関してはPythonがもっとも無難だと思います。

また、bot作成を突き詰めていくと機械学習や数学モデルの分析ライブラリが充実して情報の多いPythonが役に立つことは容易に想像できます。

 

JavaScript

メリット
❶.エンジニアならほとんどの人が触ったことのあるであろう言語

❷.フロントエンドではメジャーな言語なのでUI(見た目)も一緒に実装するなら強い

❸.日本語の教材も多く、HTML・CSSを触った人ならかなりとっつきやすい言語となります

デメリット
❶.入り口は広いが中級者向けの内容になると途端に難しくなる

❷.サーバーサイド(nodeJS)は国内ではまだ不人気で情報が少ない

❸.流行の変化の激しい言語における代表選手

Pythonの次におすすめなのはJavaScriptです。

JavaScriptはWebサイト制作を始める人であれば誰しも触るであろう言語です。(jQueryと呼ばれるもので)

そのため経験者も多くとっつきやすい言語です。

 

しかし、フレームワークを利用するものになると流行の変化が激しく技術の組み合わせ方のテンプレもあまり決まっていないため中級者になってからの学習コストは高めになります。

 

仮想通貨の自動売買においては他の言語を学ぶの面倒だし、手軽に初めてみたいなという場合においてはnodeJSで簡単に始めることができます。

 

Ruby

メリット
❶.慣れれば強い

❷.小規模なサービスを比較的に早く作れる

❸.なんでもできる

デメリット
❶.学習コストが高い(覚えるまで時間がある程度はかかる)

❷.海外だと最近はあまり人気ではない(間違ってたらすみません)

❸.実装スピードは早いが実行速度は比較的に遅い

超高速トレードを行うのであれば実行速度が一般的には遅いと言われるRuby(Ruby on Rails)だと相性が悪いかと。

Rubyは一度覚えれば汎用性が高いのでフロントからバックエンドまで幅広く対応できます。

 

それでいて国内のスタートアップを中心とした会社で人気な技術のため需要も大きいです。

一方で海外だとPythonが台頭するのと反比例してRubyの人気が落ちてきています(Googleトレンドにおける検索総数の比較)

 

自動売買においてRubyを使うのであればもともと経験があり、わざわざ新しい言語を学習してまで自動売買するメリットを感じられない場合の選択肢になるのではないでしょうか。

 

JAVA

メリット
❶. 実行速度が大きい(速い)

❷. 言語としての経歴は長いので情報量が多い

❸. 大規模なサービスで人気の言語

デメリット
❶. 実装するために時間がかかる

❷. JAVAを使った自動売買の情報はほぼ皆無

❸. 初心者があえてJAVAを知識0から選ぶメリットがほとんどない

プログラマーとして転職および就職したい、などの理由がなければ自動売買においてJAVAを選択する意味はほとんどないかと思います。

一方で、JAVAを実践で使えるレベルになれば他の言語もすんなり覚えられると考えているような人は多いです。

 

理由としては、JAVAは基礎の基礎から記述できるため、最近流行りのJavaScriptやPythonフレームワーク、PHPなどの細かいアルゴリズムを省略できる言語と違って細かいアルゴリズムまでを記述する必要があるためです。

 

将来的にSEなどになりたい人でなければ学習コストは高いのであえて選択する必要はないと考えます。

 

自動売買としてJAVAを選ぶのであれば、実行速度を少しでも早めたいから、などの理由が考えられます。

 

PHP

メリット
❶. 初心者ウェルカムな優しめなサーバーサイドの言語

❷. 全世界で80%のWebサイトで利用されていると言われる言語

❸. 案件も多く、入り口が広い

デメリット
❶. バグを捉えにくい要素がある

❷. ほとんどのPHPの需要はWebサイトに集約されている

❸. 簡易的なサービスに対しては強いが複雑なものになると人それぞれで脆弱性が異なる

初心者がプログラマーの入り口として入りやすい言語としては国内だと1位、2位を競う言語ではないでしょうか。

一方で初心者が多く参入する言語だけあって、人によって記述の差が激しいためにPHPはなんだかイケテナイような風潮も少しあります。

 

また、ほとんどのケースにおいてWebサイトで使われる言語であるので自動売買においてはあまり有力な候補にはならないかなと思います。

もともとPHPが触れる人が、PHPを使って書こう、という場合には向いていると考えます。

 

自分が使ったことのあるプログラミング言語も良い

一番はPythonですが、最初は自分が使ったのことのある言語でサクッと実際にAPIを通じて売買する方が良いのではないかなと思います。

その上で、限界がきたと思ったらPythonなどを選ぶと良いかと思います。

 

もしくは、完全な初心者であればPythonが慣れてからも良いのではないかなと思います。

自動売買はチャート分析で勝率を予測したり、テクニカル分析や指標などのデータをコードで表現して売買注文を入れます。

 

やり方によっては大量のデータを扱うことになりデータの扱いではPythonがかなり相性が良いのとデータサイエンティストに人気の言語であるので候補としては大きいなと思います。

 

Udemyでも学習できる

Udemyとはオンライン動画のプラットフォーム(Webサービス)です。

高品質な動画がそこら辺の合宿などに比べてとても安いためおすすめです。

Pythonであれば、【初心者向け】 Pythonで仮想通貨の自動売買 botの作成方法の記事、Pythonで自動売買botを作るにおいて入り口となるUdemy教材を紹介しています。

 

JavaScript(nodeJS)で始める場合はUdemyのビットコイン【プログラミング初心者でも安心】Pythonとチャットツールで仮想通貨 ボットを作ろう!がおすすめです。

実際にやりましたが内容は素晴らしいです。

ただし、講師の声が少しボソボソしていて聞き取りずらかったのですが早送り(デフォルトでできます)にしてイヤホンの音量をMAX近くにまで大きくしたら聞き取れました。

 

Rubyの場合はRubyで作る! ビットコイン自動売買システムのUdemy講座一択です。

友達がこれで簡単にできるようになったと言っていました。

 

自動売買botに使うプログラミング言語の選定 まとめ

自動売買botに使うプログラミング言語の選定 まとめ

自動売買botに使うプログラミング言語はPythonが無難です。

自動売買botのためだけに一から学ぶの面倒だなという人は経験ある言語で初めて見ると良いかと思います。

 

そもそも、プログラミングをせずともbotは初期費用0から始めることができます。

詳細は1万円からはじめるbotライフ ~ 無料で仮想通貨の自動売買 ~の記事でQUOREAと呼ばれるサービスがあるので参考にしてみてください。

無料で仮想通貨の自動売買 サムネイル

1万円からはじめるbotライフ ~ 無料で仮想通貨の自動売買 ~

2018年9月4日