yukiyoshisato's blog

とりとめのないめも

PopSQLは最強のSQLクライアントかもしれない

プライベートでBigQueryを使っていまして、標準のSQLエディタはあまりしっくり来なくて、ずっとBigQuery向けのいい感じのSQLクライアントを探していました。

ちなみにmacOS / PostgreSQL向けではPosticoを使っています。他のSQLクライアントはちょっとごちゃごちゃしていてあまり好きではなかったのですが、Posticoはかなりスッキリしていて、欲しい機能は揃っていて使いやすくて良いです。

eggerapps.at

BigQueryのSQLクライアントとして、SuperQueryと言うのがあるのを以前教えていただき、Free Trialで使っていて、当時標準SQLエディタになかった複数タブ対応もあり、良かったのですが、その当時はひと月50ドルぐらいだったかな?と、ちょっと高かったので使うのは二の足を踏んでいました。今みたらもっと高くなってそうですね。。(低価格のプランがなくなったのかな?)

web.superquery.io

最近になってまた時々ググって探していたのですが、そこで偶然見つけたのがPopSQLです。

popsql.com

PopSQLのいいところ

BigQueryを含むDB連携先が豊富!

f:id:yukiyoshisato:20210601195757p:plain

 

複数タブに対応!

f:id:yukiyoshisato:20210601200153p:plain

Beautify SQL

SQLの書き方、色んな流儀あると思いますが、自分的に一番好きなやつです。

f:id:yukiyoshisato:20210601200345p:plain

 

結果表示は右側、下側どちらでも!

f:id:yukiyoshisato:20210601200644p:plain

f:id:yukiyoshisato:20210601200657p:plain

 

目に優しいDark Mode!

f:id:yukiyoshisato:20210601200757p:plain

 

Auto Complete!

f:id:yukiyoshisato:20210601201430p:plain

 

他にも色々と便利機能は整っていそうです。

popsql.com

 

そして何よりFreeで使い続けられる!

2 database connectionsの制限ありますが、プライベートで使う分にはまぁどうにかやりくりできそうです。

popsql.com

 

というわけでまだ使い始めたばかりですが、PopSQLかなり良さそうです。BigQueryもPostgreSQLもイケて、シンプルで必要な機能が揃ってて、フリー。良いSQLクライアントに出会うとそれを使いたいがためにSQLを書きたくなってくるよう気すらしてきます(大げさ)。しばらくはPopSQLをデータ分析のお供にしてみたいと思います。

仮想通貨の投資期間はリスクとリターンにどのような影響をもたらすのか

こちらの本を読みまして、ちょっと興味が沸いたのでやってみましたという話です。

本書の中では、p.433に「株式投資の投資期間と年平均リターンのちらばり方」というチャートが登場します。そこでは投資期間を長くすればするほど、リスクは軽減されるどころか、ほぼ確実にリターンが得られるような書きぶりになっています。そこで、仮想通貨ではどのようになるかというのを試してみました。ただ、仮想通貨ではそれほど長い歴史がないため、月間収益率で試算しています。通貨ペアはBTC/JPYです。

f:id:yukiyoshisato:20200419180214p:plain

ここでは、2018年以降を例にとってプロットしました。2018年は皆さんご存知の通り年初にバブルが弾けて大暴落から始まった期間です。ブームに乗り遅れて恐らくここで高値掴みして泣いた人は多いと思います(私のことです)が、大暴落から始まり今に至るまでで、投資期間別にどのような分布になっているかを示しています。

縦軸は月間収益率(%)で、横軸は投資期間(月)です。また、箱ひげ図の見方ですが、上端は最大値、下端は最小値、箱の上限は75%、下限は25%、横線は中央値です。

シミュレーションですが、2018−01−01より1日ずつずらしながらやっています。つまり、2018-01-01より1ヶ月、2018-01-02より1ヶ月、という形で収益率を計算して集計したものがチャート横軸の1のところに表示されているものです。また、投資期間2ヶ月以上については、それぞれの投資期間の収益率を1ヶ月の月間収益率に引き直した数値を集計しています。

投資期間1ヶ月では、最大60%以上値上がりすることもあれば、60%以上値下がりすることがあることを示しています。一方で投資期間が長くなればなるほど散らばりの度合いは少なくなっていることもわかります。

ここで興味深いのは、6ヶ月までは中央値が一貫してマイナスだったにもかかわらず、12ヶ月のところでは中央値が大きくプラスに転じています。最大値と最小値があると少しみづらいので、箱の部分だけにしてみます。

f:id:yukiyoshisato:20200419180738p:plain

これが意味していることは、仮に大暴落から仮想通貨投資を始めたとしても、現在に至るまでの間、1年保有することを日々続けていればプラスに転じていることを示しています(このような投資の仕方をする人はいないと思いますが)。ご存知の通り仮想通貨はボラティリティがあまりに大きいので、この先どうなるかということについてはなんとも言えませんが、ある程度の期間を保有すればリスク軽減効果だけでなく、リターンも狙えたかもしれないということを示しています。18ヶ月、24ヶ月でまた下降しているのは、2018年からですので、現在に至るまでの間では、やはりとてつもない高値から始まっているので、その影響を引きずっているものと思われます。12ヶ月という時間軸で見ると、大暴落のダメージをその後何回かあった上昇トレンドで取り戻せていることがわかります。

ちなみに、上記のシミュレーションとは投資スタイルは異なりますが、ご参考までに2018−01−01から毎日1,000円をドルコスト平均法に基づいて投資を続けた場合には、投資元本が839,000円に対して838,472円と大暴落の損失はほとんど取り戻せていることがわかります。つまり、あれだけの高値掴みから投資を始めて大暴落を経験していようが、長く投資し続けることは一定のリスク軽減効果があることがわかります。

ただし、将来を保証するものでは一切ありませんので、投資は自己責任でお願いします。

最後に、過去の年別の月間収益率も載せておきます。

f:id:yukiyoshisato:20200419184221p:plain

f:id:yukiyoshisato:20200419184234p:plain

f:id:yukiyoshisato:20200419184247p:plain

f:id:yukiyoshisato:20200419184259p:plain

f:id:yukiyoshisato:20200419184310p:plain

2017年の上昇トレンドはやはり凄まじいものがありますね…。2018年は全体的に下降ムードでしたが、2019年は上昇傾向にありました。2020年は半減期もありますが、どうなるか楽しみですね。

『デザイン思考が世界を変える』はプロダクトマネージャー必読の書

何気なく本屋でパラパラっとめくって読んでみるかと思って読んだのですが、期待を超える良本でした。

プロダクトマネージャーになってからと言うもの、どのようなプロダクトを世に出していけば良いのか考える機会が増えたのですが、この本はそのような人にとても良いヒントを出してくれると思います。

デザイン思考自体は考え方のフレームワークであり、必ずしもプロダクトを生み出すために使うものというよりは、もっと広い意味での課題解決のためのものという感じです。

こちらの本の中でも特に印象に残っているのは以下の2点です。

  • 表面化されたニーズを満たすのではなく、人々が自分でさえ気付いていない内なるニーズを明らかにする事が大切
  • 内なるニーズを明らかにするために必要なことは顧客をよく観察し、洞察を得る

1点目は自動車の育ての親と言われるヘンリー・フォードの話が紹介されており、

顧客に要望を聞いたところで、彼らは早い「馬」をよこせとしか言わないだろう

 まさにそういうことですね。もちろん顧客の要望を拾い上げてプロダクトに反映することはとても重要なアクティビティであると思いますが、パラダイムシフトを起こせるようなプロダクトはそこからは産まれないということですね。

2点目について手前味噌な話で恐縮ですが、私自身も以前SIerで金融機関向けのシステム開発に携わったり、金融機関の業務側で働いていたりしたのですが、その時に感じたことを今でも鮮明に覚えています。「え、なんでこんなこと業務でやってるの・・?要望出せばこんなの一瞬で実装できるのに・・・」みたいなことです。

スティーブ・ジョブズも確かヘンリー・フォードと似たようなことを言っていました。(以下は私の記憶ベース)

顧客からは素晴らしい製品は産まれない。なぜなら彼らは技術が何を可能にするかを知らないからだ

フォードやジョブズに比べて私の例なんて1兆分の1ぐらいのスケールですが、何か通ずるものを感じました。

自分でシステム開発をしていないので当たり前ですが、どういう事が実装可能なのかとか、どういうデータの持ち方してるだろうからこれは簡単に出せるだろうとか想像するのは難しいです。というか想像すらできなかったりします。

実は私が金融機関に勤めていた時に機械学習の勉強をし始めようと思ったきっかけも、この辺の事が気になっていたというのもありました。ベンダーからはソリューションを持ってこられるのですが、それが本当に解決すべき課題なのか?みたいなモヤモヤがありました。でも、そもそも技術で何が実現できるのかを知らなければ、解決可能な課題を捉えることすらできません。

