見出し画像

【50日目】相場の解析を始めるための環境構築【Jupyternotebook】

今日はまた1から準備です。
早くFXか仮想通貨の相場の解析をしたいです。

0.Jupyternotebookの導入

Anacondaで入れた人はすでに入っているらしい。
Windowsボタンを押してJupyくらいまで打つと一番上にプログラムが表示される。

そこから新規フォルダを作って、その中に新しいnotebookを作ったよ。

1.ライブラリのインストール

pipコマンドを使って、Talibのインストールを試みた

!pip install Talib

うんともすんとも言わない。
ここから既に調べる必要がありそうです…
道のりは長い

2.notebookの内容

とりあえず以下の内容はエラーをはかずに移行できました。

import pandas as pd
import numpy as np
from plotly import figure_factory as ff
from plotly import graph_objs as g_o
from plotly.offline import plot

ついでに使えそうな定義も引っ張ってきておきます。

def convert2df(data,choice_timeframe):
   timestamp = []
   open_rate = []
   high_rate = []
   low_rate = []
   close_rate = []
   for i in data:
       timestamp.append(i["timestamp"])
       open_rate.append(i["open_rate"])
       high_rate.append(i["high_rate"])
       low_rate.append(i["low_rate"])
       close_rate.append(i["close_rate"])
   data_jisyo = {'open_rate':open_rate,"high_rate":high_rate,"low_rate":low_rate,"close_rate":close_rate}
   agg_jisyo = {'open_rate':'first','high_rate':'max','low_rate':'min','close_rate':'last'}
   df_row = pd.DataFrame(data_jisyo,index = timestamp).resample(choice_timeframe).agg(agg_jisyo)
   df = df_row.dropna()
   return df

def check_ohlc(df_row):
   df_li = []
   df_max = df_row.max(axis=1)
   df_min = df_row.min(axis=1)
   for i in range(len(df_row)):
       if df_max[i] == df_row.iat[i,1]:
           if df_min[i] == df_row.iat[i,2]:
               df_li.append(df_row.iloc[i,:])
   df_df = pd.DataFrame(df_li)
   return df_df

def calc_num_candlestick(choice_period,choice_timeframe):
   num_candlestick_jisyo = {"1T":1,"5T":5,"10T":10,"15T":15,"30T":30,"1H":60,"4H":240,"1D":24*60,"1W":24*60*7}
   num_candlestick = choice_period*num_candlestick_jisyo[choice_timeframe]
   return num_candlestick
 #def  calc_bb(df,bb_period,bb_num):
#    close = np.array(df['close_rate'])
#    for arr in talib.BBANDS(close, bb_period=bb_period, nbdevup=bb_num, nbdevdn=bb_num, matype=0):
#        output = np.c_[output, arr]
#    cols += ['BBANDS_upperband', 'BBANDS_middleband', 'BBANDS_lowerband']
#    return output

あとはパラメータを指定するためのセルを用意してみました。
ついでに説明書きも書きました。

パラメータの意味と指定可能な値は以下の通り

symbol:通貨の種類:"XBTUSD","XBTJPY"
timeframe:チャートの足の種類:"1T", "5T", "10T", "15T", "30T", "1H", "4H", "1D", "1W"
period:チャートに表示する足の数:任意の自然数
choice_symbol = 
choice_timeframe = 
choice_period = 

今日はここまで。

あなたによって僕は生かされている。 私もあなたを生かせられますように。