2017/06/08 為替データを PostgreSQL に取り込む
_ [Python][SQL]自前で為替データの検証をするために DBに取り込みたい
Python での読み取りだけでなく、他のプログラムからも保存データにアクセスしたい という思いもあり、お手軽な sqlite3 ではなくポスグレ(PostgreSQL) にしようと思う。
昔使ってたこともあるし、先日から JSONB といった新機能を使ってみたり、など、 個人的にはより使いこなしたいツールでもあるのよね。(^o^)/
為替データは GMOクリック証券のヒストリカルデータを使う。 サイトにログインしてから、ツール > ヒストリカルデータ へと進み、 2017年1月から今月までの月ごとの zipped データを取得して展開し、1つに結合して 2017.csvとして保存しておく。
というわけで、早速ポスグレへの取込方法をググって(I googled arround) とりあえず取り込んで見た。
% createdb forex % pgsql forex forex=# create table hdata ( forex-# id SERIAL primary key, forex-# Date Date, forex-# Time Time, forex-# Open double precision, forex-# High double precision, forex-# Low double precision, forex-# Close double precision, forex-# Volume bigint forex-# ); CREATE TABLE forex=# COPY hdata (Date, Time, Open, High, Low, Close) forex-# FROM '/path_to_csv/2017.csv' DELIMITER ',' CSV; COPY 160500 forex=# select * from hdata where date = '2017-01-10' limit 10; id | date | time | open | high | low | close | volume ------+------------+----------+---------+---------+---------+---------+-------- 6781 | 2017-01-10 | 00:00:00 | 116.415 | 116.465 | 116.406 | 116.459 | 6782 | 2017-01-10 | 00:01:00 | 116.459 | 116.499 | 116.455 | 116.471 | 6783 | 2017-01-10 | 00:02:00 | 116.471 | 116.485 | 116.406 | 116.415 | 6784 | 2017-01-10 | 00:03:00 | 116.415 | 116.433 | 116.379 | 116.405 | 6785 | 2017-01-10 | 00:04:00 | 116.405 | 116.413 | 116.362 | 116.364 | 6786 | 2017-01-10 | 00:05:00 | 116.364 | 116.375 | 116.306 | 116.333 | 6787 | 2017-01-10 | 00:06:00 | 116.333 | 116.346 | 116.296 | 116.305 | 6788 | 2017-01-10 | 00:07:00 | 116.305 | 116.312 | 116.257 | 116.276 | 6789 | 2017-01-10 | 00:08:00 | 116.276 | 116.301 | 116.246 | 116.266 | 6790 | 2017-01-10 | 00:09:00 | 116.266 | 116.291 | 116.258 | 116.274 | (10 行) forex=#
個人的には、volume 情報も欲しいところだけど、GMOクリック証券のヒストリカルデータには 含まれておらず、この点は我慢するしか無い (-_-;;
これで、今回の小さな目的は達成したけど、このアクセス性を活かした活用方法の アイデアがショボイことに今更ながら気づいた ┐(´д`)┌ヤレヤレ
参考にさせて頂いたサイト:
[ツッコミを入れる]