Pythonによる自動売買Botを作る⑤~レンタルサーバーでbotを定期実行させる

Pythonによる自動売買Botの作り方

これまでの記事でシステムトレード(自動売買)とはどういうものなのか、プログラムで実装するにあたって意識すべき点、オススメのプログラミング言語、実際にテクニカル指標を使った簡単な自動売買Botのプログラムの作り方について説明してきました。Botの作り方や簡単なサンプルコードは以下の記事に書いています。

/・・・シリーズ記事一覧・・・/

Pythonで自動売買Botを作る①~システムトレードの流れを把握する

Pythonで自動売買Botを作る②~仮想通貨取引所からビットコインの価格を取得する

Pythonで自動売買Botを作る③~プライベートAPIを使って仮想通貨を売買する

Pythonで自動売買Botを作る④~テクニカル指標を用いた自動売買botを作って動かしてみる(コピペで実行できるコード付き)

作ったプログラムを24時間365日、常時実行させるための方法

そして、これまでの記事で取引所で自動でビットコインの売買を行う自動取引Botを作ったわけですが、この作った自動取引Botをずっと稼働させるとなるとコードだけでは不十分です。

というのもプログラムはコンピューター上で動くので、プログラムを常に実行させるためには、プログラムを実行させるサーバー(コンピュータ)をずっと起動しておく必要があります。

プログラムをずっと起動しておく方法としては自宅のコンピューターをずっと起動させて、そこでプログラムを常時起動しておくというのもアリと言えばアリですが、ずっと電源を入れっぱなしにするわけですし、Windowsならば、自動更新プログラムで再起動も勝手に行われますし、少し現実的ではないと思います。

そういうオススメなのは、レンタルサーバーを借りてそこにプログラムのソースファイルを置き、常時プログラムを実行させておくということ方法です。常時動かす自動取引Botだけでなく、定期的に情報を集めるクローラーなどもこういったレンタルサーバー上で実行させている人はエンジニアに方には結構います。

スポンサーリンク

レンタルサーバーの選び方

というわけで、自分の作ったプログラムを常時実行したり定期的に実行したりする場合は、レンタルサーバーを契約するのが一般的です。

まず、レンタルサーバーの選び方としてはまず自分の使いたいプログラミング言語に対応しているかどうかです。例えば今回のPythonの自動取引プログラムはもちろんPythonで書かれているため、プログラムを実行させるためには、Pythonが使えるレンタルサーバーであることがまず前提条件です。

昨今は利用料金が格安なレンタルサーバーも沢山ありますが、ブログ用にWordpress(ワードプレス)だけしか使用権限がないレンタルサーバーも多いです。間違ってそういうレンタルサーバーと契約してしまうと、自分で作ったプログラムをサーバー上で定期的に実行しようという目的で契約したものの、いざ実際に使ってみるとワードプレス以外はほぼ何もできないため、自分の使いたいプログラミング言語に対応していない無駄な手間と時間が掛かった挙句、レンタルサーバーを選びなおすハメになってしまいます。

今回のようなPythonでの自動取引プログラムや定期的にWebサイトを訪問して情報を取得するクローラーのような高度な処理が必要になってくるプログラムを実行させるレンタルサーバーの条件としては、pipコマンドでrequestsなどの複雑な処理を関数化してくれているライブラリをインストールできる環境であることがオススメです。

pipコマンドを使えるレンタルサーバーの条件としては、契約者側にrootまでアクセスできる権限がある必要があります。これを「root権限」といい、このroot権限を持つレンタルサーバーのことを一般的に「VPSサーバー」と言います。

レンタルサーバーで自動プログラムを実行させたい場合はまずそのサーバーがroot権限を持つVPSサーバーであることが条件になります。一応VPSサーバーでなくともできないことはありませんが、VPSサーバーならコマンド1つで住む作業に対して非常に手間が掛かるのでオススメしません。

VPSサーバーは自由だけど責任も大きい

