WordPress.com で次のようなサイトをデザイン
始めてみよう

【Pythonコード紹介】【実体験】OpenSeaでNFTを販売して実感したこと

はじめに

こちらの記事は、以下の記事に関連するPythonのコードの紹介になります。もし、本編の記事を読んでいない場合には、まずそちらをご覧ください…

はじめに

こちらの記事は、以下の記事に関連するPythonのコードの紹介になります。もし、本編の記事を読んでいない場合には、まずそちらをご覧ください。また、本編は仮想通貨とは全く関係のない内容になっております。

実際のコード

では、ざっとコードを紹介します。 Scikit-imageというライブラリが優秀ですね。これによってinput_pathに保存されている写真をモザイクアートに変換することができます。

import glob

from skimage import color
from skimage import io
from skimage import segmentation

input_path = "加工前の写真のフォルダ"
output_path = "加工後の写真の保存フォルダ"

files = glob.glob(input_path +"*")   # 加工する写真のパスを取得

for file in files:
    file_name = file[-10:-5]  #写真の名前を取得
    
    # モザイク化
    img = io.imread(file)
    label = segmentation.slic(img, compactness=30)

    # 保存
    out = color.label2rgb(label, img, kind='avg')
    io.imsave(output_path + file_name + "_re.png", out)

こうして出来上がった作品が以下の通りになります。いや〜プログラミングって便利ですね。最近は加工アプリも出ているのでわざわざプログラムを書かなくても簡単に加工ができますしね。

おわりに

以上、簡単ですがPythonでのコードを紹介しました。需要があるかは分かりませんが、今後はたまにプログラミングについても更新していきたいです。

OpenSeaで販売することも、自分で体験できてよかったと思っています。本腰を入れてNFTを売り出していくつもりはないですが、せっかくなのでモザイクアートのアカウントは残すつもりですし、気が向いたら風景画を足していこうかなと思っています。もし、CryptoMosaicを入手してみたいという方がいらっしゃいましたら差し上げます(もちろん購入いただいても大丈夫です)のでTwitterでご連絡ください。

【実体験】OpenSeaでNFTを販売して実感したこと

はじめに 現在、NFTのブームがきていますね。 私もこの流れを受けて、試しに短期的にNFTの販売を実施しました…

目次

はじめに

現在、NFT(非代替性トークン)のブームがきていますね。インフルエンサーのイケハヤさんが中心となって、ムーブメントを起こしており、イケハヤさんがプロデュースするCryptoNinjaをEXILEの関口メンディーさんが購入したことを受けて、さらにNFTの人気が上昇しそうな予感です。

CryptoNinjaの購入を喜ぶ関口メンディーさんのTwitter 2021/09/30

私もこの流れを受けて、自分が気に入ったNFT作品を購入したりしているのですが、せっかくなので試しに短期的にNFTの販売を実施しました。なお、販売したと言いましたが売れていません笑。正確には売ろうとしてみただけになります。今回はそれを受けて感じたことをお伝えしようと思います。

なお、今回はOpenSeaにてNFTの販売を実施しました。OpenSeaとは、Ethereum(イーサリアム)・Polygon(ポリゴン)上のNFTを作成・販売・購入できるプラットフォームで、現在NFTマーケットのシェアで圧倒的なNo.1を誇ります。

OpenSeaでのNFTの販売

では、実際にOpenSeaでNFTを販売するために実施したことを紹介します。 

  1. コンセプト決定
  2. 各種アカウント作成・OpenSeaでコレクション作成
  3. NFTの作成(ミント)
  4. Twitter上で宣伝

1. コンセプト決定

当然ですがNFTを売る上では作品がないと売れません。また、私自身は美術のスキルがないため、今回は写真をPythonで加工して作品を作ることにしました。コンセプトとしてはズバリ『モザイクアート』。以下のように写真をモザイク状に仕上げる事で作品を作成しました。

なお、こちらは既存のライブラリを利用して作っているだけですが、ご参考までにそちらのコードについては以下の記事で紹介いたします。

また、現状風景画などのアート作品よりも、Twitterなどでアイコンにできる人物画の方が需要があるだろうとの判断から人物画を作成しています。個人的には風景画の方が好きなのですが。。なお、一応OpenSea上で「モザイク」などの単語を調べて、似た作品が出ていないことを確認しました。

また、他の作品との差別化を考えた時に、絵のレベルではもちろん太刀打ちできませんので、作品にその人物や舞台となった場所に関するショートストーリーを添えて、購入者にしか見えないように設定にすることとしました。なお、もちろんプライバシーの観点から架空の設定を織り交ぜています。

以上、マーケット分析もそこそこにOpenSeaに飛び込みました。

2. 各種アカウント作成・OpenSeaでコレクションを作成

次にOpenSea・Twitterのアカウントを作成しました。アカウント名・TwitterIDなどは後で修正もできますので、ひとまず公式に従って作成すれば問題ないかと思います。なお、Instagramについて作成することも考えましたが、InstagramはTwitterと異なりリツイート機能がない(=短期的に作品の認知度を向上させるのが難しい)と判断し今回はパスしました。

また、OpenSeaのコレクションを作成しました。コレクションとは言うなればNFT作品のブランド名になります。有名なイケハヤさんを例に使わせていただくと、アカウント名は「ikehaya_JP」、コレクション名は「CryptoNinja NFT」となります。

なおコレクションを作るときは、「Create」ではなくアカウントの画像にカーソルを合わせると下に表示される「My Collections」を選択し、そこから「Create a collection」を選択しましょう。(下の画像の赤で囲んだ場所です)

また、コレクションを作成するときに、以下のようにロイヤリティ(二次流通時のクリエイター報酬)・ブロックチェーンの選択(Ethereum・Polygon)といった選択があります。今回は、ロイヤリティ7.5%、ブロックチェーンはPolygonに設定しました。

また、OpenSeaとTwitterのアカウントをそれっぽい感じに仕上げました。アカウントを作成するときは、OpenSea上で人気のあるコレクションの説明やTwitterを参考にしました。また、今回は海外にも発信できるようにOpenSeaは英語、Twitterの一言は英語、ツイートは英語と日本語の併用としました。OpenSeaのコレクションはこちらです。

OpenSeaのコレクション

3. NFTの作成(ミント)

次にOpenSeaでNFTをミントしました。ちなみに、この作業も無料で実施する事ができます。(Ethereumを選択した時は確認しておりません)

なお、一度ミントした作品はブロックチェーン上に記録されるため、プロパティを修正することはできません。注意して作成するようにしましょう。ちなみに今回は、「Unlockable Content」を選択し、購入者だけが確認する事ができる情報を追加しました

そうして作成したNFTが以下になります。ご参考までですが、こちらから詳しいプロパティとかを確認することができます。

4. TWitter上での宣伝

最後にTwitterで宣伝をしました。まず、インフルエンサーなどNFT関係のアカウント、NFTのエアドロップ(無料配布)をしているNFTアーティストの方のツイートをリツイートしているアカウントをフォローしました。そしてNFTのエアドロップを実施することをツイートで謳いながら、フォロワーを増加させました。もちろん、こちらも他のNFTアーティストさんや海外のエアドロップ関係のツイートを参考にしながら実行しました。

そして、エアドロップの実施しますというツイートをしたあたりで、この実験を終了しました。せっかく30人程度の方にフォローしていただいたのに申し訳ないです。。

販売して感じたこと

結論から言うと、OpenSeaでNFTを売り出すことは簡単です。ただ、売り出した商品が売れるかどうかはやはり別問題だなと感じました

恐らく、エアードロップをTwitterで呼びかければフォロワーをある程度増やすことは可能だろうと感じました。しかし、無料なら欲しいけどお金を払いたいとは思わないという域を出ないだろうなと思いました

また、投資目的で購入する者が多い中で、いかに自分の作品の希少性を強調したり、コミュニティの形成により市場価値を高めるかが鍵になると考えますが、そうしたプロデュースを片手間で実施するのは(現在の私には)不可能だと感じました

こうして振り返ると、イケハヤさんが9月29日にVoicyで発信していた内容がおっしゃる通りだなぁと実感いたしました。さすが日本を牽引するNFTプロデューサーです、、!

おわりに

売れるかどうかはともかく、自分の作品を気軽に売れるというのは楽しいですね!こうして自分で体験できてよかったと思っています。本腰を入れてNFTを売り出していくつもりはないですが、せっかくなのでモザイクアートのアカウントは残すつもりですし、気が向いたら風景画を足していこうかなと思っています。もし、CryptoMosaicを入手してみたいという方がいらっしゃいましたら差し上げます(もちろん購入いただいても大丈夫です)のでTwitterでご連絡ください。

【計算式紹介】【考察】トークンをステークする判断基準について(インパーマネントロスの観点から考察)

はじめに こちらの記事は、以下の記事に関連する計算式の紹介になります。もし、本編の記事を読んでいない場合には、まずそちらをご覧ください。 回収日数の計算式 LPトークンを2Sステークし、LPトークンの…

はじめに

こちらの記事は、以下の記事に関連する計算式の紹介になります。もし、本編の記事を読んでいない場合には、まずそちらをご覧ください。

