NFTマーケット情報を取ってくるライブラリを書いた

新年度を迎えた見えぬ世間と相変わらず寒いシカゴ。未だに1週間に1回くらい降る雪,桜というものを忘れつつある私。

さて,今回は宣伝記事です。

NFTのポートフォリオ管理ツライ問題

突然だが,NFT持っているだろうか?
ここではクリプトやNFTへの投資の是非を問いたいわけではなくて,そのポートフォリオ管理にまつわる話をしたい。

クリプトに限らず,投資をしている方ならポートフォリオ管理に気を配っている人も少なくないと思う。
日本株は資産の○○%,米国株は○○%……というやつだ。各人が目標とするリスクリワードを保つために,過度なリスクを取らないように定期的なリバランスの指標にされたり,定期積立の調整に使われたりすることが一般的。ちなみに,資産クラスごとの配分のことを「アセットアロケーション」という。

私も多分に漏れずポートフォリオを組んでいる。以前は株・債券・REITなどに並んで「暗号通貨で○○%」だったのが,ちょっとこれは乱暴すぎるなと思って今では「BTCで○○%,ETHで○○%……」というのが目をつけている銘柄数分だけある。
クリプト相場の激しさも相まって手動でのポートフォリオ管理が大変になってしまったので,プログラム化して自動集計するようにしたのが2年前。
クリプトはAPI環境が揃っていて,こういう時にとっても便利。

ところで,最近NFTも少しだけ持つようになった。
NFTの価格とはすなわちトークン単位で表現される(0.1ETHみたいな)のだが,そのトークン自体も当然価格変動する。高リスクゆえにクリプトをわざわざポートフォリオ管理しているのに,保有NFTも管理しないと片手落ちもいいところなのだが,もはやこれはクリプト以上に手動で管理できたものではない。

しかし,クリプト自体と違ってNFTマーケットプレイスのAPIはあまり整備されていない(発行体側のはしっかりしているのだろうが)し,そもそも仮にあったとしても別々のマーケットプレイスごとにAPIを叩き違えるのも億劫だ。

やっぱり統一的に扱えるライブラリが必要だ,ということで作った。

GitHub

NFT market is in your hands. Contribute to ukaznil/nft-marke…

バックエンドのAPIがないので,しょうがなくSeleniumで頑張っている。メンテできる気がしない。
当初は自分用に書いていたものだったが,世の中に使ってくれる人もいるかなぁと思って,せっかくだしとPyPIにも登録してみた。

PyPI

NFT market is in your hands.…

実はGitHubにコードを公開するのもPyPIに登録するのも初めてだったのだが,Qiitaに分かりやすい記事が多くて大変助かった。感謝の意味も込めてここに載せておきたい。

Qiita

(この記事の情報は古いです。最近は pip が myproject.toml を理解できるようになりました。Python…

Qiita

#はじめに最近PyPIデビューを果たしました。そこで同じ用にPyPIデビューを考えている人の為に登録手順を書きます。#P…

GitHub Actionsも相当に便利。随分前にBitbucketのpipelineは使ったことあったなーというのを思い出した。

Qiita

actions で python の実行環境を用意するには、actions/setup-pythonを使用する。あとは、…

PyPIへのデプロイも自動化したいところだけど,それは追々。