「VPSサーバー」であれば、Python・そして豊富なライブラリを搭載したAnacondaをインストールすることができることができるので、機械学習やWebスクレイピングがレンタルサーバー上でも簡単に実行することができます。

「VPSサーバー」は権限の少ないレンタルサーバーと違って、コンピューターの最深部であるrootにアクセスできる権限があるので、ブログでもサイトでもメールサーバーでも知識さえあればなんでもできます。

ただその分、↓の画像のようなコマンドラインという真っ黒な画面からPCに命令を出すのが基本なので、コマンドの知識とlinuxOS(CentOS)についての知識がない人が使うと何もできないので、中~上級者向けのサービスだと言えます。

コマンドラインは慣れないと難しいですが、将来IT業界を目指している人などは、linuxとコマンドの練習がてら始めておいても損はないと思います。

まとめるとVPSサーバーはユーザー側が大きな権限を持っていますが、その分セキュリティーの管理など自由には責任が伴います。加えてただVPSの操作はlinux(CentOS)の真っ黒い画面とコマンドが分かっていないと苦労します。

Linuxが分からんという人は、Windowsのリモートデスクトップの画面をそのまま提供してくれる「Windows リモートデスクトップサーバー」で代用するのがオススメです。

ここまでの内容をまとめると

・レンタルサーバーを借りるならVPSサーバーがいい

・だけどVPSサーバーは何でもできる反面Linux知識が必要

・Windowsサーバーは少し高いけど自宅のデスクトップと同じようにプログラムを実行できる

なので、Pythonなどで作った自分のプログラムをサーバー借りて定期的に実行したり、24時間常時実行させたい場合は以下の2種類のサーバーのうちのどちらかを借りるといいでしょう。

①VPSサーバー

②Windows リモートデスクトップサーバー

そしてこれまで色んなレンタルサーバーを契約して使ってみた自分の体験から、初めてレンタルサーバーを借りてみるという人にもオススメのレンタルサーバー会社を紹介しておきます。

初心者にオススメのVPSサーバー会社

「VPSサーバー」のサービスを提供しているサーバー会社は多くありますが、とりあえずサーバー管理の練習がてら手始めにVPSサーバー初心者デビューするのであれば、レンタルサーバー業界大手のGMOが運営する「お名前ドットコムのVPSサーバー」がオススメです。

お名前ドットコムのVPSサーバーの詳細を見てみる

「お名前ドットコムのVPSサーバー」の良いところは「初期費用無料」かつ「月額料金が格安」な点ですね。一番性能が低い1GBプランならなんと月額980円でサーバーをレンタルすることができます。しかも「6カ月以上まとめて利用料金を支払うと実質月額790円」と格安でサーバーを借りることが可能です。

ただしVPSサーバーはSSH接続が基本なので、コマンドライン(真っ黒の画面)とlinuxのサーバー関連の知識がないと少し困ることもありますし、だれでもできるというわけではありません。そういったLinux系のサーバー知識がないという人はレンタルサーバーを自宅のデスクトップPCのように動かせる次のWindowサーバーがオススメです。

VPSサーバーにPythonのAnacondaをインストールする方法は以下のサイトで解説されているので、サーバーに申し込んで料金を支払いコンソール画面からサーバーを起動したら、下記の記事のやり方でAnacondaをインストールしてみてください。

オススメのWindowsデスクトップサーバー

Windowsデスクトップサーバーはレンタルサーバー上で自宅のデスクトップPCのようなWindows画面でサーバーを使うことができるレンタルサーバーです。実際にサーバーにアクセスすると↓のような画面から操作できます。

VPSサーバーの場合は真っ黒な画面から操作するのが基本ですが、こっちのWindowsデスクトップサーバーだと以下のような画面からサーバーの操作を行うことができるので、サーバー周りの知識がない初心者でも簡単に操作することができます。

こちらだとPCの画面からデスクトップやノートのPCで実行するのと同じ要領で、プログラムをWhile文などで無限に実行しておいたり、定時起動したりすることができます。