回収日数の計算式

LPトークンを2Sステークし、LPトークンのペアのうち、片方の価値がa倍(a < 1)になった場合の、M日後の損益を考えます。なおLPトークンのペアのうち、片方はステーブルコインであり価格変動がないとします。

2S : 元本
k : LPトークンのステークによる1日当たりの利益率

まず、M日後の元本の増減は、以下のようになります。※こちらのサイトを参考にしています。

また、M日後のLPトークンをステークすることで得られる利益は、以下のようになります。

なお、LPトークンをステークして得られる利益は、「ステークしているLPトークンの時価 × 利益率」であり、M日後までの価格の推移によって変化するため、ここではステークと同時に価格がa倍になり、その後ずっと価格変動がないと仮定しています。(価格がa倍以上減少しないと仮定した時に得られる最小の利益を計算しています)

よって、M日後の資産の増減は、以下のようになります。

増減が0となるのは、以下の場合になります。

以上が、回収日数の求め方になります。

なお、トークン単体をステークする場合の考え方についても、上記のLPトークンの場合とほぼ同じになりますので割愛いたします。

この考察の欠点(本編記事の再掲)

注意していただきたいのが、こちらで紹介した考察は理論上の話であり、実際に運用する上では必ずしも成立するとは限りません。また、逆にこれより短い期間で元本が回収できる場合も少なからず起こります

別ページに求め方を掲載していますので、そちらを見てもらうと分かるかと思いますが、以下のような欠点があります。

  • 1日当たりの利益率を一定として計算している
  • トークンの価格がステークと同時に下落したと想定している(利益が少ない想定で試算している)

2つ目の内容について、利益が少ないケースを想定した方がよいと考えたため、そのようにしています。そのため、価格がなだらかに下落した場合には、この式で求まる日数よりも短い日数で元本を回収できます。逆に、価格が一時的に想定よりも下落し、そこから想定していた減少率まで価格が上昇した場合、この式で求まる日数よりも元本の回収に日数がかかる可能性があります

おわりに

この記事は、運用利益を高めることを考えたときの参考になればという考えから考察したものになります。そもそも論として、そのような価格変動が大きいと考えられるものに投資しないというのが正しいのかもしれません。ただ、外的要因(現在の中国恒大の債務不履行問題や各国の仮想通貨規制の動向など)により価格が変動することはありますし、言ってしまえば仮想通貨全般が価格変動が大きい分野ですので、目安として試算することは大事だと思います。

もし計算式が間違っていたり、よりよい考え方をお持ちの方がいらっしゃいましたら、是非ともコメントやTwitterなどでご意見を伺わせていただければと思います。

【考察】トークンをステークする判断基準について(インパーマネントロスの観点から考察)

はじめに みなさん、PancakeSwap(パンケーキスワップ)など分散型取引所で、トークンをファーム・プールにステークする時に、インパーマネントロス(変動損失)を考慮することがあるかと思います。 かく言う私も、「このLPトークンのペアだとAPRが高い!でも新興プロジェクトのトークンだから値下がりで損するかもしれないからどうしよう。」と考えることがあります。 そこで…

更新:2022/02/11

はじめに

こんにちは、薬学生です。

みなさん、PancakeSwap(パンケーキスワップ)など分散型取引所で、トークンをファーム・プールにステークする時に、インパーマネントロス(変動損失)を考慮することがあるかと思います。

かく言う私も、「このLPトークンのペアだとAPRが高い!でも新興プロジェクトのトークンだから値下がりで損するかもしれないからどうしよう。」と考えることがあります。

そこで、「もしトークンの価値が◆%減少したとしても、APRが⚫︎%だから、▲日でインパーマネントロスと相殺できる」といった計算の仕方について考えましたので、備忘録的にこちらでご紹介いたします。

インパーマネントロスの詳しい計算方法はこちらのサイトを参考にさせていただきました。なお、途中式が一部間違っていましたのでご注意ください(最終的な結果は合っています)。また、インパーマネントロスについてはたくさん解説記事が出ており、自動計算サイトなどもありますので、それらを活用すると良いと思います。

考察結果

結論から伝えますと、価格がa倍に減少したとしても、以下の式で求められる日数で、収支がトントンになると考えました

LPトークンをファームする場合

LPトークンのペアのうち片方はステーブルコインであり、価格変動がない想定です。

a : トークンの価格変化率 (例:半減ならa = 0.5、5%減ならa = 0.95)
k : LPトークンのファームによる1日当たりの利益率

トークン単体をプールする場合

LPトークンの式と似ていますが、LPトークンよりも価格変動による影響を受けやすくなっています

