Yodaka

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

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の過去データを使って、三兵の売買ロジックの検証をします。 コードの一部を書き換えて出力される結果を確認するという流れになります。 出 ...

Bot

2023/9/24

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

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回から「バックテストで勝率の検証をする」ことをテーマに学習を進めていきます。 参考にしたのはこちらの記事です。 勝率とは 勝率を考える上で重要な指標は「トレードの回数を増やすことができるか」「勝ち負けの差し引きで期待値を算出する」「1回のトレードで使った金額に対して平均して何%のリターンを得られるか」「トレードの結果、軍資金が何倍になったか」「最大でどれくらいまで軍資金を減らしたか」の5つです。 bot運用において、少なくともこれ ...

Bot

2023/9/24

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

前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。 今回はこちらの記事を参考にして「売買の状況をLINEに通知させる」をテーマに学習を進めていきます。 下準備 ここからはLINEのアカウントを持っていることを前提に作業を進めていきます。 まずは、LINE Notifyのサイトへアクセスしてログイン。 続いて、アクセストークンを発行します。 マイページ > トークンを発行する > トークン名、トークルームを設定 > 発行するを選択。 ここで表示されるランダムな文字列が ...