GooglecolabでGoogledrive上のjsonファイルを読み書きするコード

最小の構成で表記の操作を行う

#google driveでjsonファイル操作する際の簡素なコード

from google.colab import drive
import json
drive.mount('./gdrive')

#書き込み例
A = {"AA":"aa", 
     "BB":"bb", 
     "CC":"cc"}
#ファイルに書き込み
with open("./gdrive/My Drive/Bot_materials/materials/A.json", 'w') as f:
    json.dump(A,f)

#ファイルから読み込み
f = open("./gdrive/My Drive/Bot_materials/materials/A.json", 'r')
A = json.load(f)

両建てトレード手法の開発①

f:id:xpppp:20191109213307j:plain

両建てトレード手法を開発する

以下、トレードイメージ

~~~

min_profit = set minimum profit price
SF = safety factor 

def get_predict_range(open,close)

    pred_high = predict high
    pred_low = predict low

        return pred_high, pred_low 

while
    if exist position

        wait(Xcandles)
        close all positions

    else

        get_predict_range

            if pred_high - close > min_profit*SF
                send buy limit order


            if close - pred_low > min_profit*SF
                 send sell limit order

time.sleep(wait)

~~~

以下、すべきこと

  • HighとLOWのLSTM実装

      close, high, low, をそれぞれ別プログラムで予想して最後にドッキングが効率が良いかも
    
  • pred_high, pred_lowのプロット

  • ロジックの実装

  • 上記ロジックのバックテスト

  • バックテスト環境とロジックのモジュール化

自動売買Botの作成進捗①

f:id:xpppp:20191109213307j:plain

できるようになったこと

  • 基本的な自動売買のテンプレートプログラム作成

  • 機械学習ライブラリを仮想通貨に応用

  • 各時間足のバックデータ取得、利用(6000本分) 標準比較データの設定(再度取り直す必要あり)こちらのサイトを参照

  • 売買ロジックの設定 バックテストこちらのサイトを参照

これからすべきこと

  • 売買ロジックの評価方法の検討 例)ある手法を開発した際の評価、検討・比較 方法

  • backtestingライブラリの出力で比較、月間のreturnで評価 出力結果はスプレッドシートで管理、随時ソーティング ※最終的には各項目を管理、利益率が上位に来るものを ランキング形式でチョイスして使用するなど

  • backtesting.libについて調べる

  • strategy_tableに思いついたインジケータを載せてバックテストを行う

LSTM_DoublePosition_trade

  • openとcloseをLSTMでプロットできるようにする

  • モデルの精度を評価する

  • オーダーブックからcloseを予想する。

LSTMを勉強する③

 

xpppp.hatenablog.com

 上記記事のエラー対策方法について、

 

# テストデータを使って予測&プロット fig, ax1 = plt.subplots(1,1) ax1.plot(df[df['time']>= split_date]['time'][window_len:].astype(datetime), test['close'][window_len:], label='Actual', color='blue') ax1.plot(df[df['time']>= split_date]['time'][window_len:].astype(datetime), *1+1) * test['close'].values[:-window_len])[0], label='Predicted', color='red') ax1.grid(True)

 

TypeError: dtype '<class 'datetime.datetime'>' not understood

 

学習結果をプロットしようとすると、 上記のエラーが出た。

.astype(datetime)を削除することでエラーが解消できた。

 

f:id:xpppp:20191111202325p:plain

 

上記の様に、LSTMで後追い予想程度はできる様になった。

ここからどうエッジをつけていくか次回から考察する。

 

https://github.com/PP-lib/Bot_materials/blob/master/LSTM_191109.ipynb

 

 

*1:np.transpose(yen_model.predict(test_lstm_in

LSTMを勉強する②

xpppp.hatenablog.com

上記作業の続き。

OANDAのAPIで対処出来ないエラーが出ていたが、本来は仮想通貨で取引したいため、bitflierのAPIに読み替えて写経した。bitflierのAPIこちらを参考にした。

全て写経が終わったところで、以前から対処出来ていない

f:id:xpppp:20191111002722j:plain上記のエラーが発生。

明日、対処方法を検索する。

52a9705a50370847ea9b85323fa3f628284b43bb

LSMTについて勉強する①

f:id:xpppp:20191109213307j:plain#LSTMについて勉強する

まず、こちらのサイトを写経する LSTMでFX予測をやってみよう(機械学習初心者向けチュートリアル)

写経中にoandapyを使用するところでattributeエラー発生。

明日、下記URLに従って対応してみる。

途中、OANDAのpipのバージョンが合わない?等の理由で動かないっぽい 下記の記事を見ながら対応してみるが、仮想通貨で取引したいのでここで粘らずbitflier に読み替えて進めていく。

qiita.com

その他 備考 リポジトリを非公開にする方法

reasonable-code.com

【作業記録】自動仮想通貨売買botの作成

f:id:xpppp:20191109212701j:plain

仮想通貨売買bot作成までの作業を記録する

目標

日利2%を安定して稼ぎだすBotの作成を行う

動作環境

端末 :iPad Air2(magic keyboard)

エディタ :Google collaborate

サーバ :cloud9

基本構成

文系でもわかる!Bitcoin自動売買トレードの始め方を基にプログラムを作成していく。

作業記録

作業日 作業内容 参考資料 作業ファイル
2019 / 11 / 8 Qiitaで作業記録の立ち上げ Markdown記法 サンプル集
2019 / 11 / 8 LSTMの実装検討 LSTMでFX予測… LSTM_MODEL.ipynb
column column column column

作業日誌

20191108

Qiitaに作業記録を作成 今後、作業する際にはここを起点にBot作成していく Markdown記法は上記を参照する。

こちら

20191109

githubを上手く使いたいが、あまりピンと来ていないので使い方がよくわからない。 理想の手順としては、プログラム編集したくなった際に

  1. はてブロに予定作業を記入
  2. githubからプログラムを読み出す。or googlecolab で新規作成
  3. プログラム編集@googlecolab
  4. githubにプログラムを保存
  5. はてブロに作業内容とリンクを記入

みたいな流れで作業を進めていきたい。

以降、それぞれの記事で作業内容を管理する。