トップ «前の日記(2017/06/06) 最新 次の日記(2017/06/09)» 編集

kaztomo日記


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クリック証券のヒストリカルデータには 含まれておらず、この点は我慢するしか無い (-_-;;

これで、今回の小さな目的は達成したけど、このアクセス性を活かした活用方法の アイデアがショボイことに今更ながら気づいた ┐(´д`)┌ヤレヤレ


参考にさせて頂いたサイト: