ここでは、バックテストのコードを分析する。
使えるリストはだいたいわかってきて
Python_基本操作1.ipynb
Python_基本操作2.ipynb
Python3_ライブラリの利用-datetime-.ipynb
ライブラリの利用-glob-.ipynb
numpy.ipynb
pandas.ipynb
でここでは以下を勉強する。
python_analize_backtest.ipynb
このデータを使うので、
elif "open_time" in df.columns:
timestamp = df.open_time.values
を追加
最近できたRSIのコードを追加。
def make_RSI(df, span=14):
df["diff"] = df["close"].diff() # 価格の変化幅を計算
up, down = df["diff"].copy(), df["diff"].copy()
up[up < 0] = 0
down[down > 0] = 0
A = up.rolling(span, center=False).mean() # 上昇幅
B = down.abs().rolling(span, center=False).mean() # 下落幅
RS = A / B
RSI = 100 - (100/(1 + RS))
df[f"rsi_{span}"] = RSI
return df
でバックテスト。
まあ上に向くようになった。
【課題】パラメータを変えてfor文を回すようにした場合どうなるでしょうか。
。。。んううむ
まあRSIの数字を1から変えてってそれぞれ結果を出せばいいんだよ。多分。
で一番成績のいいやつがわかれば。いいんだよ。 ??
ううむ、イベント参加でやはりこのコード理解しないと前に進まない気がしてきた。