見出し画像

チャート分析のため見えない情報の検討に挑戦してみた

仮想通貨取引所の情報は少ない 

資本家が大衆から吸い上げた富を返してもらうために、ボクはPythonを使って利益が出せるロジックを考えている。

投資分析には数々の指標がある。だけど、よくみてみると、仮想通貨取引所などから分析に必要なデータが出されているんだろうかと疑問を持った。

そこで、仮想通貨取引所が本当は計算できるのに出してきていない情報こそ、投資分析に必要な情報じゃないかと考えた。

ティッカーの分析

前回の記事でも書いたけど、bitflyerの ティッカー情報は、①最高買価格、②最低売価格、③最高買価格数、④最低売価格数、⑤最終取引価格、⑥買注文総数、⑦売注文総数、⑧価格ごとの出来高に、volume(出来高)とタイムスタンプを加えた10情報だ

* best_ask: 最高買い価格
* best_bid: 最低売り価格
* best_ask_size: 最高買い価格の数
* best_bid_size: 最低売り価格の数
* ltp: 最終取引価格
* total_ask_depth: 買い注文総数
* total_bid_depth: 売り注文総数
* volume_by_product: 価格ごとの出来高

価格ごとの出来高は、取引所内の出来高だと思うけど、「価格ごとの出来高」と「出来高」の違いがわからない。24時間分の出来高なんだろうか?価格ごととは同じ時間帯の出来高だろうか?
次にGMOビットコインのティッカーは、8情報

  "ask": "41.72",
  "bid": "41.65",
  "high": "41.859",
  "last": "41.665",
  "low": "40.91",
  "symbol": "XRP_JPY",
  "timestamp": "2019-07-06T03:29:49.525Z",
  "volume": "3194000"

コインチェックは7情報だ。他にもAPIを提供してくれる会社は複数あったけど、bitflyerは、他社と比べて多くの情報をAPIに載せてくれている。これは、かなり良心的だから感謝だ。

1. last:最後の取引価格
2. bid:現在の買い注文の最高価格
3. ask:現在の売り注文の最安価格
4. high:24時間での最高取引価格
5. low:24時間での最安取引価格
6. volume:24時間での取引量
7. timestamp:現在の時刻

volumeは、取引所の出来高であって、仮想通貨全体の出来高じゃない。仮想通貨の世界での取引量を調べたいなら、Coinmarketcap.comを見る必要がある。そして、CoinmarketcapもAPIを出している。

Coinmarketcap.com(コインマーケットキャップ)は、世界中で発行されている1,000種類以上の仮想通貨やトークンの時価総額ランキングや現在の取引価格、取引量、過去の価格推移などを一覧できるとても便利なサイトです。スマートフォン用のアプリもあります。

仮想通貨だけで考えると出来高とは24時間の取引所の取引が成立した数量のことを言うらしい。それでは、bitflyerの価格ごと出来高とは、期間は不明だけど、最終取引価格での取引数量ということなんだろうか。

出来高とは、期間中に成立した売買の数量のこと。株式の場合、1日、1週間など、ある一定期間内に売買が成立した株数を指します。銘柄ごと以外に、市場全体や指標での出来高も評価されます。
「出来高は株価に先行する」といわれることもあり、市場の活性度を測るバロメーターとして使われます。
また出来高とは別に売買代金という言葉があります。出来高は株数などの売買量を指し、売買代金は売買で動いた総金額を指します。

どうすれば分析できるのか

さまざまなチャート分析があるけど、ボクは示されている数値では分析できないんじゃないかと思った。これらの数値は、板情報から拾ってきた情報だろう。もちろん、板情報もAPIで公表されているけど情報量が膨大だ。

株式投資における「板」とは、価格ごとの買い注文と売り注文の一覧表です。買い希望株数や売り希望株数が一目でわかります。株式を売買する場合は、誰もがこの「板」を見てから注文を出します。株式投資における必須の情報といえるでしょう。

しかも、仮想通貨取引所は、APIの使用を制限している。bitflyerは、1時間で100回を限度にしているけど、制限を受ける可能性もある。つまり、少ない情報量で最大の結果を生む必要がある。

*0.1 以下の数量の注文は、すべての板の合計で 1 分間で 100 回を上限とします。 上限に達するとその後 1 時間は 1 分間で 10 回まで注文を制限します。

