Skip to content

Instantly share code, notes, and snippets.

View sawadyrr5's full-sized avatar

さわでぃ sawadyrr5

View GitHub Profile
@sawadyrr5
sawadyrr5 / cutFollowers.py
Created June 7, 2020 10:02
一方的にフォローされているフォロワーをブロ解するスクリプト
import json, config
from requests_oauthlib import OAuth1Session
from time import sleep
# 同じフォルダにconfig.pyというファイルを作っておく
# トークンの取り方とかはここ参照
# https://qiita.com/bakira/items/00743d10ec42993f85eb
CK = config.CONSUMER_KEY
CS = config.CONSUMER_SECRET
AT = config.ACCESS_TOKEN
@sawadyrr5
sawadyrr5 / gist:e6ba0812e1deb183df10c87e44e06d06
Last active May 30, 2020 11:21
SQLとSQLAlchemyの対比メモ
create table shop
(
	shop_id int,
	shop_name varchar(100),
	shop_location varchar(20)
	primary key (
		shop_id
	)
)
@sawadyrr5
sawadyrr5 / gist:a48ca4fa88274919fdb3ad303a29e8d3
Created March 26, 2020 14:06
IRRBBをPythonで計算してみる

TL; DR

債券をキャッシュフローに分解してイールドカーブの形状変化による価値変化をシミュレーションしてみる.

IRRBBとは

IRRBBは、"Interest Rate Risk in the Banking Book"の略で、銀行勘定の金利リスクのことをいいます。これは、金利水準の不利な変動により、銀行勘定の資産・負債の市場価格あるいは収益が変動することにより生じるリスクを指し、バーゼル銀行監督委員会の自己資本規制の枠組みにおいて、第2の柱(監督上の検証プロセス)の一環として位置付けられており、また「金利リスクの管理と監督のための諸原則(IRR諸原則:2004年制定)」に提示されたガイダンスが適用されます。 IRRBBとは|金融経済用語集

つまり銀行が抱えている金利リスクを明らかにするために, 金利水準が変化した場合のシナリオごとに発生する損益を明らかにせよということ.

@sawadyrr5
sawadyrr5 / gist:d15990fda7b65612ed7107cf8d6a86e3
Created March 26, 2020 14:04
適用期間のあるデータをうまく表現するテーブル設計を考える

適用期間のあるデータを表現したい場合, シンプルに考えると適用開始日と適用終了日を持たせるテーブル設計を行うかと思います.

ID(PK) 適用開始日(PK) 適用終了日
1 2018/1/1 2018/1/31 a
1 2018/2/1 2018/2/28 b
1 2018/3/1 9999/12/31 c

ただし, このテーブルには課題があります.

@sawadyrr5
sawadyrr5 / gist:955553b04e39b576703dd6ab5085e266
Created March 26, 2020 14:04
PythonでcsvからSQL ServerにINSERTするユーティリティクラスを作った

この記事の内容

スクレイピングなどで集めたcsvファイルを分析のためにRDBに入れたいということはよくありますね。 ただし、いちいちインポートしたりbulk insertするのも面倒です。そして、なんなら収集と同時に取り込みも自動でやりたいところ。 そういう場合に役立つ道具がほしかったので作りました。

sawadyrr5/CsvImporter: Easy Csv to RDB Importer.

どういう機能があるか

@sawadyrr5
sawadyrr5 / gist:d858c9b7ec9dc40103cf2076ed72cea0
Created March 26, 2020 14:02
セブンカード以外でもnanacoオートチャージがしたい!

chuni_nanaco.png

この記事の内容

  • nanacoウェブページにアクセスし, 残高確認, クレジットチャージ, クレジットカード解除を行うpythonスクリプトです.
  • Seleniumを利用せず, requestsとHTMLParserのみに依存するので, AWS Lambdaでも簡単に実行できます.
  • Cloudwatch Eventと組み合わせて, 毎日定時に登録済みクレジットからnanacoを(疑似)オートチャージする機能も構築できます.

インストール

@sawadyrr5
sawadyrr5 / gist:a297dcc83704ce172e881540f243a07a
Created March 26, 2020 14:01
XBRLを読み込んで業績の変化を簡単に可視化してみる
@sawadyrr5
sawadyrr5 / gist:8933663e9cd1232468ac37b8d02bed14
Created March 26, 2020 14:00
UFOキャッチャーからXBRLをダウンロード&パースするクラスを作った

この記事について

Pythonでファンダメンタル投資のデータを集められないものかと思い, 調べてみたらUFOキャッチャーからXBRLをダウンロードしていろいろやっている記事がいくつか見つかりましたが, どれもスクラッチで面倒そうだなぁと思ったのでXBRLをサクッと取得&解析できるモジュールを作ってみました. 作ってみたばかりなのでおかしいところがあればご連絡いただけるとうれしいです.

1. インストール

Gitリポジトリからインストールします.

sawadyrr5/UfoDataReader

@sawadyrr5
sawadyrr5 / gist:48c342d6472c7c6b57b8cc1b947488f4
Created March 26, 2020 14:00
pythonでnanacoクレジットチャージできるモジュールPyNanacoを作った

GitHub

PyNanaco

これは何ですか

  • seleniumを使ってnanacoウェブページにアクセスし, ログイン・ログアウト, クレジットチャージ, クレジットカード設定・解除ができます.
  • 1回のコマンドで最大50,000円までのクレジットチャージが可能です.

メリット

  • 50,000円を1回の操作でチャージできるのでweb画面を操作するより簡単
  • 複数枚のnanacoにクレジットカードを設定・解除する作業も数行で記述可能
@sawadyrr5
sawadyrr5 / gist:39bf93f443dc861d47116e27fc8d5a68
Created March 26, 2020 13:59
APIファースト開発勉強会に参加してきた

11/5に @kantomi さん主催の勉強会に参加してきたので, 得られた知見などをメモしておきます. 個人的にはたいへん有意義な勉強会でありがとうございました. 機会があればまた参加したいと思います.

概要

  1. UI, APIから設計開発をスタートする"APIファースト開発"によってDB設計の確定を後回しにし, DB設計変更による手戻り(=炎上)を防ごう.
  2. ビジネスロジックはSQLで書こう. RDBMSはいろんなことを考慮して実行計画を考えてくれる. O/Rマッパー逝ってよし.
  3. SQLで書けるかどうかはまずExcelで書いてみて考えよう. ExcelでできればSQLでできる.

APIファースト開発のメリット