Life is Like a Boat

忘備録や経済、投資、プログラミングに関するメモやtipsなど

pandasでデータフレームをto_sqlする

pandasでDataframeをto_sqlする時、

sqlalchemy.exc.IntegrityError: (psycopg2.IntegrityError) duplicate key value violates unique constraint "experiment_pkey" が出て困りました。

エラーが出た経緯としては

  • 下記のtableをread_sqlでDataframeにする
    f:id:nerimplo:20180718210047p:plain
sql = 'select id, word FROM experiment'
df = pd.read_sql(sql=sql, con=connection, index_col='id')
  • Dataframeに行を複数追加し、to_sqlで再びtableに書き込む
for idx, w in enumerate(['this', 'is', 'a test']):
    df.loc[idx+2] = [w]

df.to_sql('experiment', engine, if_exists='append')

行を追加後のdfは

      word
id        
1     test
2     this
3       is
4   a test

となるのですが、

このdfをto_sqlする時にエラーがでます。idにユニーク制約があるのに、tableに既に存在する1番目の行をinsertしようとしているのが原因のようです。

pandasのドキュメント見てもduplicateが存在する場合、skipするようなオプションはありませんでした。

pandas.DataFrame.to_sql — pandas 0.22.0 documentation

この場合、if_exists='replace'にして既に存在するtableを一度dropして作り直すのが方法みたいです。

他にいい方法はないか探していると、stackoverflowでこんなことをしている人が、、、これは遅くなるはず。

There is unfortunately no option to specify "INSERT IGNORE". This is how I got around that limitation to insert rows into that database that were not duplicates (dataframe name is df)

for i in range(len(df)):
    try:
        df.iloc[i:i+1].to_sql(name="Table_Name",if_exists='append',con = Engine)
    except IntegrityError:
        pass #or any other action

stackoverflow.com

にしても、データをdbから読み込んでpandasでゴネゴネしてその結果をdbに戻すという作業はデータ分析の現場レベルではやりそうなことだと思うんですが、if_existsオプションを使って毎回tableをdropしてまた作るやり方効率悪くないですかね...

読書メモ - バフェットの財務諸表を読む力

本書の肝は
永続的競争優位性を持つ企業に投資することが長期的に金持ちになる方法 であり、そうした企業を探す手がかりを財務諸表の各項目を拾いながら説明しています。

例えば粗利益テスト。一貫して高い売上総利益率をキープしている企業には永続的競争優位性が存在している傾向があるといいます。

売上高 - 売上原価 = 売上総利益 なので、売上原価をはるかに上回る価格設定の力を持っている傾向があるはずと言えます。その傾向が表れているのには理由があり、例えば有報で企業が対処すべき課題やアウトルックを読んだり、その会社のWebsite、業界関連紙、シェア率などを読み込んで、なんとなくでも定性的な部分を把握してメモっておくといいのではないかと思います。何らかの理由で売ろうと思った時、そのメモを見返して本当に売るべきか考えることができると思います。

本書は200ページ弱でさらっと読み終えられる量です。テーブル付きで解説されているのでわかりやすいです。活用法としては、本書でピックアップされている財務諸表項目におけるテスト(例えば、粗利テスト、販売費&一般管理費テストなど)をスクリーニングのパラメターとして使い、その結果を元に定性的な情報を集めていくという使い方がいいのではないかと思います。

LIFULLによるMitula子会社化についてのメモ