システムに負荷をかける目的で注文を繰り返していると当社が判断した場合は、API の使用を制限することがあります。ご了承ください。

だから、一般投資家が持っているPCだと板情報の分析ができない。分析するためにはAIを用いた機械学習で分析しようとしている研究者もいるくらいだ。ボクの分析ツールは、携帯電話一つだ。板分析をするにはどう考えても無理がある。

従来の研究では短い期間の予測についてや板を見る、というアプローチに対して、機械 学習を試みるという研究は数少ないと考えられる。日本の市場についての研究である [15] などがあるが、板のパターンの因果関係を十分に説明するまでには至ってないと考えられる。

Pythonでのデータ加工

そこで、bitflyerの情報を最大限に活用してみようと思う。まず、分析に必要なデータが何か考えてみよう。どの取引所でも公表してくれてて使えそうなのは最終取引金額、最高買価格、最低売価格、出来高だ。だけど、この4つだけじゃ検討するには情報が少ない。やはり、bitflyerのAPIがいい。
出来高は、売り買い全て含めた上での取引総数のはずだ。

暗号資産(仮想通貨)の出来高とは、一定期間内に成立した取引量のことです。

暗号資産(仮想通貨)の出来高は、その額が大きいほど、成立した取引の総額が大きいことを意味します。そのため出来高は、市場のアクティブさを示す指標のひとつになっています。

なお英語では一般的に、出来高は「Vol」もしくは「Volume」と表記されます。海外の暗号資産(仮想通貨)取引所や、その他の暗号資産(仮想通貨)関連サービスで出来高を確認したい場合は、これらの表記を探してみるとよいでしょう。

出来高のうち、最終取引価格を基準に、それより高い取引か安い取引かの割合を、買い注文総数と売り注文総数の割合から算出する。投資家の心理から見れば高い取引が多ければ相場は上がるし、安い取引が多ければ相場は下がる。これをハーディング現象という。

人間は、合理的な観点から物事の判断をしたり、自らの行動を決定するよりも、多くの人々と同じ行動をとることに安心感を抱き、周りに同調したり他人の行動に追随してしまう傾向があること。集団から外れたくないという心理から、多くの人間が非合理的な判断に基づく行動をとっていても、そのなかで自分一人が合理的な行動をとることは困難であり、自分の持っている情報を無視してでも非合理的な行動に同調してしまう結果、集団として間違った方向性にいってしまうことがある。行動経済学上において、このような群衆心理に基づく行動のことをハーディング現象と呼ぶ。 

ボクは、この世界がシミュレーション世界だと考えている。この群衆の行動は仮想世界のシステムに基づいた投資行動と考えていて、資本家も当然に同じように考える。取引の基本は「安く買って高く売る」だからだ。

すべての格言はこの言葉に集約されるといっていいでしょう。
株に限らず、どのような商売もそうですが、安く仕入れて価値を付加して高く売るから、商いが成り立ちます。
しかしわれわれの多くは、株においては、高値でつかんで安く処分していることが目立ちます。
株式のテキストは数多くあり投資家の皆さんも知識は豊富ですが、悲しいかな人間につきまとう欲がじゃまをして、せっかくの知識が活かされていないのです。
相場格言はこうした欲に打ち勝つための手がかりとなるものです。

20秒に1回APIから取得した情報の中で仮想通貨取引所が見せたくない数値を推測しなくちゃいけない。そして、振幅しやすく、たくさんのデータを集計加工して黄金比に収束しやすい数値は何になるだろう。

フィボナッチリトレースメントでは、フィボナッチ比率に基づいた38.2%、61.8%と補足的に50%の水準がよく用いられます。
強いトレンドの場合は、38.2%前後の戻りにとどまり、弱いトレンドの場合は、半値戻し50.0%前後又は61.8%前後まで戻ります。それ以上戻った場合には、このトレンドの起点となったポイントまで全て戻るという考え方が一般的です。

今回の記事はここまで。次回は、ティッカーの情報を分析するためには、20秒×60分×24時間合計4320データが必要だ。そのためには、データベース化する方法に挑戦する。

目次

次の記事

前の記事

この記事が気に入ったらサポートをしてみませんか?