Life is Like a Boat

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

Plotlyのチャートでツールバーを非表示にする

Plotlyでチャートを描画する際、右上にツールバーが出てきます。拡大したりスクショとれたり便利なんですが、不要な時もあります。

f:id:nerimplo:20180911112951p:plain

その場合、 'displayModeBar'というオプションをFalseにすればいいようです。

Jupyter Notebookに表示する場合

iplot(fig, config={
        'displayModeBar': False
    })

Dashの場合

dcc.Graph(
    id='my-graph',
    figure={'data': [{'x': [1, 2, 3]}]},
    config={
        'displayModeBar': False
    }
)

Plotly Communityのこのスレッドを参考にしました。

community.plot.ly

Geopyを使って簡単に緯度経度を取得する

Mediumで便利なPythonのTipsを紹介する記事がありました。

medium.freecodecamp.org

その中で便利だと思ったのがGeopyです。何がいいかというと、例えばpandasのデータフレーム上に住所カラムがあって、その住所から緯度経度を出したいという時に作業が捗るはずです。

pip install geopy でサクッとインストール。

>>> from geopy import geocoders
>>> g = geocoders.GoogleV3()

#虎ノ門駅近くのスタバの住所
>>> inputAddress = '東京都港区虎ノ門1-1-23 ウンピン虎ノ門ビル'
>>> location = g.geocode(inputAddress, timeout=10)
>>> location.longitude
139.7501349
>>> location.latitude
35.6704249
>>> 

念のため出力された緯度経度をurlパラメターで渡して確認してみると、 https://www.google.com/maps/search/?api=1&query=35.6704249,139.7501349

f:id:nerimplo:20180911095618p:plain

確かに虎ノ門駅近くのスタバです!

なお、Google APIを使うとAPIキーがない場合は最大2500リクエスト/日の制限が適用されます。

災害に備える

西日本豪雨、大阪北部地震に台風被害と今朝の北海道での地震と各地で災害が続いています。

日頃からの備えが本当に大事なので、面倒くさいなどと言わず意を決して災害キットの確認をしました。

食料

妻が生協で災害用の長期保存できる食材を定期的に買ってくれてます。飲み水、カセットコンロ、缶詰の備蓄もあるので5日はスーパー行かなくても毎日3食分、用意できそうかなと思います。 これに加えて防災レシピを参考にすれば、うまいもんが作れそうです。レシピサイト見てると、アイデア次第で何でも作れるもんだな!と思います。 tokubai.co.jp

住居

マンションは築20年です。何からの理由で住めない状態になったら、どこかでキャンプ用のテントを公園か近所の広場で張ることになりそうです。災害時に学校が避難拠点になりますが、東京都内だと避難住民が多くてとても体育館で寝泊まりできる状況にはならないと思います。

情報

災害時に情報を得るには”インターネットに出ていけるか”が重要だと思います。

プロバイダーから借りてるルーターは停電時には使えなくなるので、我が家はiPhone/iPadが頼りです。iPhoneはauで契約しているのでauの基地局が生きていればインターネットまで出て行けそうです。基地局は停電時に自家発電する設備を整えているので、当座はしのげそうです。

auにおける災害対策の取り組み https://www.au.com/mobile/anti-disaster/action/index01/

停電が長引いたり、主要な環状道路が不通で、電源車の移動が間に合わなかったり自家発電の燃料供給ができない可能性もありますね。さらに東京の大規模な回線集約施設がサービス継続できなくなるほどの甚大な被害や、DNSサーバーが何かの理由で利用できないと災害時必要な情報が得られなくなりそうです。発生確率は3σより先にありそうな感じですが。

電気

2年前の熊本地震後に太陽光発電できるモバイルバッテリーを買いました。これでiPhone/iPadに給電できます。 f:id:nerimplo:20180906135605p:plain

幸いまだ継続して使う機会はないですが、今日押入れの奥から取り出して動作確認してみました。さっきまでベランダに出してiPhoneに給電してまして、流石にフル充電までのスピードは遅いですが、災害時なら十分ではないかと思います。値段も手頃なので保険がてらにいいです。

PlotlyのDashでWebアプリを作ってみる

f:id:nerimplo:20180904141112j:plain

Dash

Plotlyが開発を主導するオープンソースのDashというフレームワークを最近触り始めました。

フレームワークが群雄割拠する時代、これの何がいいかというと、小規模なSPA(Single Page Application)をJavaScriptなしでPythonとCSSを使って構築することができる、という点です。