5月に公開されたプレスですが、LIFULLの決算説明会時にMitulaグループ完全子会社化に関しての説明がされていました。
以下説明会動画を視聴してまとめたメモです。

  • Mitulaグループの主力はアグリゲーションサイト、ポータルサイトの運営(不動産、住宅、求人、ファッション情報など)。売上は日本円で28億。当期利益は4億。EBITDAマージン(売上高/EBITDA)は35%程度。LIFULLとの株式交換、現金による取得となる。総額は153-155億円くらいになると見込む。

  • 18年9月末に取得完了。海外事業が売上に占める割合は10.5%->17.4%に。

  • グローバルで見た不動産アグリゲーションサイトはLIFULLグループによる寡占がかなり進む。月間のユニークビジターは170+m。(参考:indeedは200m) 経営統合でサービス展開国で業務効率を向上させたい。

  • クリックごとの課金(CPCで安く薄く広くモデル)->トランザクションに近く(不動産の成約など)高単価なモデルに移行したい。重複している部分のコスト削減も目指す。

  • TrovitとMitulaどちらも同じフィールドで競合し合っていたケースがあり、取り込むことで単価upを目指したい。すでにマネタイズできている国で単価を上げる方がPLインパクト大きい。

  • Googleは脅威と考えている(例: Google for Jobsのような動き) まだ先行しているうちに強化をはかる。

株式会社LIFULL Mitula Group Limited子会社化の説明会

7/12のNightly Business Reportより

CNBCのNightly Business Reportでインフレ耐性のあるポートフォリオという趣旨でRegentAtlanticのCIO、Chris Cordaro氏へのインタビューが放送されてました。

www.youtube.com

以下は氏の推奨する銘柄。

  • Kinder Morgan (KMI) - エナジーセクターでパイプライン運営。インフレになっても天然ガスやガソリンの供給インフラは必須。Dividend 4.44%。KMI:New York Stock Quote - Kinder Morgan Inc/DE - Bloomberg Markets

  • Bank of America - 金利上昇の恩恵を受ける。

  • Google - 同社の広告ビジネスは関税や貿易戦争と関係ない。中国でもビジネしていない。

避けるべき銘柄として、NVIDIA, Tesla, Amazonをあげています。
どれもビジネス上、中国に対するエクスポージャーがあり、バリュエーションもかなりリッチ。こうした銘柄は少しの期待外れなニュースでも売られる可能性がある、とのことです。

私は先日AMZNとNVDAを売ってキャッシュにしました。AMZNについてはPrice Targetを$2000や$2200とする証券会社も最近出てきましたね。

銀行はいつまで異次元緩和に耐えられるか - JPMレポート

JPMによる「銀行はいつまで異次元緩和に耐えられるか」というテーマのレポートが興味深いです。 マネックス証券のサイトからログイン後、レポート-> クロスセクター(銀行・為替)から読めます。

以下、レポートのポイントを纏めてみました。

  • JPMの試算によると地銀105行のうち、2020年度に経常赤字、その予備軍も含めて40くらいになる。これが銀行システムの脆弱化に繋がりうる。

  • 異次元緩和やYCCは銀行->企業への所得移転を促した。銀行側は与信費用低下と株式益増加の恩恵を受けたが、前者はこれ以上の低下余地は見込めない。後者は相場要因なのでなんともいいがたい。貸出利回り低下による累積的な減益影響がある。企業収益が6年連続で過去最高を更新していることから、銀行への副作用への配慮が金融政策の最適化につながる。

  • 19年秋までにマイナス金利が撤廃されていることが望ましい。

  • 日銀は10年債金利の上昇を容認すると円高方向に相場が動くリスクを考えているはず。しかし、日米10年金利差、USDJPYの相関関係、近年増加傾向の対外直接投資・証券投資から多少の金利差縮小は懸念する必要ないのでは。

以下、myビューです。
実際のところ、黒田総裁としては金融仲介機能に問題が生じているかを判断材料としていると思います。

黒田総裁は、貸出成長率を見ると問題はないと見られるとコメントしていること、2%を安定的に超える状態まで金融緩和を続けると言っている現在の政策との整合性から言ってマイナス金利廃止にまで踏み込むのか疑問です。

気にはするがメリットデメリットでみてメリットが大きいので今の政策を続けるスタンスではないでしょうか。

f:id:nerimplo:20180712175421p:plain