良いプロダクトを作り上げていくには、技術を学ぶだけでも、顕在化している要望だけ拾い上げているだけでもダメで、技術をよく学び、顧客をよく観察して洞察を得る事が必要であるという事をこの本は教えてくれました。

PythonでIPアドレスから地理情報を取得する

ちょっと調べる機会があったのでメモ。

これをやるにはライブラリ色々ありそうなのですが、最新版がPython2にしか対応していないライブラリとかがGoogle検索のトップに出てきたりしてしばらくハマってしまってなんだかなと思いつつ、結局こちらを使いました。

pypi.org

で、こちらはMaxMind社のデータベースを配置して呼び出す形になりますので、MaxMind社でアカウント登録をしてダウンロードします。最新のものは有料ですが、「Download GeoIP2 and GeoIP Legacy Databases」というのがあり、こちらを使いました。

www.maxmind.com

ダウンロードサイトでDownload GZIPすると、中に.mmdb形式のファイルがありますので、こちらを配置してPythonから呼び出します。ちなみに答え合わせはこちらのサイトでやりました。

www.findlatitudeandlongitude.com

60分でわかる! SDGs 超入門

こちらの本を読んだのでメモです。


そこで、普段はあまりこういう本は読まないのですが、ちょっと視野を広げるために読みました。
前職含め、仮想通貨関連の事業に身を置いて1年半ほどになるのですが、やはりまだまだ業界自体が成熟していないこともあり、これからのビジネスの向かう方向性や、目の前でやっている仕事に関して時折疑問を感じることもあります。この界隈ではよくFinancial Inclusionを目指してとか言われますが、本当にそうなるにはまだまだ距離があると思っています。そのため、少なくとも自分が関わるビジネスやプロダクトに関しては、もう少し解像度を上げて行きたいなという思いがありました。

SDGs (Sustainable Development Goals)とは

国連加盟193カ国が達成を目指す2016年から2030年までの国際目標で、地球規模の問題を解決するために、「誰ひとり取り残さない」という共通理念のもと、17の目標と169のターゲットが設定されています。

17の目標

  1. 貧困をなくそう
  2. 飢餓をゼロに
  3. すべての人に健康と福祉を
  4. 質の高い教育をみんなに
  5. ジェンダー平等を実現しよう
  6. 安全な水とトイレを世界中に
  7. エネルギーをみんなにそしてクリーンに
  8. 働きがいも経済成長も
  9. 産業と技術革新の基盤を作ろう
  10. 人や国の不平等をなくそう
  11. 住み続けられるまちづくりを
  12. つくる責任つかう責任
  13. 気候変動に具体的な対策を
  14. 海の豊かさを守ろう
  15. 陸の豊かさも守ろう
  16. 平和と公正をすべての人に
  17. パートナーシップで目標を達成しよう

数が多くて覚えきれないので、5つの「P」というものがあります。

  1. People(人間)貧しさを解決し、健康に(目標1−6)
  2. Prosperity(豊かさ)経済的に豊かで、安心して暮らせる世界に(目標7−11)
  3. Planet(地球)自然と共存して、地球の環境を守る(目標12−15)
  4. Peace(平和)争いのない平和を知ることから実現(目標16)
  5. Partnership(パートナーシップ)みんなが協力し合う(目標17)

ポイント

要はこれからの時代こういった観点を踏まえて事業を行えないと、消費者や取引先、投資家から選ばれなくなるリスクがあります。そのため、企業はこうった観点も踏まえて事業の方向性や取り組みを行っていく必要があるということです。逆に、必ずしも利益至上主義でなくとも、こういった観点を満たせば一定のステークホルダーを得られるようになるのかもしれません。

サプライチェーンにおいて環境破壊や人権侵害などをしている企業の商品は買われなくなったりしていきます。こういった環境や人権に十分に配慮された商品やサービスを選択して買い求めることを「エシカル(倫理的な)消費」と呼びます。

エシカル消費でできること

  • 環境への配慮
  • 社会への配慮
  • 人への配慮
  • 地域への配慮
  • 生物多様性への配慮

また、昨今はESG投資と呼ばれるものが出てきており、以下のような非財務情報を元に投資先を選ぶような動きも出てきています。

これらの目標は必ずしも1社で網羅する必要はなく、むしろこういった観点で協業したりすることでお互いに良い関係を築きあえるようになるのが理想とのことです。

所感

やはり普段あまり気にすることがなかったので、自分の関わるビジネスや仕事が社会にどういったインパクトを与えるのか見つめ直す良い機会になりました。今やっている仕事はブロックチェーンの技術を使ったプロダクト作りなので、素直に考えると「9.産業と技術革新の基盤を作ろう」なのかなと思いますが、それを取り巻く個別事業においてこういった観点を俯瞰しながらプロダクトの方向性を考え直せたのは非常によかったです。前職のデータ分析なんかでも、もちろんそれを生業にするからにはそれで収益を上げて自分の給料分は証明しないといけない訳ですが、かといってデータから得られた示唆を元に何をしても良い訳ではないので、どのようにデータ分析のプロセスをより良くしていくのか、どのようにプロダクトをより良くグロースさせていくのか、という意味でこの本は良い示唆を与えてくれました。事例も豊富に扱われているので、各業界の人が読んでも当てはまるところはあるかなと思います。

HHKBが届きました

私は昔からFILCOユーザーだったのですが、テンキー付きでマウスを取るまでにちょっと幅を取るので、テンキーレスでBluetoothを検討しています。

やっぱりHHKBは気にはなっていたのですが、何しろ高い。そして店頭で試し打ちも気軽にできるものではないので(新宿か秋葉原に行けば触れる模様)、あきらめかけていたのですが、どこかで広告か誰かのツイートで見たのか記憶は定かではないですがレンタルがあることを知りました。 

www.rentio.jp

 それでもやはりHHKBは高いですが、何せ新品を買ったら3万円は下らないので、高い買い物して失敗するよりはマシかと思ってレンタルすることにしました。

1週間待ってようやく到着。

f:id:yukiyoshisato:20200215183757j:plain

がっつり破損してるやんけ。「すいませーんこちら破損しちゃいましたー」だと。「精密機器取扱注意」の札は何のために貼ってあると思っているんだ。レンタルじゃなかったら穏やかじゃ済まんぞと思いつつ中を開けるとこんな感じ。まぁ本体に支障はなかったので許します。

f:id:yukiyoshisato:20200215184141j:plain

セッティングDone

f:id:yukiyoshisato:20200215184406j:plain

いい感じじゃないかー!まずい。これは完全に買ってしまうやつだ。

最初は英語キーボードに若干戸惑いつつ、以下のサイトを参考にMac向けにスイッチを設定したら大分やりやすくなりました。

www.pfu.fujitsu.com

複数台接続の方法はこちらを参考にしました。一度「電源/Bluetooth接続ボタン」を少し長押しして青く光ったら「Fn+q」でペアリングモードにします。その後「Fn+Ctrl+数字(1〜4)」を押して複数台に繋げます。

goryugo.com

でもやっぱり矢印キー独立の方がいいかなー。とりあえず1週間は使ってみて決めよう。なんだかんだFILCOにしそうですけど。これと迷い中。

www.diatec.co.jp

事後メモ

ふとした瞬間にCaps Lockがかかってしまったのですが、数分格闘して結局こちらのブログでやり方確認しました。

blog.shogo-mizuno.me

はてなブログとnoteの棲み分け

データサイエンティストとして転職した当初は、勉強ログでも残しておくかと思ってこちらのブログで色々と書き始めて、その後noteブームに便乗してnoteに乗り換えました。でもまた転職したのもあってこちらのはてなブログのタイトル変えなきゃとか思って、こっちのブログいじってたらまた愛着湧いてきちゃったんですよね。で、なんか書きたくなったんですけどnoteとの棲み分けどうすんだってなってちょっと考えをまとめたので残しておきます。

noteに書くこと

noteはマガジンの機能とかあったり、比較的まとまったテーマについてじっくり語るのに向いているような気がするので、こんな感じにしようと思います。

  • ある技術やテーマに絞ってそれなりにまとまった内容
  • 節目のポエム的なやつ

はてなブログに書くこと

こちらのブログでは、日々の色んなことのメモのような位置付けで考えています。

  • 読書メモ、技術メモ、学習メモ
  • 日記的なもの、ちょっとしたことなど

結論、あんまり厳密な運用の切り分けはなく、まぁ雰囲気ですね(考えまとまってないじゃん)。軽いのこっち、重いのnoteみたいな。ちなみに今のところQiitaに手を出すつもりはあまりないので、技術はQiitaということもなく、技術的な内容がnoteにもあるしはてなブログにもあるしみたいな感じでテキトーになると思います。更新頻度はnoteは時々、はてなブログはそこそこ頻繁に更新するかなと思いますが、実際にそんな頻繁に更新するかはわかりません。