a : トークンの価格変化率 (例:半減ならa = 0.5)
k : トークンのプールによる1日当たりの利益率

これらの式の求め方につきましては、以下のページに掲載しましたのでそちらをご参照ください。

これらの式に基づいて、ためにし以下の2条件で計算してみたところ、BeefyでLPトークンをステークする場合は21日PearZap(Polygon)でトークン単体をステークする場合は125日で元本を回収できるとの結果になりました(2021年9月25日時点)。

LPトークンをステークする場合に比べて、トークン単体をステークする場合の方が元本の回収にかかる日数が6倍ほどになっていますね。もちろん、そもそものAPY(あるいはAPR)に差があることも一つの要因ですが、トークン単体でステークする方が、価格変動に大きく影響されるので、実際に運用する時には注意が必要です。

プロジェクト名BeefyPearZap(Polygon)
トークンPEAR-USDC LPPEAR(Auto)
APY/3652%0.8%
PEARの価格変動50%50%
元本の回収日数21日125日

※なお、こちらで紹介しているPearZapは2021年末でサービスを終了しております。

この考察の欠点

注意していただきたいのが、こちらで紹介した考察は理論上の話であり、実際に運用する上では必ずしも成立するとは限りません。また、逆にこれより短い期間で元本が回収できる場合も少なからず起こります

別ページに求め方を掲載していますので、そちらを見てもらうと分かるかと思いますが、以下のような欠点があります。

  • 1日当たりの利益率を一定として計算している
  • トークンの価格がステークと同時に下落したと想定している(利益が少ない想定で試算している)

2つ目の内容について、利益が少ないケースを想定した方がよいと考えたため、そのようにしています。そのため、価格がなだらかに下落した場合には、この式で求まる日数よりも短い日数で元本を回収できます。逆に、価格が一時的に想定よりも下落し、そこから想定していた減少率まで価格が上昇した場合、この式で求まる日数よりも元本の回収に日数がかかる可能性があります

おわりに

この記事は、運用利益を高めることを考えたときの参考になればという考えから考察したものになります。そもそも論として、そのような価格変動が大きいと考えられるものに投資しないというのが正しいのかもしれません。ただ、外的要因(現在の中国恒大の債務不履行問題や各国の仮想通貨規制の動向など)により価格が変動することはありますし、言ってしまえば仮想通貨全般が価格変動が大きい分野ですので、目安として試算することは大事だと思います。

もし計算式が間違っていたり、よりよい考え方をお持ちの方がいらっしゃいましたら、是非ともコメントやTwitterなどでご意見を伺わせていただければと思います。

【番外編】むしろ損するPancakeSwapのHarvestの頻度について

PancakeSwapとは みなさん、PancakeSwapをご存知でしょうか。こちらは、バイナンススマートチェーン(BSC)上で動いているDEXの1つになります。 PancakeSwapに限らず、DEXではファームにステーク(仮想通貨の流動性を提供)することによって、その見返りとしてトークンをもらうことができます。もらえるトークンを…

更新:2022/02/11

はじめに

こんにちは、薬学生です。

みなさん、PancakeSwapをご存知でしょうか。こちらは、バイナンススマートチェーン(BSC)上で動いているDEXの1つになります。

PancakeSwapに限らず、DEXではファームにステーク(仮想通貨の流動性を提供)することによって、その見返りとしてトークンをもらうことができます。もらえるトークンを専用のプール(トークン単体をDEXに預ける)することによって、複利を得ることが可能であるため、ある程度トークンが貯まったら、Harvest(ハーベスト・収穫)を選択してトークンを受け取り、そのトークンをプールに(あるいは再度LPトークンとしてファームに)ステークしているかと思います。

先日、Harvestの最も効率のよい頻度について考察しました。そちらの記事は以下になりますので興味のある方はそちらをご覧ください。

上記の最適頻度を考察する中で、これよりも早い頻度で収穫を繰り返すと損をするという収穫頻度の限界を参考までに算出していました。今回はその「損をしない収穫頻度の上限」についてご紹介します。

損をしないHarvestの頻度の上限

結論から伝えますと、以下の式で求められる頻度より短期間でHarvestを繰り返すと損をすると考えました。

頻度の上限 = √2d/Ak

d : 1回当たりのガス代(取引手数料)
A : ファームによる1日当たりの利益
k : プールによる1日当たりの利益率

ちなみに以下の頻度が前の記事で紹介した最適頻度になります。比較してみると、「損をしない収穫頻度の上限の約1.4倍=最適頻度」となっていますね。

最適頻度 = 2×√d/Ak

この式の求め方につきましては、以下の通りになります。

Harvest頻度の上限の求め方

