kaggleにビットコインの過去データがあったので、mysqlにインポートしてみた
https://www.kaggle.com/mczielinski/bitcoin-historical-data
2011-12-31 16:52:00から
2021-03-31 09:00:00までの約10年の1分毎のデータ
1分足チャートのテーブルを作る
1 2 3 4 5 6 7 8 9 10 11 12 |
create table chart ( id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, timestamp_int int UNIQUE, minutes_timestamp timestamp UNIQUE, open double, high double, low double, close double, volume_btc double, volume_currency double, weighted_price double ); |
500万行くらいあるのでmysqlにログインして、SQL文(LOAD DATA)からインポート
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
LOAD DATA LOCAL INFILE 'C:\\Users\\xxxxxxxx\\Desktop\\bitcoin_chart.csv' -- CSVファイルのフルパス INTO TABLE chart -- インポート先のテーブル名 FIELDS TERMINATED BY ',' -- 区切り文字 IGNORE 1 LINES -- 1行目はヘッダなので無視 -- CSVの1カラム目から名前をつける。カラム名と同じor番号(@1,@2,@3)が一般的 (timestamp_int,open,high,low,close,volume_btc,volume_currency,weighted_price) -- 指定したカラムに代入。変換もSETでやる SET timestamp_int=timestamp_int, minutes_timestamp=FROM_UNIXTIME(timestamp_int), -- CSVでデータが無いのはNaNで表現されてたので、NULLに文字置換してインポート open=nullif(open, 'NaN'), high=nullif(high, 'NaN'), low=nullif(low, 'NaN'), close=nullif(close, 'NaN'), volume_btc=nullif(volume_btc, 'NaN'), volume_currency=nullif(volume_currency, 'NaN'), weighted_price=nullif(weighted_price, 'NaN') ; |
これで、ビットコインの自動売買のシミュレーションが過去チャート10年分が使える!