【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 =
今日はここまで。
あなたによって僕は生かされている。 私もあなたを生かせられますように。