x日ごとに収穫するとし、収穫・プールにかかる手数料と、その期間プールすることで得られる利益の大小を比較します。

A : ファームによる1日当たりの利益
k : プールによる1日当たりの利益率
d : 1回当たりのガス代(取引手数料)

収穫しないで放置している状態より損をしないためには、

プールによって得られる利益 > 支出(ガス代)

となればよいです。利益・支出はそれぞれ、以下の通りとなります。

以上から、以下の通り求めることができます。

考察

こちらの式に基づいて、ためにし以下の2条件で計算してみたところ、PancakeSwapの頻度の上限は約44日PearZapの上限は約3時間となりました(2021年9月14日時点)。この値を1.4倍すると、以前紹介した最適頻度になります。

※なおこちらで紹介しておりますPearZapは2021年末でサービスを終了しています

PancakeSwap
ファーム:CAKE-BNB
プール:CAKE earn for CAKE (manual)
ファームのステーク額:500ドル

PearZap (Polygon)
ファーム:PEAR-USDC
プール:PEAR
ファームのステーク額:500ドル

基本的には、先日の記事で紹介した最適頻度を目安に収穫を行えばよいと思います。もしもそれより早い頻度で収穫したいと考えているのであれば、この記事で紹介した頻度以上で収穫を行わないように注意するとよいと思います。

また、以前もお伝えしましたが、この記事で紹介している頻度は、理論上のものであり、実際のDEXの条件を完全に再現して求めていません。以下の点が、この計算式に欠けている点になります。

  • 1日当たりの利益(率)を一定として計算している
  • 1回当たりのガス代を一定として計算している
  • トークンの価格変動による影響を考慮していない

なお、この記事ではこれ以上の頻度で収穫をしたら損をすると紹介しましたが、厳密に言うと、この頻度でも長期間運用を続ければ収支はプラスになります。それは、プールによって得られる利益は、プールした日からその次にプールする日までではなく、運用している間増え続けるからです。言うのであれば、銀行預金もずっと続けていれば、いつかは何億円にでもなる可能性があるということと同じような理論です

ですので、利益の最大化・効率化を図るのであれば、今回紹介した頻度以上で収穫を行わない方がよいかと思います。(もちろん最終的な判断は投資家各自となります)

以上、2回に分けましてHarvestの最適化について考察してきました。私自身、「どれくらいの頻度で収穫したらよいのだろう?」「有名なこの人は⚫︎日で収穫って言っているけど、別の人は◆日って言っていてどっちがよいのだろう?」と疑問に思っていましたので、そこそこ時間をかけて考えてみました。

私自身、金融数学の専門という訳では全くありませんので、計算式が間違っていたり、よりよい考え方があるかもしれません。そうした知見をお持ちの方がいらっしゃいましたら、是非ともコメントやTwitterなどでご意見を伺わせていただければと思います

【計算式紹介】【考察】PancakeSwapのHarvestの頻度について

はじめに こちらの記事は、以下の記事に関連する計算式の紹介になります。もし、本編の記事を読んでいない場合には、まずそちらをご覧ください。 最適頻度の計算式 ある日からステークを開始してx日ごとに収穫するとし、M日後の利益を考えます…

はじめに

こちらの記事は、以下の記事に関連する計算式の紹介になります。もし、本編の記事を読んでいない場合には、まずそちらをご覧ください。

最適頻度の計算式

ある日からステークを開始してx日ごとに収穫するとし、M日後の利益を考えます。
なお便宜上、Mはxで割り切れるとして計算します。

A : ファームによる1日当たりの利益
k : プールによる1日当たりの利益率
d : 1回当たりのガス代(取引手数料)

補足:収穫・ステークの2ステップが必要なため、ガス代に2が掛けてあります

{ }の中を考えると、

ここで、相加相乗平均の関係より、

であるため、

となります。このうち、等号が成立するのは、

の時となります。以上が、最適頻度の求め方になります。

最適頻度の欠点(本編記事の再掲)

注意していただきたいのが、こちらで紹介した最適頻度は理論上の話であり、実際に運用する上では必ずしも最適とは限りません

別ページに求め方を掲載していますので、そちらを見てもらうと分かるかと思いますが、ざっと思いつくだけで以下のような欠点があります。

  • プールにステークしたトークンを収穫して再度ステークすることを考慮していない
  • 1日当たりの利益(率)を一定として計算している
  • 1回当たりのガス代を一定として計算している
  • トークンの価格変動による影響を考慮していない

1つ目の再ステークに関しては、頑張れば式に入れて計算を行うことができると思いますが、2つ目以降の内容は、予想ができないため、どうしても理論の域を出ることはないと思います。