DashはFlask、React、Plotlyを組み合わせたフレームワークで、こんな感じのWebアプリが数十行で作れます(画像はDashのgithubより)

https://user-images.githubusercontent.com/1280389/30086128-9bb4a28e-9267-11e7-8fe4-bbac7d53f2b0.gif

こんな人にお勧め

数日使って見て、こんな人にお勧めです。

  • 既にデータがあってJupyter Notebookで可視化したりしている。
  • 可視化したグラフやデータテーブルを公開したい。
  • インタラクティブなグラフを含むWebアプリを簡単に作りたい。
  • いまさらJavaScript界隈のフレームワークに慣れるの面倒くさい。

ビジネス需要でいうと、BIサイトの構築にも十分使えると思います。 例えば、

  • 営業チームの今日の訪問予定先を地図で表示する。
  • ショベルカーの地域別稼働率
  • 月次の売上データの可視化

別々のセッションを持つことになるので、複数ユーザーが同時にWebアプリを使うことができます。BIサイトのURLを上司に渡しておけば、自分でポチポチしてもらって、地域別売上と費用をデータテーブルとチャート付きで表示するという機能も十分開発可能です。

まぁTableauでもできると言われればじゃあそっち使えばいいやんとなるわけですが。

サンプル

下記リンクは景気ウォッチャー調査投資法をネタに作ってみたサイトです。 economy-watcher.herokuapp.com

こちらは、UKにおける交通事故をPlotly Dashを使って可視化したサイト。Plotly Dashコミュニティで紹介されていました。 https://traffic-accidents-uk.herokuapp.com/

フォリオのテーマ別投資

29日のテレビ東京WBSでテーマ株投資ができるフォリオのサービスを紹介するコーナーがありました。

フォリオは「VR」や「京都」といったテーマをえらんで投資する、一般的なオンライン証券とはタイプの違うサービスです。

テーマごとにフォリオが独自に選定した有望企業10社に、1口10万円から投資できるそうです。

folio-sec.com

下記のツイートは、あくまで番組を見ての情報です。

人の判断という部分で言えば、例えば、コスプレというテーマがあるのですが、フォリオのリサーチチームが街に繰り出して、実際にコスプレしている人に「コスプレ衣装作るのにどこで材料を調達したの?」とか「そのコスプレの接合部は何で接着しているのか?」とか、根掘り葉掘りに質問していたシーンが面白かったです。

情報ベンダーなどから得たファンダ情報を追いかけるだけではなくて、こういう足で投資先を発掘していく方法は個人的に好きです。

マーケットの環境が良くなると、◯◯テーマの関連株が一気に動意付く事があります。そうした時にできるモメンタムに乗る意味でもフォリオが提供しているテーマとその選定された10社は参考になるかなと思います。

下記はテーマ別のリターンベスト10とワースト10です。データは8/29時点のもので、フォリオのトップページから引用しました。

ベスト10

テーマ ここ一年のリターン(%)
アンチエイジング 41.3
メンズコスメ 25.2
最先端医療マシン 19.7
カメラ・写真 18.4
サードパーティー・ロジスティクス 17.9
ようこそ日本へ 17.7
名古屋 15.1
九州 13.6
5G(次世代通信システム) 13.3
再生医療テクノロジー 12.9

ワースト10

テーマ ここ一年のリターン(%)
ソーシャルゲーム -27.6
グローバル・ニッチ・トップ -12.8
インダストリアルロボット -11.6
中国・四国 -10.5
ジェネリック医薬品 -10.3
さよなら電柱 -8.8
スイーツ&デザート -8.7
電気自動車 -7.1
東北 -6.4
クッキング -5.1

下記はそのトップページからテーマとそのリターンのデータをJSON形式で取得するためのスニペットです。

[].concat.apply([], Array.from(document.querySelectorAll('section.slider.landingPageSlider div.slider__outer')).map((e) => {
    return Array.from(e.querySelectorAll('a.card')).map((e) => {
        var k = Array.from(e.querySelectorAll('h1.card__name > span')).map((e) => {
            return e.textContent
        }).reduce((c, v) => {
            return c + v
        });
        var v = e.querySelector('div.card__return > p').textContent;
        return {'key': k, 'value': v}
    })
}))

オレンジジュース雑感

f:id:nerimplo:20180827145157j:plain