メモ
金融緩和による銀行収益への累積的影響で金融庁が着目しているのはコア利益

コア利益 = 貸出残高 * 預貸金利回差 + 役務取引等利益 - 営業経費

コア利益上昇の要因。貸出利息の改善、手数料収入増加、経費削減

郡山~猪苗代湖旅行

先月末の話ですが、優待消化のため郡山のドーミーインに行ってきました。
現地到着した日は駅前を少し散歩して温泉入ってすぐ寝ました。
翌朝、早起きして朝風呂に入り、チェックアウト済ませて郡山駅へ。

郡山駅前です。

f:id:nerimplo:20180711223554j:plain

福島出身Greeenを記念したドアらしいです。

f:id:nerimplo:20180711223417j:plain

8:29発会津若松行きの電車に乗ります。出発時、私が乗った車両の座席は全部埋まってました。

f:id:nerimplo:20180711223752j:plain

田園地帯を走る列車。田んぼの緑が美しいです。

f:id:nerimplo:20180711223904j:plain

9:08猪苗代駅着。早速降りて写真右側の観光協会でママチャリを借ります。
保険付きで500円。

f:id:nerimplo:20180711223828j:plain

f:id:nerimplo:20180711224114j:plain

気温28度くらいの中、ママチャリを漕いで駅から南に約10分。猪苗代湖の湖畔にとうちゃこ〜。

f:id:nerimplo:20180711224136j:plain

田舎道に一本ポツンと生えた木。。。新海誠臭がする光景です。なぜか切ない気持ちにさせられます。

f:id:nerimplo:20180711224157j:plain

野口英世記念館に寄ってきました。
小学校時代の成績表だそうです。まさか自分の成績表が世の中に晒され、1世紀後でもジロジロ見られるとは野口英世も思っていなかったでしょう。数学得意だったみたいですね。体育は手のやけどのせいでしょうか。免除になってます。

f:id:nerimplo:20180711224259j:plain

エジソンと交流があった野口英世。へぇー。

f:id:nerimplo:20180711224336j:plain

妻に宛てた手紙。I am wondering what happened to you as I did not get any letter from you for many weeks...これ以上は筆記体で読むのを諦めました。

f:id:nerimplo:20180711224413j:plain

このあと、道の駅に寄って食事やお土産を購入。昼過ぎの郡山行きに乗り帰りました。 道の駅猪苗代ホームページ

キャンピングカーで湖畔に家族づれで来ている人が何人かいました。
釣りしながら弁当食べて、ラジオ聴きながら昼寝でもすればいい休日の過ごし方でしょうね〜。

今度来るときは裏磐梯の方に足を延ばしてみたいです。

フィデリティー・ロープライスド・ストック・ファンドの投資先を業種別で分類してみた。

フィデリティー・ロープライスド・ストック・ファンドの投資先(日本株分)を業種別のパイチャートにしてみました。
出典は四季報オンラインの大株主検索です。

https://shikiho.jp/services/Query?SRC=shikiho/data/mjsharehd/base

小売と卸売で5割越えてます。Joel Tillinghast氏がインタビューで話していた通り、同ファンドの日本株投資にはその性格が現れてます。
フィデリティのFM、Joel氏のインタビュー動画 - Life is Like a Boat

f:id:nerimplo:20180710214026p:plain

年初からの騰落率を個別でみると
クスリのアオキ、ワークマン、ジャパンミート
などが軒並み20%以上の上昇となっています。

ファンド全体で見た場合のトップ5はこのようになっています。

企業名 保有比率
UnitedHealth Group, Inc. 6.046%
Seagate Technology LLC 3.340%
Ross Stores, Inc. 3.072%
Best Buy Co., Inc. 3.029%
Aetna, Inc. 2.012%

Ross Storesはアメリカのディスカウント百貨店チェーン、Aetnaはヘルスケア総合企業です。4月時点での同ファンドの保有銘柄データはこちらから->
https://goo.gl/w1zv6B