この記事は、運用利益を高めることを考えたときの参考になればという考えから考察したものになります。私自身、金融数学の専門という訳では全くありませんので、計算式が間違っていたり、よりよい考え方があるかもしれません。そうした知見をお持ちの方がいらっしゃいましたら、是非ともコメントやTwitterなどでご意見を伺わせていただければと思います。

【考察】PancakeSwapのHarvest(収穫)の頻度について

PancakeSwap(パンケーキスワップ)とは みなさん、PancakeSwapをご存知でしょうか。こちらは、バイナンススマートチェーン(BSC)上で動いているDEXの1つになります。 PancakeSwapに限らず、DEXではファームにステーク(仮想通貨の流動性を提供)することによって…

更新:2022/02/11

はじめに

こんにちは、薬学生です。

みなさん、PancakeSwapをご存知でしょうか。こちらは、バイナンススマートチェーン(BSC)上で動いているDEXの1つになります。

PancakeSwapに限らず、DEXではファームにステーク(仮想通貨の流動性を提供)することによって、その見返りとしてトークンをもらうことができます。もらえるトークンを専用のプール(トークン単体をDEXに預ける)することによって、複利を得ることが可能であるため、ある程度トークンが貯まったら、Harvest(ハーベスト・収穫)を選択してトークンを受け取り、そのトークンをプールに(あるいは再度LPトークンとしてファームに)ステークしているかと思います。

今回は、このHarvestに関して最も効率のよい頻度を考察しました

もちろん、この話はPancakeSwapに限らず、他のDEXでも同様です。ここでは、知名度の高いPancakeSwapのケースの例を交えて解説したいと思います。

Harvestの最適頻度

結論から伝えますと、以下の式で求められる頻度でHarvestを行うのがよいと考えました。

最適頻度 = 2×√d/Ak

d : 1回当たりのガス代(取引手数料)
A : ファームによる1日当たりの利益
k : プールによる1日当たりの利益率

この式の求め方につきましては、以下のページに掲載しましたのでそちらをご参照ください。

こちらの式に基づいて、ためにし以下の条件で計算してみたところ、PancakeSwapの最適頻度は約62日となりました(2021年9月14日時点)。このように、どのDEXでどの銘柄の組合せを選択するかによって、最適頻度は大きく変わってきますので、実際に運用する時には注意が必要です。

PancakeSwap
ファーム:CAKE-BNB
プール:CAKE earn for CAKE (manual)
ファームのステーク額:500ドル

最適頻度の欠点

注意していただきたいのが、こちらで紹介した最適頻度は理論上の話であり、実際に運用する上では必ずしも最適とは限りません

別ページに求め方を掲載していますので、そちらを見てもらうと分かるかと思いますが、ざっと思いつくだけで以下のような欠点があります。

  • プールにステークしたトークンを収穫して再度ステークすることを考慮していない
  • 1日当たりの利益(率)を一定として計算している
  • 1回当たりのガス代を一定として計算している
  • トークンの価格変動による影響を考慮していない

1つ目の再ステークに関しては、頑張れば式に入れて計算を行うことができると思いますが、2つ目以降の内容は、予想ができないため、どうしても理論の域を出ることはないと思います。

この記事は、運用利益を高めることを考えたときの参考になればという考えから考察したものになります。私自身、金融数学の専門という訳では全くありませんので、計算式が間違っていたり、よりよい考え方があるかもしれません。そうした知見をお持ちの方がいらっしゃいましたら、是非ともコメントやTwitterなどでご意見を伺わせていただければと思います。

この記事の次のステップ

こちらの記事を踏まえて、ヒヨコロさんより深掘りした記事を書いていただきました!

ヒヨコロさんの記事では、実際に最適なコンパウンドの頻度を求めるための計算シートを公開したりしており、こちらの記事に興味を持たれた方は必読の内容となっておりますので、ぜひそちらもチェックしてみてください。

NFTの市場の将来性について思うこと

NFTとは、非代替性トークン(Non-Fungible Token)のことであり、ブロックチェーンのシステム上にあるデータのことを指します。これは、ビットコインなどと同じで、複製することができません。そのため、存在が唯一無二であることが担保されます…

NFTとは

NFTとは、非代替性トークン(Non-Fungible Token)のことであり、ブロックチェーンのシステム上にあるデータのことを指します。
これは、ビットコインなどと同じで、複製することができません。
そのため、存在が唯一無二であることが担保されます。

データであれば、画像・動画・ゲームのキャラクター・音楽といったすべてのものがNFTになりえます。

また、このNFTは、作ろうと思えば誰でも作ることができます。
実際に作成してみたい方は、ネットで検索すると作り方が見つかるかと思います。
私自身は、BINANCEのNFTのページでNFTが作れるとのポップを見かけました。
その他、個人的にnafterというNFTの販売・購入ができるサイトが近日中に公開されるらしく、そのロゴやページの雰囲気から、今後人気を集める可能性があるのではないかと期待しています。

なぜNFTの価値が上がっているのか

ではなぜこのNFTの価値が上がっているのでしょうか。

その理由の1つとして、投資目的で購入されることが多いと考えます。
みなさんニュースで見かけたかも知れませんが、Twitter社CEOのJack Dorsey氏の最初のツイートに2.9百万ドル(日本円で3億円)超の値段がついたことがありました。

https://www.cnbc.com/2021/03/22/jack-dorsey-sells-his-first-tweet-ever-as-an-nft-for-over-2point9-million.html

このように、NFTに非常に高値がつくことがあるため、投資目的で購入する方が一定数いると考えます。

NFTはこれからも価値が上がっていくのか

NFTの価値は上がっていくのでしょうか。
気になって調べたところ、NFTの市場規模は今年2月以降盛り上がりを見せはじめ、8月に一気に急上昇していることがわかります。

NFTの市場規模の推移(2021年8月28日現在)https://nonfungible.com/market/history

しかし、市場規模は8月6日に最高値をつけて以降、減少トレンドに移行しています。もちろん、NFTの市場はできたばかりであるため、この後も減少するとは限りませんし、私自身もまだ一定の規模で市場は継続するのではないかと考えています。

今後NFTが拡大するかを考える時に、私は以下の2点が鍵を握ってくるかと思います。

  • ユーザー数を増やせるか
  • NFTに価値を見出すか

1つ目の「ユーザー数を増やせるか」についてですが、現在NFTの売買を行っているアクティブユーザー数は3万人程度です。

NFTのアクティブユーザー数(2021年8月28日現在)https://nonfungible.com/market/history

このユーザー数の少なさの理由としては、仮想通貨の参入障壁が大きいという点が挙げられます。
例えば日本で始めようとした場合、bitFlyerコインチェックなどで仮想通貨を購入し、その仮想通貨をBINANCEなどに送金して、NFTを購入する必要があります。
もちろんNFTの買い方を説明するサイトなども登場していますが、仮想通貨=危ないといった感覚を持っている方もいるのが現状かと思います。
今後、仮想通貨が一般的に広がれば、そうした障壁はなくなっていくかと思いますが、日本でそこまで仮想通貨が普及するのには、まだまだ時間がかかると考えます。

2つ目の「NFTに価値を見出すか」について、私自身が疑問に感じていることになります。
「NFTを所有していなくても、パソコン・スマホ上でNFTの画像や音楽を見たり聴いたりすればよいのでは?」「わざわざお金を出して買う価値があるものなのか?」と感じてしまっています。
もちろん投資という観点から言えば、NFT市場が盛り上がりを見せ、価格が上昇する間は購入することで金銭的メリットがあるため、買う価値があると考えます。
ただ、純粋にNFTが欲しいと思うユーザーが一定数いないと、市場が拡大することはないと思います。

こうした中、Louis Vuittonが創業者の生誕200年記念として公表したLOUIS THE GAMEにおいて、NFTアートが登場するとのことで注目を集めました。こうした既存の人気ブランド・著名人×NFTという組み合わせは、収集欲を刺激して、盛り上がりを見せる可能性が高いと思います。
なお、以下にLOUIS THE GAMEのHPで掲載されていた写真を載せていますが、ブランドのイメージを体現した、洗練されたグラフィックに目を奪われます。
(恥ずかしながらまだプレイしていなかったので、この記事を書きながらダウンロードしましたので後ほどプレイしてみます)

まだまだ始まったばかりのNFT、その価値を私自身正確に理解できていないのだと思います。
今後、NFTや仮想通貨が社会にどれだけ浸透するかを見極めていきたいと思います。

少しGameFi(ブロックチェーンのシステム上で動くゲーム。ゲーム内のコインなどがトークンであり、ゲームをプレイしてお金を稼げる。代表例はAxie Infinity)の話になってしまいましたが、こちらの将来性についても自分なりに考えるところがあるため、今度そちらも記事にしたいと思います。

まとめ

以上、まとめると以下の通りです。

  • NFTとはブロックチェーン上にあるデータのことで、唯一無二の存在
  • NFTは今年盛り上がりを見せているものの、一部のユーザーにしか普及していない
  • 今後もNFT市場が拡大するかは、『仮想通貨の普及具合』・『NFTを所有したいという価値観の醸成』が大きく関わっている

jupyter notebookでkerasが動作しなくなった時の対処方法

症状について TensorFlowのチュートリアルとして公式サイトで紹介されている、「mnist」という手書きの数字を認識させるコードを見様見真似でjupyter notebookで動作させていました…

症状について

TensorFlowのチュートリアルとして公式サイトで紹介されている、「mnist」という手書きの数字を認識させるコードを見様見真似でjupyter notebookで動作させていました。
コードの全文は以下。

import tensorflow as tf
mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)

これを上から順に動かしていたところ、以下のモデルを用いて学習させるところでつまずきました。

model.fit(x_train, y_train, epochs=5)

実際にjupyter notebook上では、以下のエラーが表示されました。

Kernel Restarting
The kernel appears to have died. It will restart automatically.

これを読むと、kernelが何らかの原因により停止してしまったということは理解できますが、原因がなんなのか全く分かりません。

そこで、ターミナルを確認したところ、以下の通りエラーが出ていました。

OMP: Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. 
That is dangerous, since it can degrade performance or cause incorrect results.
The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. 
As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. 
For more information, please see http://www.intel.com/software/products/support/.

解決策

OMPについての知識が全くないのですが、ターミナルのエラーに記載があるように、応急措置として、環境変数を設定することによって対処可能とあります。

実際に、jupyter notebook上で、以下のコードを読み込ませた後に、先ほどエラーが出たコードを動作させたところ、問題なく動作しました。

import os

os.environ['KMP_DUPLICATE_LIB_OK']='True'

ひとまずこれで解決しましたが、ターミナル上のエラーによると、この措置だとプログラムがクラッシュしたり、誤った結果を返す場合があるとのことです。

抜本的な解決策については、今後探していくこととしたいと思います。ひとまずこれにて。
また、正しい解決方法をご存知の方がおりましたらご連絡いただけると幸いです。

(備忘録:参考にしたサイト)
https://github.com/dmlc/xgboost/issues/1715

macOS CatalinaをインストールしてAnacondaが起動しなくなった時の対処方法

はじめに試したこと 2019年10月に、Appleから新たにmacOS Catalinaが公開されました。私は最近まで、特段不便もなかったのでアップデートしていなかったのですが、ふとXcodeを使いたくなり、ダウンロードしようとしたところ、OSが古くてダウンロードできない…

はじめに試したこと

2019年10月に、Appleから新たにmacOS Catalinaが公開されました。
私は最近まで、特段不便もなかったのでアップデートしていなかったのですが、ふとXcodeを使いたくなり、ダウンロードしようとしたところ、OSが古くてダウンロードできないことが判明したためmacOS Catalinaにアップデートすることにしました。

Catalinaへのアップデートはスムーズに終わったのですが、さてjupyter notebookを起動しようかと思ったら、起動できず、、
調べたところ、どうやらAnacondaのディレクトリの位置が更新によって変わってしまっていたことが原因のようでした。

そこで、以下のサイトを見ながら、zshで操作をしました

macOS Catalina にしたら、Anaconda 使えなくなった場合の対処法

、、、が、なぜかうまく起動できず。
zshの場合はPATHを設定しなければならないという記事も見かけていろいろと試行錯誤するも以下の通りのエラーが出てしまいました。。

zsh: command not found: conda

解決策

最終的に、Anacondaの公式が出している以下の記事にたどり着きました。

How to Restore Anaconda after Update to MacOS Catalina

この記事によると、私が試した方法は部分的な解決にしかならず、PATHを設定するのは問題があるとのことでした。
こちらの記事で紹介されていた解決方法として、以下の2つがあります。
  ・再インストール(Reinstallation)
  ・修復(Repair)

再インストール(Reinstallation)

これは実にシンプルです。
Anacondaのサイトから改めてインストールを行いました。
特段こだわりがなければこれが一番良いと思われます。

Anacondaのダウンロード(Anaconda Distribution)

修復(Repair)

こちらについては私は実施していないのでコードを紹介するのみになります。
詳しくは先ほど示したサイトを参考にしてください。

1. At a terminal, download the file and make it executable:
1. ターミナルでファイルをダウンロードし実行する

curl -L https://repo.anaconda.com/pkgs/misc/cpr-exec/cpr-0.1.1-osx-64.exe -o cpr && chmod +x cpr

2. Run the CPR tool to fix embedded paths:
2. CPRを用いてパスを修正する

./cpr rehome ~/anaconda3

3. Re-run conda init to fix your conda shell command:
3. conda initを再起動する(zshの場合はbashの代わりにzshと入力)

source ~/anaconda3/bin/activate

conda init bash

以上になります。ご参考になれば幸いです。