Windowsサーバーはデスクトップ画面が付いているレンタルサーバーなので、普通の種類のレンタルサーバーと違って提供している会社の数は少ないですが、その中でも初心者の方にオススメなのはGMOの提供している「ConoHa for Windows Server」というWindowsデスクトップサーバーです。

利用料金の方は先ほどのVPSサーバーと違って最安プランのCPU1GBで月額2300円と少し高くなってしまいますが、「24時間安定稼働の初期費用無料」、「最低利用期間無し」なので、とりあえずWindowsの画面でレンタルサーバーを触ってみたい人にオススメです。


ConoHa for Windows Serverの詳細を見てみる

まとめ

以上がプログラムを定期実行したり、常時実行させるため方法とレンタルサーバー初心者にオススメなサービスのまとめです。レンタルサーバーを使用するにあたっての予算の最低額はひと月あたり1000~2000円くらいが目安ですね。自分で定期的に自動でデータを集めるようなプログラムを組むことができるようになるとプログラミングもやっていて楽しくなりますね!

プログラミングの独学はとても難しい


プログラミングは小学校の義務教育にも導入され始めており、これから社会人として生きていく上でプログラミングはもはや出来て当たり前、出来なれば論外というエクセルレベルの必須スキルになりつつあります。そしてそういう話を聞いて参考書なりを購入して独学でプログラミング勉強しようと思っている人も少なくないでしょう。しかしプログラミングを独学で勉強し始めようと思うものの



・「分からない箇所で詰まって挫折してしまった」

・「勉強する時間が足りない」

・「ネットの記事だと情報が断片的でよくわからない」

・「コードのエラーの原因が分からない」



という壁にぶち当たって、プログラミングの勉強を止めてしまう方が少なくありません。独学でプログラミングを勉強してる時間のほとんどはつまづいている時間です。実際僕も最初のころ独学でプログラミングを勉強していた頃はエラーの原因が分からず丸1日を不意にしてしまった・・・そんな苦い経験がありました。



それで僕は一度はプログラミングの学習を諦めてしまいましたが、就活で現実を知る中で「プログラミングを勉強して、いずれフリーランスとして自由な生き方がしたい」「エンジニアとして若いうちから高収入を得たい」という気持ちから一念発起して「侍エンジニアのwebサービスコース」に申し込み、プロのエンジニアの方に対面でマンツーマンでPythonによるWebサービス作り方とWeb技術の基本を教えてもらい、ようやくプログラミングが理解でき、今ではエンジニアとしてそこそこの暮らしができるようになりました。





侍エンジニアでは、とりあえずプログラミングやインターネットの基本を知っておきたい人から、HTML・cssなどでWebサイトやWebアプリを作ってみたい人やPythonを勉強してデータサイエンティストやAIエンジニアになりたい人まで幅広いニーズに応えた様々なコースが用意されています。



IT業界と言ってもエンジニアの仕事はプログラミング言語次第でサーバーから機械学習・ディープラーニングまで多種多様ですし、侍エンジニアの無料レッスン(カウンセリング)を受けてみて、自分のやりたいITの仕事は何なのか?を見つけるのがエンジニアへの第一歩になります。ちなみに今侍エンジニアの無料レッスンを受けると1000円分のAmazonギフト券がもらえるので、試しに受けてみるだけもお得です。


自分は半端に独学やオンラインスクールで勉強して金と時間を無駄にするくらいなら、リアルのプログラミングスクールに通ってしっかりプログラミングを勉強した方がいいと思います。ちなみに今、侍エンジニアに申し込むと、25歳以下の学生の方であれば、受講料が20%OFFになるので超お得です。


そして、プログラミングは大勢で授業を受けたり漫然とオンライン学習をするよりも自分が分からない箇所をピンポイントでプロの講師に直接質問して、ちゃんと納得するというスタイルの方がお金は確かに少し掛かりますが、独学で学ぶよりも絶対にモノになります。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする