ハーフィンダール・ハーシュマン指数 (Herfindahl–Hirschman Index)

ハーフィンダール・ハーシュマン指数とは、ある産業における企業の競争状態を測る指標のひとつで、各企業の市場シェアの二乗の総和によって算出されます。
この指標を用いて、企業結合規制の基準が設けられています。公正取引委員会は企業結合ガイドラインの指針で、企業結合が独占に該当するか否かの判断基準としてHHIを採用しています。また、これに関連する独占禁止法は、製品価格の不当な値上げなど競争の制限につながるおそれのある企業結合(合併、買収、営業譲渡など)を禁じています。よってM&Aの前に、チェックする項目の1つです。

f:id:shinji629:20181203105733j:plain

HHI Concentration Level
Post-Merger HHI Concentration Change in HHI Government Action
Less than 1,000 Not concentrated Any amount No action
Between 1,000 and 1,800 Moderately concentrated 100 or more Possible challenge
More than 1,800 Highly concentrated 50 or more

Challenge

では、サンプルを使って計算してみましょう。

次のように、10社のそれぞれのマーケットシェアがあるとします。Compay 2と3が合併した場合と、9と10が合併した場合について考えてみます。

Company 1 2 3 4 5 6 7 8 9 10
Market Share (%) 25 20 10 10 10 5 5 5 5 5

こちらが合併前のマーケットシェアの2乗の値です。

Pre-Merger
Company Market Share (%) Market Share Squared
1 25 625
2 20 400
3 10 100
4 10 100
5 10 100
6 5 25
7 5 25
8 5 25
9 5 25
10 5 25
  HHI: 1,450

次に、Company 2と3が合併した場合と9と10が合併したときのHHIです。

Post-Merger (Company 2 and 3) Post-Merger (Company 9 and 10)
Company Market Share (%) Market Share Squared Company Market Share (%) Market Share Squared
1 25 625 1 25 625
2+3 30 900 2 20 400
4 10 100 3 10 100
5 10 100 4 10 100
6 5 25 5 10 100
7 5 25 6 5 25
8 5 25 7 5 25
9 5 25 8 5 25
10 5 25 9+10 10 100
  HHI: 1,850   HHI: 1,500

Company 2と3が合併した場合、HHIが1,850なので自由競争を阻害する恐れがあると考えられます。一方、Company 9と10の合併は、HHIのポイントが50のみアップするのでインパクトは少ないと考えられます。

ソファーのメンテナンス

10年以上毎年冬になると革のソファーの手入れをしています。ソファーを購入したお店でも取り扱っているかもしれませんが、IKEAのABSORB/アブソルブ 革お手入れセット(1,999円)を利用しています。

f:id:shinji629:20181202175814p:plain

 

しみや汚れを落とし、栄養を与えて長持ちさせるレザークリーナーと、革を柔らかくしなやかに保ち、乾燥を防ぐレザークリームがセットになっています。

作業自体は、4、5時間と大変ですが、1年に1回時間のある週末になら大丈夫かと思います。

初めに、ソファーを移動させると埃やら子どものお宝(妖怪メダル?)が見つかりました。掃除機をかけた後、クリーナーを泡立てて、汚れを落としていきます。オットマンも合わせると、それだけで3時間程かかりました。途中休憩をして、次にクリームを塗っていきます。この作業は、泡立てなど不要なので結構簡単です。仕上げに、乾拭きをしておしまいです。

おかげで、こどもが0才のときから10年以上たったいまでも、そこそこ状態をたもっている気がします。デンマークのボーコンセプトのソファーですが、耐久性はかなりいいかと思います。

f:id:shinji629:20181203093532j:plain



 

フィラリア予防の完了

犬を飼っている方は、定期的にフィラリア予防をしていると思います。

我が家の犬には、ネクスガードスペクトラという薬を毎月飲ませていて、やっと今月で終了です。ネットでも購入できますが、定期的に獣医師さんに診てもらった方が安心なので、毎月通っていました。おかげで、元気に育ってくれ無事に年越しできそうです。

 

登記手続きの完了(抵当権抹消)

司法書士さんに依頼して1週間ちょっとで、抵当権抹消の完了通知がありました。
郵送で通知を頂き、その中に登記完了証、登記事項証明書、請求書がありました。

登記完了証には、申請受付年月日、申請受付番号、不動産、申請情報などが記載されています。また、全部事項証明書には、抵当権の設定・抹消など(銀行名、債権額など)が記載されています。

金融機関が勝手に抹消の登記をしてくれることはないので、なるべく早く済ましてよかった気がします。

ドライブレコーダー

ドライブレコーダーは、6年ほど前に非接触タイプの当たり屋(誘引事故)に遭遇した直後から使用していました。今回新しいDriveman GP-1という警察仕様ベースのハイスペックモデルを取り付けることになったので、感想を記しておきます。

時代の進化とともに改善した点です。

- 画質 2K
- 駐車中録画 1秒間に1コマ で3時間録画
- Gセンサー(ショックでJPG画像を撮る)

8GBのSDHCが付属していますが、できれば32GB以上のSDカードを準備したほうがいいです。録画時間の目安がこちらです。

  8GB (SDHC) 32GB (SDHC)
