Pythonで株やFXの自動売買は可能?仮想通貨以外は難しい理由

・Python などのプログラミング言語で自由に株や FX の自動売買アルゴリズムを実装したい

・MT4などの既存のツールでは物足りない

おそらく、こういう思いを持った方がこのページに辿り着かれたのではないかと思います。

自分が寝ている間や会社に行ってる間も自動売買 bot がどんどん利益を積み重ねてくれる……

僕もかつてはそういう状況を夢見た一人でした。

しかし結論から言うと、現在の日本の環境では株も FX もPythonなどで作った独自プログラムによる自動売買システムを設計するのは難しいです。
今回はその理由と、代替案として仮想通貨の自動売買なら比較的簡単に実装できるということをお話しします。

株式の自動売買をやるのが難しい理由

冒頭でも言ったように株の自動売買を実装するのは難しいです。
これは実際に儲かるアルゴリズムを考え出すのが難しいとかそういう話ではありません。

それ以前に、プログラムから売買の注文を出すのが現状難しいのです。
というのも、 自作プログラムから取引の注文を出すためには証券会社が REST API を公開している必要があります。
しかしこの記事執筆時点で、個人向けにそのような API を公開しているメジャー証券会社はありません。

厳密に言うと au カブコム証券の API は個人でも利用することができるのですが、これには問題があります。

API を利用するためにはFintechプランもしくはPremiumプランに加入していなければいけないのです。
これにより月額料金が発生してしまうか、証券会社が提示するめんどくさい条件をクリアしなければいけません。

以前はマネックス証券が日本株の自動売買ツールを公開していたようですがそれも2021年時点で利用不可能です。

ネット上では苦肉の策としてプログラムから価格データを取得し、アルゴリズムで売り買いを判断した後手動で注文を出すという方法をとっている人もいるようです。
しかし個人的にはこれを自動売買と呼んでいいのかはかなり疑問です。

FXも自動売買はハードルが高め

株よりはまだマシですがFXも状況は似ています。
こちらもPythonなどのプログラムから売買注文を行うためには REST API が公開されている必要があります。

REST APIを公開しているのはOANDAくらいのもの

現状の日本で実用的な REST API を公開している FX 業者と言うとOANDA JAPANくらいのものです。

しかしこちらも無条件で使いまくれるということはありません。
2021年時点で以下の条件をクリアしないとAPIの使用が不可能となっています。
OandaのAPI利用条件
・口座残高が25万円以上

・ゴールド会員(前月に50万USD相当以上を取引)

・プロコース(スプレッドが少し大きい代わりに最大ロットも大)
※プロコースは月額料金などはありません。

また、デモ口座のみでのAPIキー利用が不可能になっているのも結構不便かもしれません。
(逆に言うと、これらの問題を気にしない方であればOANDAでOKです。)

>>OANDA JAPANの公式サイトを見てみる

以上の状況から、株にせよ FX にせよ MT4より上のレベルで自動売買を動かすのは難しい状況と言えます。

Python以外ならFXの自動売買手段は多い

FXではMT4 or MT5から自動売買するのが基本

FXの自動売買はMT4もしくはMT5と呼ばれるシステムを別途インストールして行うのが基本となります
MTでは、MQL4,MQL5というC++に似た独自言語でEA(エキスパートアドバイザ)と呼ばれる自動売買システムを作成して動かします。

しかし、
・MQLという言語があまり普及していない
・MTのUIがゴチャゴチャしてややこしい
といった問題があるんですよね。
一応、下記記事で初心者でもMTで自動売買を行う手順をイチから解説していますが、結構道のりは長いです笑

【無料EAあり】MT5で外国為替(FX)の自動売買を始めるやり方を徹底解説 (あまり知られていない&結構制限があるのですが、上記記事で解説しているように、MT上でPythonから自動売買を行うことも実は可能です。)

トライオートFXやループイフダン口座を使う方法

その他の方法でも為替の自動売買を行うことが出来ます。

まずはインヴァスト証券のトライオートFXを使う方法です。
画像は公式より
トライオートFXは、用意された多数の自動売買プログラムの中から自分で好きなものを選んで運用するというスタイルです。
・人気順
・リターン順
・低リスク順
などでアルゴリズムを並び替えて、自分にあった運用が出来ることが特徴です。
好きなアルゴリズムを選んだら、資金に合わせて取引ロットなどをカスタマイズできます。

