API「rtweet」のパッケージを使用して、仮想通貨の価格を秒速で取得して、その結果を可視化しようかと思います。binancerは、データ取得が結構速いので、使い勝手は良さそうです。今後の仮想通貨のBot(ボット)作成に活かしたいと思っています。バイナンスバイナンスというのは、世界最大の仮想通貨取引所です。詳しくは記事後半にて補足しています。APIへのRクライアントとして機能します。環境セットアップのために、binancerを含めて、関連パッケージをインストールします。##binancerのインストールinstall.packages("binancer")##quantmodのインストールinstall.packages("quantmod")#rvestのインストールinstall.packages("rvest")#lubridateのインストールinstall.packages("lubridate")#ggplot2のインストールinstall.packages("ggplot2")#ロードlibrary(binancer)library(quantmod)library(rvest)library(lubridate)library(ggplot2)今回は、ggplot2を使った作図をしています。binance_coins関数やbinance_symbols関数を使います。binance_symbols())])現在(2022年10月現在)、バイナンスでは、930種類のコインを扱っていることがわかります。次に、データが取得できるコインのUSDT価格を表示させてみます。USDTとは、ドルと連動したステーブルコインと言うやつです。基本、アメリカドルと同じ価値となります。NAcoin360.comのテーブル情報から、マーケットキャップなどを取得するcoin360.comは、暗号通貨および暗号交換のライブデータコレクターです。Webスクレイピングを使って、coin360.comのテーブル表示から、マーケットキャップや24時間出来高などを含む、マーケットデータを取得します。BCOINS]これで、仮想通貨の時価総額情報、バイナンスに上場されているコインシンボルなどを取得できました。バイナンスから仮想通貨の価格変動を取得して、プロットするここでは、バイナンスから仮想通貨の価格情報を取得して、それをプロットしてみます。ヤフーから取得するよりも、バイナンスAPIの方がサクッと動くような気がします。ビットコイン(BTCUSDT)の2ヶ月間の各日終値をプロットします。うぅ〜ん、レンジですね。下記がプロット結果です。BNB)の価格を可視化する次に、ビットコイン(BTCUSDT)、イーサリアム(ETHUSDT)、バイナンスコイン(BNBUSDT)の価格の平均値を計算して、プロットしてみます。geom_line()下記がプロット結果です。あら、3者で金額が違い過ぎて、スケールが合いません。ビットコインが高すぎますね。それでは、価格を補正して、プロットをやり直します。geom_line()下記がプロットの結果です。一般的に、ビットコイン以外の暗号通貨の総称として使われます。上昇傾向にあるコインだけ色付けしてみました。上昇傾向は、単純に線形回帰の傾きが正の傾きを持つコインとしています。バイナンスの時価総額20位までのアルトコインで計算します。いちおう、ビットコインも含めています。6)下記が時価総額20位までの結果です。次に、21-40位のアルトコインで計算します。6)下記が21-40位の結果です。次に、41位以降のアルトコインで計算します。6)下記が40位以降の結果です。まとめbainancerを使った、仮想通貨の価格取得と可視化について概説しました。bainancerは実行時間が速く、他のパッケージよりも、使い勝手が良いかもです。2021年4月現在、1日の取引高が3兆円を超える世界最大の暗号資産取引所です。中国外に移し、その後、各国を転々としている状況と言われてます。一時期、日本にも本社機能があったようですが、残念ですね。Capは、ビットコインをはじめとする、数千ものアルトコインの現在および過去のデータに無料で提供しているウェブサイトです。Capから仮想通貨のマーケットキャップ(時価総額)や価格を取得できる、Rパッケージがあるようです。その名も、coinmarketcaprパッケージです。Keyを発行しないといけません。API」の項目から作成できます。Basicプランなら無料で使用できます。Keyが生成できれば、実際に実行していきます。2013-08-04#交換可能な仮想通貨のリストget_crypto_map(symbol="BTC")#仮想通貨交換所のリストget_exchange_map()github.com円換算するための為替の現在価格について先述の通り、USDTは、アメリカドル通貨に類似する価値を持ちます。USDTは日本円のレートに近似できます。近似と言っているのは、USDTとアメリカドルの変動も完全には一致しないためです。ここでは、getFX関数で、為替のデータを取得します。144.5193この変数(Yen)の1ドル144.5193円の為替を使って、仮想通貨を円に換算します。次に、バイナンスから得られるマーケットデータにその為替を掛け算します。以下の内容は、GitHubのbinancerガイドの日本語翻訳です。APIへのRクライアントです。https://github.com/binance/binance-spot-api-docs/blob/master/rest-api.md早速、binancerの使い方を簡単に紹介します。Binanceでサポートされている暗号通貨の最新のUSD価格を取得します。NA特定のシンボルペアのデータを取得します(例:直近のBitcoin/USDTの変化)。3.45739この取得データを、例えば、簡単な折れ線グラフで可視化してみます。geom_line()下記が、出力結果です。次に、ggplot2のパラメータ調整をしてローソク足チャートにして可視化してみます。'#d73027'))下記が、出力結果です。この実行を15分間隔で過去24時間の複数のペアに拡張します。2)下記が、出力結果です。R言語、データ分析、コマンドライン、プログラミングについての技術資料・自己アップデート・データ解析や解釈の悩み事、あと色々とまとめています。最近は、、Rでのデータ解析を中心にまとめています。南国のビーチパラソルの下で、Rを打ってる日常を求めて・・・あと、もう少しKyobashiで頑張りましょう。ブログの内容は、個人の理解・意見・見解です。ブログ記事内容は予告なく公開後に改変されることがあります。誤りを見つけた場合は、コメント欄などでお知らせいただけると助かります。etc当サイトはリンクフリーです。リンクを貼る際の許可は必要ありません。引用時には、記事のリンクなどを記載いただけると励みになります。(1)はてなブログをはじめよう!skumeさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。