仮想通貨の取引を全部無料で自動化する! (Gekko + Google Cloud Platform + Freenom + MyDNS + Let's Encrypt) その七 Gekkoを使った自動取引例の紹介
「だ、だれだっ お前はっ!!」「あててみろ ハワイへご招待するぜ」
どうも、宇宙海賊ゾルバです。
前回の記事はこちら
ようやくGekkoのセットアップが終わったので、今回から自動取引に入っていきます。
- 仮想通貨取引のリスクについて前置き
- Webコンソールの概要
- 過去の相場データのインポート
- Gekkoのバグを修正
- Backtestでの取引シミュレーション
- Strategyの作成
- テクニカル分析の参考リンク
仮想通貨取引のリスクについて前置き
仮想通貨の取引自動取引には様々なリスクがあります。馬の耳に念仏かもしれませんが、今一度ご確認下さい。
- 取引で生じた損益は自己責任です。仮想通貨に限らずですね。
- 私の方で動作確認した内容をご紹介しますが、Gekkoがうまく動作しない可能性もあります。
- 取引所にお金を預けるため、カウンターパーティーリスクがあります。
- セキュリティ設定不備が原因で取引所のAPIキーが盗まれる可能性があります。リスクを最小限に抑えるため、以下のような点を正しく設定しましょう。
- ファイアウォールルールで不要なアクセスを防止する。
- nginxの設定を正しく行う。
- APIキーには引き出し(Withdrawal)権限を与えないようにします。
- 仮想通貨同士の取引も課税対象となるようです。自動取引を行う事で取引の回数も多くなるかもしれません。計算も大変になりますが頑張りましょう。
Webコンソールの概要
それではWebコンソールにアクセスしましょう。
https://あなたのドメイン名
htpasswdで設定したユーザー名、パスワードを入力してログインします。
ログイン後、上部のメニューに6つの項目が表示されます。
- Home
- Live Gekkos
- Backtest
- Local data
- Config
- Documentation
Live Gekkos
Strategy(取引の条件)に応じて、リアルタイムのチャートデータを元に実際に取引を行う事ができます。
また、Paper Traderではリアルタイムのチャートデータを元に取引のシミュレーションができます。
Backtest
過去のチャートから、自分のStrategy通りに取引を行った場合にどのくらいの損益となっていたかシミュレーションができます。
Local data
過去のチャートデータをインポートする事ができます。
過去の相場データのインポート
実際に取引する前に、Backtestを行いましょう。まずはLocal dataから過去の相場データをインポートします。
スクロールダウンし、Go the the importer!をクリックします。
Exchange(取引所)、Currency(支払う仮想通貨)、Asset(購入する仮想通貨)、From及びTo(インポートする期間)を選択します。
Exchangeはpoloniexとgdaxが選択できます。
poloniexの場合、CurrencyはUSDT, BTC, ETH, XMRが選択可能です。Assetは多数サポートされています。(確認していませんが、ほぼ全てかと)
(gekkoインストールディレクトリ)/exchanges/poloniex.js
currencies: ['BTC', 'ETH', 'XMR', 'USDT'], assets: [ '1CR', 'ABY', 'AC', 'ACH', 'ADN', 'AEON', 'AERO', 'AIR', 'AMP', 'APH', 'ARCH', 'AUR', 'AXIS', 'BALLS', 'BANK', 'BBL', 'BBR', 'BCC', 'BCH', 'BCN', 'BCY', 'BDC', 'BDG', 'BELA', 'BITCNY', 'BITS', 'BITUSD', 'BLK', 'BLOCK', 'BLU', 'BNS', 'BONES', 'BOST', 'BTC', 'BTCD', 'BTCS', 'BTM', 'BTS', 'BURN', 'BURST', 'C2', 'CACH', 'CAI', 'CC', 'CCN', 'CGA', 'CHA', 'CINNI', 'CLAM', 'CNL', 'CNMT', 'CNOTE', 'COMM', 'CON', 'CORG', 'CRYPT', 'CURE', 'CYC', 'DAO', 'DASH', 'DCR', 'DGB', 'DICE', 'DIEM', 'DIME', 'DIS', 'DNS', 'DOGE', 'DRKC', 'DRM', 'DSH', 'DVK', 'EAC', 'EBT', 'ECC', 'EFL', 'EMC2', 'EMO', 'ENC', 'ETC', 'ETH', 'eTOK', 'EXE', 'EXP', 'FAC', 'FCN', 'FCT', 'FIBRE', 'FLAP', 'FLDC', 'FLO', 'FLT', 'FOX', 'FRAC', 'FRK', 'FRQ', 'FVZ', 'FZ', 'FZN', 'GAME', 'GAP', 'GDN', 'GEMZ', 'GEO', 'GIAR', 'GLB', 'GML', 'GNS', 'GNT', 'GOLD', 'GPC', 'GPUC', 'GRC', 'GRCX', 'GRS', 'GUE', 'H2O', 'HIRO', 'HOT', 'HUC', 'HUGE', 'HVC', 'HYP', 'HZ', 'IFC', 'INDEX', 'IOC', 'ITC', 'IXC', 'JLH', 'JPC', 'JUG', 'KDC', 'KEY', 'LBC', 'LC', 'LCL', 'LEAF', 'LGC', 'LOL', 'LOVE', 'LQD', 'LSK', 'LTBC', 'LTC', 'LTCX', 'MAID', 'MAST', 'MAX', 'MCN', 'MEC', 'METH', 'MIL', 'MIN', 'MINT', 'MMC', 'MMNXT', 'MMXIV', 'MNTA', 'MON', 'MRC', 'MRS', 'MTS', 'MUN', 'MYR', 'MZC', 'N5X', 'NAS', 'NAUT', 'NAV', 'NBT', 'NEOS', 'NL', 'NMC', 'NOBL', 'NOTE', 'NOXT', 'NRS', 'NSR', 'NTX', 'NXT', 'NXTI', 'OMNI', 'OPAL', 'PAND', 'PASC', 'PAWN', 'PIGGY', 'PINK', 'PLX', 'PMC', 'POT', 'PPC', 'PRC', 'PRT', 'PTS', 'Q2C', 'QBK', 'QCN', 'QORA', 'QTL', 'RADS', 'RBY', 'RDD', 'REP', 'RIC', 'RZR', 'SBD', 'SC', 'SDC', 'SHIBE', 'SHOPX', 'SILK', 'SJCX', 'SLR', 'SMC', 'SOC', 'SPA', 'SQL', 'SRCC', 'SRG', 'SSD', 'STEEM', 'STR', 'SUM', 'SUN', 'SWARM', 'SXC', 'SYNC', 'SYS', 'TAC', 'TOR', 'TRUST', 'TWE', 'UIS', 'ULTC', 'UNITY', 'URO', 'USDE', 'USDT', 'UTC', 'UTIL', 'UVC', 'VIA', 'VOOT', 'VOX', 'VRC', 'VTC', 'WC', 'WDC', 'WIKI', 'WOLF', 'X13', 'XAI', 'XAP', 'XBC', 'XC', 'XCH', 'XCN', 'XCP', 'XCR', 'XDN', 'XDP', 'XEM', 'XHC', 'XLB', 'XMG', 'XMR', 'XPB', 'XPM', 'XRP', 'XSI', 'XST', 'XSV', 'XUSD', 'XVC', 'XXC', 'BCH', 'YACC', 'YANG', 'YC', 'YIN', 'ZEC' ],
それではImportをクリックし、poloniexでの過去3ヶ月分のBTC/USDT相場データをインポートします。環境に夜と思いますが、3ヶ月だと大体30分くらいで完了します。
おや、途中でインポートが止まってしまいました…。データをインポートしようとすると、Poloniexがエラーを返す事があるようです。
15分ほど待つと再開されるので、気長に待ちましょう。エラーが頻発しても3ヶ月分のデータを取得するのであれば3時間あれば終わるでしょう。
インポートが終わると、Import doneと表示されます。
Gekkoのバグを修正
Gekkoにバグがあるため、CCIというテクニカル分析の指標が使えません。
CCI Reference Missing · Issue #1139 · askmike/gekko · GitHub
以下のコマンドで修正します。
sudo su - cp -p /usr/local/bin/gekko/strategies/CCI.js /usr/local/bin/gekko/strategies/CCI.js.default sed -i -e 's/config.tradingAdvisor.historySize/this.tradingAdvisor.historySize/' /usr/local/bin/gekko/strategies/CCI.js
Backtestでの取引シミュレーション
Backtestに移動し、scan available dataをクリックします。
取り込んだデータが表示されるので、ラジオボタンを選択します。
(私は1年以上のデータを取り込みました。もし特定の期間だけをシミュレーションしたい場合、Adjust rangeをクリックします)
Strategy(売買を行う条件)を設定します。ここでは、とりあえず全部デフォルトのままにしておきます。
画面を下にスクロールし、Backtestをクリックします。
少し待つとシミュレーションの結果が表示されます。チャートの上に多数の点が表示されていますが、緑の点が買った時、赤い点が売った時の意味です。
黙ってホールドしとけば9倍以上になるはずなのに、なんと大損ぶっこいてますね…。-99%なので素寒貧です。
チャートの下にスクロールすると、取引の詳細もこのように表示されます。
では、以下のページを参考にしてみましょう。
Best trading method [POLL] · Issue #610 · askmike/gekko · GitHub
StrategyはCCI、他のパラメーターは以下のスクリーンショットを参考に設定し、Backtestをクリックします。
354%の利益が出ました。大分マシになりましたね。
とはいえ、放っておけば9倍になっているのにこれでは自動取引はまだまだですね。
Strategyの作成
私も色々と試しているのですが、うまい具合のStrategyがまだ出来ていません。次の記事を書くのは、それっぽいのが出来てからにします。
むしろいいのができた方は私に教えて下さい。
Best trading method [POLL] · Issue #610 · askmike/gekko · GitHub
テクニカル分析の参考リンク
テクニカル分析についての解説があります。私も勉強中です。
第1回 数多くあるテクニカル指標を体系的に解説|テクニカル分析ABC |ガイド・投資講座 |セミナー・マーケット情報|株のことならネット証券会社【カブドットコム】
小次郎講師直伝「チャートの極意」|AVATRADE|MT4|CFD|自動売買|
ステップアップガイド ~テクニカル分析などの解説~|岡三ネットトレーダーシリーズ|岡三ネットトレーダー(OKASAN NET TRADER):岡三オンライン証券トレーディングツール
____________________
以下、アフィリエイトです。もしこの記事がお役に立ちましたら、こちらから取引所口座を開設頂けると励みになります。(私のお小遣いになります)
日本では以下の3つが主要な仮想通貨取引所となります。
コインチェック
初心者でも簡単に仮想通貨が購入できます。また、ビットコイン以外の仮想通貨(オルトコイン)も12種取り扱っているのも高ポイントです。ただし、購入手数料が高いのが難点。
bitFlyer
日本で最もビットコインの取引量が多い(=売買が成立しやすい)取引所です。多額の取引をする場合におすすめ。 無難ですが、特に突出した特徴が無いのが難点と言えば難点。
私がメインで使っている取引所。手数料がマイナスなので、取引すればするほど得をします。 XEMを購入するならここ。サーバーが貧弱なのかたまに応答しなくなるのが難点。