CNBCのYoutube ChannelでWhy Most Orange Juice Comes From Brazil, Not Floridaというタイトルの動画を見つけました。

www.youtube.com

大学時代アメリカに住んでいましたので、オレンジジュースといえばフロリダ州というイメージが強く残っています。
冷凍濃縮オレンジジューズの先物市場があり、ハリケーンがフロリダ州に近づくと収穫が減って先物価格が上がるという教科書的なエピソードをどこかで読んだ記憶があるので、アメリカがオレンジジュースの生産大国というイメージがありました。

Futures Orange Juice Chart Daily

f:id:nerimplo:20180827144917p:plain

生産国1位はブラジル

しかし、オレンジジュースの生産国ランキングを見ると、ずいぶん前にブラジルが1位になっています。

Orange Juice Production by Country in MT - Country Rankings

フロリダ州において、60年代の霜害でオレンジの木が影響を受けた一方、ブラジル南部州でオレンジの作付けが急速に進み、85年にはブラジルでのオレンジ生産高はフロリダのそれを上回りました。

ハリケーンの影響、世界的なオレンジの病気、コンドミニアム建設のメリット、アメリカ人のオレンジジュース消費量の減少などもあり、フロリダ州でのオレンジの作付け高はこの10年で40%も減っています。 f:id:nerimplo:20180827144158p:plain

世界シェアをオレンジジュース10杯に表すと、7杯を占めるほどになったブラジルでは、逆にフロリダ州のオレンジ畑や生産設備を買収するなどして、CUTRALE、citrosuco、LDCが世界的なオレンジプランテーション企業となりました。これらの企業は2015年時点、全世界でボトラーに供給する量の半分以上をコントロールしているそうです。

CUTRALE - Your worldwide quality source of orange juice

Who We Are - Citrosuco

貿易問題

オレンジジュースは中国、カナダ、EUによる報復関税の対象となりました。作付けは減っていてもフロリダは主要な生産州なので、オレンジ農家への影響は避けられません。フロリダ州は歴史的にスイングステートなので、貿易問題が長引けば2020年大統領選に影響しそうです。

www.vox.com

四季報コメント + 営業利益率 + テクニカル指標を使った決算ギャンブル投資法

7月下旬から8月第二週にかけての決算発表集中期は前から考えていた四季報コメント + 営業利益率 + テクニカル指標を使った決算ギャンブル投資法を実際に試してみました。

銘柄選定のポイント

  1. 営業利益率のトレンド - 業績に季節性がなければ前期、前々期との比較、季節性があるようなら前年同期比で上昇していること、を目安とする

  2. 値上げキーワード - 四季報のコメントに「値上げ」が含まれている銘柄を抽出。ただ、「値上げでも原材料高補えず」と言ったコメントもあるので、ネガティブなコメントがある銘柄は外す。

  3. 直近のテクニカル指標を見て業績の折り込み具合を感覚的に把握。主にMACDで判断しました。

売買ルール

  • 信用買い

  • 決算発表日の前日場中までポジションを組む。(場中発表、特に後場の1時や2時に発表される場合もあるので、なるべくオープンから前場にかけて買いました)

  • 決算発表日の場中で売る。GUした後、買いが続いているようであれば、クローズにかけてポジションを解消する。

  • 買い数量は総合的にみて調整。

です。

結果

結果としては、9勝3敗。買い建て玉に対してリターンは4.2%でした。
f:id:nerimplo:20180824125000p:plain

全体的にみて、決算の数字をうけてGUで始まる銘柄が多かった印象です。ただ、多くの銘柄において、買いが続かず後場にかけて上げ幅を縮小、後日さらに下げる傾向があったように思います。
四季報コメントで"値上げ"があり、営業利益率が以前より上がっている傾向があれば、決算の数字は良くなっているかもしれません。もちろん価格弾力性の変化、競合他社の戦略、人件費や原材料コスト高が値上げ効果を上回る可能性など、考慮する要因が他にもありますが、四半期ごとの推移を見てだいたいはカバーできる気がします。良い数字の織り込み度合いが小さいようであれば、発表後に期待と実際の差が生まれる事にギャンブルした感じです。

投資手法というのは市場環境の変化に応じてワークする、しないが変わってくると思っています。再現性の高さでいうと、この手法が次の決算発表期でも利益出せるかわからないですが、抽出ルールと選定ポイントは色々改善していきたいところです。