本格的なカスタマイズをしたい人には、「ビルダー」という自動売買作成ツールもありますが、個人的には少なくともPythonプログラミングよりは馴染めない感じがします。

既に実績があるbotを使って自動運用したい人にはトライオートFX自動売買はオススメです。
なお、2021年5月31日(月)までに新規口座開設を行うと、取引量に応じて最大50000円のキャッシュバックが発生するキャンペーンが行われています。

>>無料でトライオートFXを始めてみる
※手数料無料とされていますが、通常のFX取引と同じくスプレッドが実質的な手数料となります。
ただ、幸いスプレッドは狭いです(ドル円で0.3銭。2021年4月確認)。
他に、アイネット証券のループイフダンを使う方法もあります。
ループイフダンとは、為替相場の小さな値動きに自動で反応し、 「下がったら買い・上がったら売り」という動作を24時間行ってくれるサービスです。
(まさに roop if done ということですね)

「3%下がったら買いを入れて、そこから5%上がったら売る」といったプログラムを作ろうと思っているなら、こちらを使った方が実装する手間が省けて楽です。

サービスの実績としては、半年間の平均利益率が14%もあったということなので、かなりの物ですね。
お気づきの通り、この手の取引システムは相場に方向性が無い時(レンジ相場)に強いです。
レンジ相場を予想するのであれば、コレを使うのも手でしょう。

なお、2021年4月現在、新規口座開設と取引で30000円のキャッシュバックがあるそうです。

>>無料でループイフダン口座を開設してみる

このように、Python以外でのFX自動売買なら結構方法があるのですが、やはりPython(などのプログラミング言語)で自動売買をするにはOANDAで口座開設するしかありません。

ここからはどうしてもPythonでの独自実装にこだわりたい人に向けて、代替案を解説します。

【代替案】仮想通貨の自動売買で妥協する

Pythonでの自動売買を試してみたいだけで、対象の資産クラスは何でも良いという方は仮想通貨に目を向ければ OK です。
仮想通貨の取引所はREST APIを公開しているところが多く、使用時の面倒臭い条件もないのでオススメです。

僕が今まで確認した取引所は全て無料でAPIが使えました。
仮想通貨の自動売買のやりやすさは相当なもので、また口座開設も何もしていない初心者であっても今から1時間以内に API キーの発行まで済ませることができます。
さらに、同時にテストコードを動かし始めることも可能です。

参考までに、下の記事で API キーの発行方法と自動売買コードの具体例を解説しています。

【コピペOK】仮想通貨をPythonで自動売買する方法を初心者向けに解説

2020年12月7日
お知らせ
参考までに僕がこれまで作成したPythonプラグラムを、下記サイトに大体まとめておきました。

inbaseシェア|EA・bot・プログラムのシェアサービス

ボラティリティが大きいので自動売買には向いてる(かも)

考えようによっては、仮想通貨が最も自動売買に向いた資産クラスかもしれません。
株や普通の通貨よりもボラティリティが大きい傾向にありますからね。
特に、スキャルピングのような短期でコツコツと利益を積み重ねていくロジックと相性が良さそうです。

ただし他の資産クラスと同様、何回も取引する場合は手数料負けしないように気をつける必要があります。

ちなみに仮想通貨FXで自動売買することも可能

ちなみに、仮想通貨のFXでは自動売買が比較的簡単に行えます。
通常の仮想通貨取引所と実装の手間暇はほとんど変わりません。

・レバレッジかけられる
・売りから入れる

といった法定通貨FXのメリットは仮想通貨FXでも使えるので、かなり便利です。

(参考記事)
【Pythonコード】Bybitで仮想通貨FXのアルゴリズムトレードを動かす

まとめ

最後にまとめです。
現状では株や FX で自動売買を自由に動かすのは難しいです。
取引所がAPI を公開していなかったり、公開していても利用に制限があったりすることが理由ですね。

代替案は仮想通貨を使うことです。
仮想通貨の取引所は全体的に使いやすい API を公開しているところが多いです。
また各プログラミング言語向けに API のラッパーが公式・非公式で公開されていることも多く、開発の手間が省けます。

参考までに、 API が使いやすい仮想通貨取引所をまとめておいたので興味のある方はこちらの記事もご覧ください。

【保存版】仮想通貨の取引所APIを徹底比較。自動売買に最適な口座はココ!

2020年12月26日
スポンサーリンク

SNSシェアお願いします!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA