LoginSignup
1
3

More than 5 years have passed since last update.

bitFlyer Lightning API を使ってAIトレードをやりたい! 【DB構築編~前編~】

Posted at

前書きの前書き

AIトレードは実際の金銭を扱います。
知識のない人はやらないようにしましょう。
知識のあるひとも自己責任でやりましょう。

これらの記事は、AIトレードの基盤を作ることを目標としていて、稼ぐことは目標としていません。
どちらかと言うとデータマイニングです。
稼げれば何よりですが、もう一度。

自己責任でやってください

前書き

前回、DBにpostgresqlかmysqlを使うと言ったな。
あれは嘘だ。

いやですね、elasticsearchと言う面白いDB(?)を教えてもらいまして。
使ったことない技術っておもしろそうじゃないですか?
高速でデータのやり取りできると言う話を聞いて、おや?おやおや?と。
なので、elasticsearchを使います。

開発環境

PC

機種名 : MacBook Pro
OS : High Sierra 10.13.1
プロセッサ名 : Intel Core i5 2.6 GHz
メモリ : 16 GB
グラフィック : Intel Iris 1536MB

言語/ライブラリ

  • Node.js 8.9.0
    • request
    • crypto
  • Python 3系(未定)
    • Tensor Flow
    • Chainer どっちか使う予定

DB(未定:学習用データ等を入れる予定)

  • elasticsearch 6.0.0
    • ライセンス等は自分で確認してね?

全体の流れ

  1. elasticsearchのセットアップ
  2. 前回作ったやつで取得したデータをelasticsearchにぶっこむ。

本題

elasticsearchのセットアップ

elasticsearchの環境構築進めていきましょう。
こちらの記事を参考に進めていきます。

はじめての Elasticsearch
https://qiita.com/nskydiving/items/1c2dc4e0b9c98d164329

JAVA_HOMEの登録

% java -version                                                                                                                                                                                      [20:05:39]
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
% echo $JAVA_HOME

JAVAは入っているけど、JAVA_HOMEは登録されていない模様。
環境変数を登録。
こんなんチョロですよ、チョロ。
この時、あんなことになるなんて知る由もなかった。
(このまましたのやつ動かすとエラーになるので、もう少し読み進めてください。)

% which java                                                                                                                                                                                         
/usr/bin/java
% echo export JAVA_HOME=/usr/bin/java >> .bash_profile
% source ~/.bash_profile

elasticsearchのセットアップ

今回入れるのは最新(2017/11/25)の6.0.0なので、それっぽく変えてやっていきます。

% wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz
% tar -xzf elasticsearch-6.0.0.tar.gz
% cd elasticsearch-6.0.0
% bin/elasticsearch-plugin install analysis-kuromoji
Unable to locate an executable at "/usr/bin/java/bin/java" (-1)

ふむ、エラーが出ました。参照しているパスがさっき登録したところと違う模様。

JAVA_HOMEの登録②

先程チョロと言いましたが、チョロじゃなかった。

/usr/bin/javaの階層に、binはないので、おかしいなとググった結果。

環境変数にはexport JAVA_HOME=/Library/Java/Homeと登録する必要があったみたいです。
なので、修正。

% vi ~/.bash_profile
% source ~/.bash_profile 

elasticsearchのセットアップ②

再チャレンジ

% bin/elasticsearch-plugin install analysis-kuromoji                                                                                                                                                 
-> Downloading analysis-kuromoji from elastic
[=================================================] 100%
-> Installed analysis-kuromoji

行けました。

動作確認

% bin/elasticsearch
~ログがばーっと出る~
[2017-11-25T20:23:09,868][INFO ][o.e.n.Node               ] [Pk16-Uf] started

startedが出たので行けるはず。

http://localhost:9200/にアクセスしてみる。

{
  "name" : "Pk16-Uf",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Y92hQ0cAR8ivRMDsVUsiCw",
  "version" : {
    "number" : "6.0.0",
    "build_hash" : "8f0685b",
    "build_date" : "2017-11-10T18:41:22.859Z",
    "build_snapshot" : false,
    "lucene_version" : "7.0.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

jsonが表示されたので成功したようです。

Kibanaのセットアップ

特に問題起きなかったのでサラッと。
bash
% wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-darwin-x86_64.tar.gz
% tar -xzf kibana-6.0.0-darwin-x86_64.tar.gz
% cd kibana-6.0.0-darwin-x86_64

動作確認

動かしてみます

% bin/kibana
~ログがばーっと出る~
  log   [11:54:23.317] [info][status][ui settings] Status changed from yellow to green - Ready

動き出したようです。

http://localhost:5601/にアクセスしてみる

screencapture-localhost-5601-app-kibana-1511611150630.png

できたのか?

No default index pattern. You must select or create one to continue.

ワーニングを適当に訳すと、インデックスがね~からつくれよ!
ってことらしい。

.
..
...
うん、無視していけそう。

screencapture-localhost-5601-app-kibana-1511614150171.png

三角ボタン押して、右側に結果が出てきたら成功。

{
  "took": 1,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 1,
    "hits": [
      {
        "_index": ".kibana",
        "_type": "doc",
        "_id": "config:6.0.0",
        "_score": 1,
        "_source": {
          "type": "config",
          "config": {
            "buildNum": 16070
          }
        }
      }
    ]
  }
}

感想

一旦ここまで。
次回、簡単にインデックス等構築したところから、進めていこうかと思います。
環境構築自体は比較的簡単にできるけど、使いこなせるかは別問題。
そもそも、今回の機能に合うDB(?)なのかな?

以上!

関連URL

elasticsearch
https://www.elastic.co/jp/products

はじめての Elasticsearch
https://qiita.com/nskydiving/items/1c2dc4e0b9c98d164329

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3