Yodaka

yodaka(よだか)です。2021年から仮想通貨を触っています。Bot開発もしています。資本主義が好きです。

Bot

2023/12/17

仮想通貨botの開発を本格的に始めてみる#30(2023/11/13)「MMBotの開発に着手する:ソースコードの構造解析:準備編」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回から、MMBotの開発を進めていきます。 参考にした記事はこちら。「Python3 MarketMaker(MM)BOTのサンプルロジックとソースコード」です。 「MMBotって何?」という方は、こちらの記事を読むことをオススメします。 ソースコードの解析 ChatGPTを使って、ソースコードの解析をしました。 1.ライブラリのインポートとAPIキーの設定 import datetime import time import c ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#29(2023/11/8)「1分ローソク足データ生成ver.3」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回のテーマは「1分足の生成コードを修正する」です。 1分足データを生成するコード(修正版) 今まで使用していたコードでは、接続エラーで止まってしまうことがありました。 そのため、保険的に「接続エラーが出た時にそれを回避する方法」を取り入れました。 今回の修正点は「API接続にエラーが出た際にリトライする」機能を入れたことです。 以下のコードで、bitFlyerのAPIからビットコインFXのローソク足(1分足)を生成することができま ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#28(2023/11/7)「バックテストとローソク足(1分)の取得&データ生成(修正版)」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回の記事の後半では「bitFlyerの約定履歴からローソク足(1分足)を生成するコード(修正版)」も載せてあります。 Cryptowatchが使えなくなって困っている方の参考になれば幸いです。 バックテストと視覚化 以下のコードはドンチャンブレイクアウトのバックテストをできる限りシンプルに行えるようにするためのものです。 import json from datetime import datetime import matplo ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#27 (2023/11/4)「ローソク足データ生成(改)」

前回の記事に引き続き、今回も仮想通貨ボットの開発状況をまとめていきます。 以前より、生成したローソク足データの読み込みでエラーが出ていたので、その原因を突き止めようとしています。 結論としては、データが整理されていないことが原因だったようです。 コードを修正して1分足のデータを保存・更新するようにしました。 ローソク足データ(1分足)の生成 import requests import json from datetime import datetime, timedelta import time # ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#26(2023/11/2)「ドンチャンブレイクアウトのバックテスト(改)」

前回の記事に引き続き、仮想通貨botの開発状況をまとめていきます。 今回参考にしたのはこちらの記事。 掲載されていたコードを土台にしてChatGPTに書き換え指示を出して改良していきました。 BitFlyer FXにおけるバックテストコード bitFlyerのAPI(https://api.bitflyer.com/v1/getexecutions?product_code=FX_BTC_JPY&count=500)を直接叩いて過去500件の約定履歴からローソク足データを形成し、ドンチャンブレイク ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#25(2023/11/1)「価格取得とローソク足生成の実験」

前回の記事に引き続き、仮想通貨botの開発状況をまとめていきます。 今回は、ヒストリカルデータに対応したバックテスト用コードをChatGPTに書かせてみました。 なかなかうまくいかないものですが、開発途中のコードを備忘録として残しておきます。 価格取得用のコード 実際に稼働させつつ、過去データを蓄積するコード。 ビットフライヤーFXのAPIを利用して、1分足・5分足・15分足・1時間足でそれぞれローソク足データを蓄積するためのコードです。 import requests import json from ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#24(2023/10/28)「ドンチャンブレイクアウトのバックテスト&視覚化」

前回の記事に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 バックテストのコードを修正する 以下のコードは、ビットフライヤーFXでのドンチャンブレイクアウトの検証用コードです。 ChatGPTに指示を出して、コードの修正をしました。 出した指示は「ビットフライヤーのAPI」である「https://api.bitflyer.com/v1/getexecutions?product_code=FX_BTC_JPY&count=500を指定すること」と「文字列形式の日時をパースしてUNIX ...

Bot

2023/11/18

仮想通貨botの開発を本格的に始めてみる#23(2023/10/25)「ローソク足データを取得する」

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回のテーマは「過去の価格データを蓄積する」こと。 参考にしたのはこちらの記事です。 下準備 #20の記事で直面していた「価格データの読み込み」問題は解決しました。 メイン処理を二つ並行して行なっていたことが原因だったようです。 ファイルから読み込む処理だけを稼働させる状態にしてコードを実行したところ、過去データからの取得を元にしてコンソールに情報を表示させることができました。 なぜ、過去のデータの蓄積が必要なのか botを最低限の ...

Bot

2023/10/3

仮想通貨botの開発を本格的に始めてみる#22(2023/10/1)

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回はこちらの記事を参考にして、「ドンチャン・チャネル・ブレイクアウトのバックテスト検証」を行いました。 宿題:平均保有期間の追記 こちらの記事を参考にして「平均保有期間」も算出できるようにコードを書き換えました。 flag変数に買いと売りの保有期間を示す変数を追加しました。 その変数を集計用の関数とコンソール出力用の関数にそれぞれ組み込んで完成です。 ドンチャン・チャネル・ブレイクアウトとは ブレイクアウトとは、過去の一定期間にお ...

Bot

2023/9/28

仮想通貨botの開発を本格的に始めてみる#21(2023/9/28)

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回はこちらの記事を参考に「バックテストでbotの勝率・平均リターン・総利益を算出する」ことがテーマです。 今回使用するコードは大変長いため、つまずいた部分や深掘りした部分のみ取り上げています。 バックテストとは バックテストとは「過去のデータを使って検証を行うこと」です。 今回はCryptowatchの過去データを使って、三兵の売買ロジックの検証をします。 コードの一部を書き換えて出力される結果を確認するという流れになります。 出 ...