Python
DeepLearning
株価
Anaconda
PyTorch

Anaconda環境でPyTorch 〜株価分析〜 #01 環境構築編

はじめに

株式会社クリエイスモトキです。
突然ですが、PyTorchなるものを知ったので
「何も知らない自分がディープラーニングできちゃうのか」挑戦してみたいと思います。

別チーム

別チームでもPyTorchの記事を書いているようです。

曽宮・モトキ「AI?それっておいしいんですか?」

こう紹介されていますが、間違っていません。

基礎知識

PyTorchとは?

深層学習(ディープラーニング)のライブラリ。

深層学習とは?よく聞く機械学習と何が違うの?

キーワード 概要
機械学習 与えられた情報から、機械が法則やルールを見つける手法・プログラムを指す。
深層学習 機械学習の一種で、ニューラルネットという生物の神経系の振る舞いを模したモデル。
機械学習と異なり、学習する事柄をコントロールできる。

それぞれにはさらに細かい特徴があるようですが、とりあえずこのレベルの知識で進めていきます。
つまりPyTorchは「学習して欲しいものを学習させるために必要なもの」が揃ってるということです。


環境構築

環境構築〜Quandlからデータを貰ってくるところまで
環境はMacローカル環境で作ります。敷居の低さアピール
(環境を汚したくない人は、別チームの記事を参考にしてください)

Anacondaインストール

anaconda(Python3.6version)をダウンロードし、
インストーラに従ってインストール(時間がかかります)

zshの人は、.bash_profileからコードをパクってきます。

.zshrc
# added by Anaconda3 5.2.0 installer
export PATH="/anaconda3/bin:$PATH"

動作の確認

% exec $SHELL
% python --version
Python 3.6.5 :: Anaconda, Inc.

pytorchのインストール

% conda install pytorch torchvision -c pytorch

これでPyTorchが使えるようになった…と言っても実感がわかないですね。

quandlのインストール

金融・経済のデータを取得できるライブラリ。
今回は、深層学習に使うデータをここで取得します。

conda install quandl

試しにデータが取れるか単体で動かしてみる

test.py
import quandl
mydata = quandl.get("EIA/PET_RWTC_D")
print(mydata)
% python test.py
            Value
Date
1986-01-02  25.56
1986-01-03  26.00
...

もうちょい書き足して、Appleの株価を取得してみます。

test.py
import quandl
import numpy as np
import torch
from torch.autograd import Variable


def get_tensor_data(data_code: str, prev_day: int, today: int):
    tensor_x = []
    tensor_y = []
    get_data = quandl.get(data_code, returns="numpy")
    for k in range(prev_day):
        tensor_x.append(get_data[today - prev_day + k][1])
    tensor_y.append(get_data[today][1])
    tensor_x = Variable(torch.from_numpy(np.array(tensor_x))).float().view(1, 1, prev_day)
    tensor_y = Variable(torch.from_numpy(np.array(tensor_y))).float().view(1, 1, 1)
    return tensor_x, tensor_y


a, b = get_tensor_data("WIKI/AAPL", 5, 60)
print(a)

次回

次回は、Quandlから取得したデータで学習を行っていきます。

Creaithメンバー

この記事の著者:モトキ曽宮
その他メンバー:志村上田