1296P / 27.5fps 1時間20分 5時間20分

いろいろな物が写りすぎるので、サンプルを表示できませんが、音声も画質も非常に良いです。

1点記録動画をチェックする際に失敗したことは、エンジンを停止してSDカードを抜いてしまったことです。エンジン停止後のセキュリティーモードでは、RECボタンを押して録画停止をしないといけません。(LEDランプ緑色点灯)

そうしないとファイルが破損して、再生できないことがあります。

Docker Hub 上の公式リポジトリ

前回は、自分でイメージをビルドする方法を紹介しましたが、可能な限りDocker Hubで提供されている標準ベースイメージを選択するほうがより簡単です。

Docker Hub はクラウド上のレジストリ・サービスで、アプリケーションやサービス・コンテナの構築と配信が可能です。
誰でも無料でアカウントを作成することができます。また、デフォルトの無料プランでは、プライベートのレポジトリが1つ作成可能です。ちなみにMicroプランでは、月$7で、最大5つのプライベートのレポジトリの作成可能です。

https://hub.docker.com/ からログインするとこのような画面が表示されます。

f:id:shinji629:20181128121441p:plain

今回は、公開されている公式ベースイメージを検索し、利用していきます。

検索方法は、2つあります。
1つ目は、ウェブのサーチボックスで検索する方法です。

f:id:shinji629:20181128144155p:plain

2つ目は、コマンドから検索する方法です。

$ sudo docker search amazon

 検索結果は、このような感じになります。

f:id:shinji629:20181128144736p:plain

それでは早速、amazonlinuxを例にホストマシンにダウンロードし、実行してみましょう。

$ sudo docker pull amazonlinux
$ sudo docker run -it amazonlinux:latest bash

 -it は疑似 TTY(pseudo-TTY)をコンテナの標準入力に接続するよう、 Docker に対して命令します。つまり、コンテナ内でインタラクティブbash シェルを作成します。

試しにimage-idを確認してみます。ちなみに、AWSのアカウントなしでも気軽に利用することができます。

bash-4.2# cat /etc/image-id
image_name="amzn2-container-raw"
image_version="2"
image_arch="x86_64"
image_file="amzn2-container-raw-2.0.20181114-x86_64"
image_stamp="b1c1-d1b4"
image_date="20181114072229"
recipe_name="amzn2 container"
recipe_id="901690cd-b186-0bcf-b40b-6b66-f927-3af2-a8f848dd"

また、どんなコマンドが実行されるかなどイメージの中身をチェックすることもできます。

$ sudo docker inspect amazonlinux
[
{
"Id": "sha256:2467e0b1e91745890aa0298126eef4f5edeca2998ec07e932b468b2fb23d11f7",
"RepoTags": [
"amazonlinux:latest"

...

"Cmd": [
"/bin/sh",
"-c",
"#(nop) ",
"CMD [\"/bin/bash\"]"
],
...

その他、イメージをマウントした後に、どんなパッケージがインストールされているかなども、チェックするこができます。

$ sudo atomic mount amazonlinux /mnt
$ rpm -qa --root /mnt|less
setup-2.8.71-9.amzn2.noarch
glibc-common-2.26-28.amzn2.0.1.x86_64
ncurses-libs-6.0-8.20170212.amzn2.1.2.x86_64
libselinux-2.5-12.amzn2.0.2.x86_64
nss-util-3.36.0-1.amzn2.x86_64
...

 アンマウントするには、次のコマンドを実行します。

$ sudo atomic unmount /mnt 

 

docker buildでイメージをビルドする

ここでは、GitHubで公開されているdocker-node-helloを使ってビルドしてみます。

はじめに、Gitのレポジトリをクローンします。

$ git clone https://github.com/spkane/docker-node-hello.git 

 

複数のファイルがクローンされますが、ここでは重要なファイルを取り上げていきます。Dockerfileは、イメージを作成するために必要なステップが記載されています。

ENVでshell変数を設定し、RUNでファイルの作成やソフトウェアのインストールなどのコマンドを実行します。CMDでは、コンテナの中で実行するコマンドを設定します。

.dockerignoreでは、dockerで無視するファイルを指定することができます。
例えば、.gitを無視するには、次のように指定します。

$ cat .dockerignore
.git 

準備が整ったので、ビルドしてみます。-tでタグを指定します。

$ cd docker-node-hello/
$ sudo docker build -t example/docker-node-hello:latest .

Sending build context to Docker daemon 15.87kB
Step 1/14 : FROM node:0.10

...
Successfully built b3c837fad13e
Successfully tagged example/docker-node-hello:latest

イメージを無事にビルドできたら、早速起動してみます。ここでは、コンテナのポート8080をDockerホストのポート8080にマップしています。

$ sudo docker run -d -p 8080:8080 example/docker-node-hello:latest 

 問題なく起動しているか次のコマンドで確認することができます。

$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
95a8f357ee72 example/docker-node-hello:latest "supervisord -n" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp stoic_kilby

 詳細はさておき、まづはイメージのビルドと起動手順は、非常に簡単なことがわかったと思います。