景気ウォッチャー調査4月分
今週14日に景気ウォッチャー調査4月分が発表されました。
現状判断DIは前月差0.5ポイント上昇の45.3。 先行き判断DIは前月差0.2ポイント低下の48.4。
内閣府のまとめとして、
今回の調査結果に示された景気ウォッチャーの見方は、「このところ回復に弱さがみられる。先行きについては、海外情勢等に対する懸念がみられる。」とまとめられる。 とあります。
製造業で見ると貿易摩擦の影響、消費財関連では改元への言及がありました。 前者については全体的に特に悲観的な見方をしている回答者が多かった印象です。
その中で、いくつか目に付いたものをピックアップしてみました。
mieru-econ-watcher.herokuapp.com
mieru-econ-watcher.herokuapp.com
Nuxt.jsのGoogle Analyticsモジュールを使ってEventのトラッキングをする
ここ最近、Netlify + Nuxt.jsの組み合わせでサイトやフォームを作っています。
サイトを訪れたユーザのアクションを計測したいのですが、Nuxt.jsのGoogle Analyticsモジュールを使うとかなり簡単にできるます。以下その忘備録です。
nuxt.config.js
modules: [ '@nuxtjs/axios', '@nuxtjs/bulma', ['@nuxtjs/google-analytics', {id: 'UA-YOUR_GA_TRACKING_ID'} ] ],
任意のコンポーネントからは this.$ga
でアクセスできます。
this.$ga.event('Videos', 'play', 'Fall Campaign', 1)
例えばあるボタンを押した
というユーザのアクションをGoogle Analytics側でイベントとして計測したい場合、@clickで呼ばれるfunction内にthis.$gaを記述してあげるといいはずです。
GA側ではこんな風に表示されます。
Nuxt.jsビギナーズガイド―Vue.js ベースのフレームワークによるシングルページアプリケーション開発
- 作者: 花谷拓磨
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2018/10/17
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: 掌田津耶乃
- 出版社/メーカー: 秀和システム
- 発売日: 2019/02/05
- メディア: 単行本
- この商品を含むブログを見る
「やりたいこと」からパッと引ける Google アナリティクス 分析・改善のすべてがわかる本
- 作者: 小川卓
- 出版社/メーカー: ソーテック社
- 発売日: 2017/08/10
- メディア: 単行本
- この商品を含むブログを見る
バフェット・コードのAPI機能を使ってデータをPandasのDataframe化する
年初にCAMPFIREでバフェット・コードがファンドレイズしてまして、有料機能がお得に使えるので一口申し込みました。
以下、その有料機能の目玉の一つであるAPI機能を使ってデータを取得、PandasでDataframe化するまでの記録です。
手順としては、
- バフェットコードのマイページ画面からAPIキーを取得。
- API仕様書を読みながらURLパラメータをセット
仕様書はこちらです。https://docs.buffett-code.com/
例えば、1333マルハニチロの2017Q1から2018Q4のデータが欲しい場合、curlだとこんな感じになります。
curl "https://api.buffett-code.com/api/v1/quarter?tickers=1333&from=2017Q1&to=2018Q4" \ -H 'x-api-key: YOUR_API_KEY'
- Pythonのrequestsモジュールを使いリクエストして戻ってきたJSONをPandasのDataframe化
が大体の流れです。
作業に使ったJupyter Notebookをgistで共有してます。詳しくはこちら。
25日移動平均線を上回る銘柄の比率 3月22日現在
株価が25日移動平均を上回っている企業の割合です。極な局面を判断するのに使えるかなと思っている指標です。 3月に入って急落した後、直近だと5割超えて推移しています。
ついでに、自分としては勝率のいい時価総額上位6分位の企業群のうち、25日線からの剥離率上位10銘柄。
DjangoでOR検索したい時
Djangoを使ったWebアプリでOR検索したいシーンがあると思います。
例えば店の紹介文からアイスクリーム屋かケーキ屋、たこ焼き屋、etc...を検索したい時、SQLだとこんな感じでWHERE句を作ると思います。
WHERE (description LIKE %アイスクリーム% OR description LIKE %ケーキ% OR description LIKE %たこ焼き%))
DjangoではQ objectを使うやり方で、下記のようになります。
cafeList = Cafe.objects.filter(Q(description__contains = "アイスクリーム") or Q(description__contains = "ケーキ") or Q(description__contains = "たこ焼き"))
Q objectを連結させていくイメージなのですが、Q objectの数が動的に変わる場合はどうするのでしょうか。先日参加したDjangoのもくもく会でakiyokoさんに教えてもらったのが、下記のようなやり方です。
検索フォームから"アイスクリーム ケーキ たこ焼き "
keywords = ["アイスクリーム", "ケーキ", "たこ焼き"] for keyword in keywords: # 'or' the Q objects together q_objects |= Q(description__contains=keyword)
パイプとイコールサインを組み合わせるシンタックスって初めてみたんですが、こうするそうです!
python - How to dynamically compose an OR query filter in Django? - Stack Overflow
Django学習にオススメの書↓
- 作者: 横瀬明仁
- 出版社/メーカー: NextPublishing Authors Press
- 発売日: 2018/08/26
- メディア: オンデマンド (ペーパーバック)
- この商品を含むブログを見る
- 作者: 横瀬明仁
- 発売日: 2018/12/08
- メディア: Kindle版
- この商品を含むブログを見る
APSchedulerを使ってcronやHeroku Schedulerにサヨナラする
例えば、定期的にデータをどこから引っ張ってきてDBに落としたい時にVPSではcron、HerokuではHeroku Schedulerを使っていたのですが、APSchedulerが良いとなんども聞いたので、@kabkansaiさんのブログを参考にHeroku Appで使ってみました。
BlockingSchedulerが一番シンプルな使い方ができるクラスだと公式にありました。ですので今回は、これを元にいろんなケースを考えてみました。
月曜から金曜までの11:50にjob.run()を実行する
from apscheduler.schedulers.blocking import BlockingScheduler import job if __name__ == '__main__': scheduler = BlockingScheduler({'apscheduler.timezone': 'Asia/Tokyo'}) scheduler.add_job(job.run, 'cron', day_of_week='mon-fri', hour='11', minute='50') scheduler.start()
毎日9時、11時、16時、17時に実行する
scheduler.add_job(job.run, 'cron', hour=‘9,11,16,17’)
毎月最終日曜日の0:00に実行する
scheduler.add_job(job.run, 'cron', day='last sun')
月曜から金曜の15:10から21:10まで1時間おきに実行する
scheduler.add_job(job.run, 'cron', day_of_week='mon-fri', hour='15-21', minute='10')
6月から8月、11月から12月の第2金曜日の0時半、1時半、2時半、3時半に実行する
scheduler.add_job(job.run, 'cron', month='6-8,11-12', day='2nd fri', hour='0-3', minute='30')
これ複雑すぎますよね!公式に書いてあった例を少し変えたものです。
私はcronのsyntaxを覚える気が昔から全くなくてですね笑、これだとわかりやすいですよね!
Django + Bulma + Heroku Postgresで景気ウォッチャー調査のコメントを検索する
政府統計の問題が国会を賑わせていますが、毎月勤労統計のダウンロード可能なデータのフォーマットは本当にひどかったですよ。少なくとも去年の夏頃見た時は。
このさらに下には余白の行と別のテーブルヘッダーがついてページ2, ページ3というふうに続いていくのですが、どうやったらこんな出力できるのか、逆に知りたいくらいです。
こちら側としては、やりたい事は分析や洞察を得たり、傾向を掴むことなのにその前段階の処理でどうして時間使わないといけないのか。我々の税金が政府統計の収集の原資になっているのにそれが広く加工可能な状態で提供されていないなんて、どの口でデータ・ドリブン経済なんて今年の世界経済フォーラムで言うとるんや、と悪態をつきたくなりますわ笑
閑話休題。このブログでも何度か紹介しているのですが、景気ウォッチャー調査は
全国のそれぞれの地域の景気に関連の深い動きを観察できる立場にある人々の協力を得て、地域ごとの景気動向を的確かつ迅速に把握する目的で作られた統計 (内閣府より)
です。
地域の景気に関連の深い動きを観察できる立場にある人々は例えば 会計士、企業経営者、タクシー運転手、小売店店主や営業部門で働いている人々です。「良くなっている」~「悪くなっている」の5段階の評価とその理由が公表されます。
理由のコメントを読んでいると実に興味深く製造業であれば受注が急減した、夏まで好調だったのにガラッと変わったとか、インバウンド消費が減った等自分の知らない業界ではこんな事が起きているのだなと把握できるわけです。もちろん調査対象となった人の主観が入っているコメントなのでその辺も差し引いて考える必要はあると思います。
こうした定性的な情報を手軽に検索したいなと思ってDjangoで作ってみたのが「見える景気ウォッチャー調査」です。 https://mieru-econ-watcher.herokuapp.com/
「見える」と言いつつ今の所コメントを検索して「読む」だけなんですが、グラフやテーブルを加えてインフォグラフィックス的な部分も加えていきたいなと思います。データセットは2010年以降分があり、順次追加する予定です。
Django + Bulma + Heroku Postgresの組み合わせです。
こんな機能欲しいなど要望があればぜひ連絡ください!