一部の戦略には一定レベルの技術データが必要ですが、他の戦略には 1 時間しかかからないことを考えると、プロセスは必ずしも単純ではなく、インフラストラクチャ、可用性、および次のような要素が考慮されます。接続性はデータの種類によって大きく異なる場合があります。
しかし、なぜこの記事では「トランザクション」データの取得についてのみ説明し、Binance API を使用するのでしょうか?私の記事の内容についていくつか質問があるかもしれません。
取引データのエンドポイントは主に 99.99% の取引所で利用できると思います。これは粒度が細かく、高頻度取引 (HFT) 戦略のバックテストに十分な詳細 (一部の非常に特殊なケース) を提供し、OHLC ローソク足 (必要に応じて 1S から 24H、またはそれ以上) ベースとして使用できます。
取引データは多用途であり、さまざまな頻度で戦略を使用して広範な実験を行うことができます。
バイナンスを選ぶ理由?
それは、その量が膨大なため、私が後回しにしてしまう傾向にある取引所の 1 つだからです。
シンボルのペア、開始日、終了日をコマンドとして受け取る Python スクリプトを作成します。行の引数。すべてのトランザクションを含む CSV ファイルをディスクに出力します。このプロセスは、次の手順で詳しく説明します:
1. シンボル、starting_date およびending_date 引数を解析します。
2. 開始日に発生した最初のトランザクションを取得して、最初のトランザクション trade_id を取得します。
3.ending_date に達するまで、リクエストごとに 1,000 トランザクションを取得するループ (Binance API 制限)。
4. 最後に、データをディスクに保存します。この例では、CSV として保存しましたが、他のオプションもあり、必ずしも CSV として保存する必要はありません。
5.パンダ、リクエスト、時刻、sys、および日時を使用します。コード スニペットでは、説明に値を追加しないため、エラー検証は表示されません。
スクリプトは次のパラメータを使用します:
1. シンボル: によって定義される取引ペアのシンボルバイナンス。これは、ここでクエリすることも、Binance Web アプリケーションの URL (_ 文字を除く) からコピーすることもできます。
-starting_date とending_date: 一目瞭然です。予期される形式は mm/dd/yyyy、または Python スラングを使用した %m/%d/%Y です。
パラメータを取得するには、組み込み関数 sys (特別なことは何もありません) を使用し、日付を解析するには、datetime ライブラリを使用します。
1 日を加算し、1 マイクロ秒を減算して、ending_date の時刻部分が常に 23:59:59.999 になるようにします。これにより、同じ日の間隔がより多く取得されます。実用的。
Binance の API と aggTrades エンドポイントを使用すると、start パラメーターと end パラメーターを使用すると、1 回のリクエストで最大 1000 個のトランザクションを取得できます。それらの間隔は最大でも 1 時間です。
何度か失敗した後、時間間隔取得を使用することで (ある時点で流動性がおかしくなり、貴重な取引を失うことになります)、from_id 戦略を試してみることにしました。
aggTrades は圧縮された取引を返すので、選択したエンドポイントに設定します。そうすれば、貴重な情報が失われることはありません。
次に、ヘルパー関数を使用して日付を解析し、calendar.timegm 関数を使用して日付を Unix ミリ秒表現に変換します。 timegm 関数は、日付を UTC で保持するため、推奨される関数です。
# current_time に to_date よりも後の最近取得したトランザクション日付が含まれているかどうかを確認し、含まれている場合は次のようにします。 # use From_id パラメータでトランザクションを取得します。
最新のトランザクションから取得した情報を使用して、from_id パラメータと current_time パラメータを更新します。
# これで、次の to_csv メソッドを使用してファイルに保存できるようになります:
# 他のデータ ストア メカニズムを使用することもできます。北極のように。
最後に: データを確認します
取引戦略を使用する際には、データを信頼することが重要です。次の検証を適用することで、フェッチしたトランザクション データでこれを簡単に行うことができます。
Binance トランザクション ID には増分番号が付けられ、シンボルごとに作成されるため、データが正しいことを簡単に確認できます。
追記: 成功するトレーディング戦略を作成するための最初のステップは、適切なデータを入手することです。
以上がPython を使用して Binance の履歴トランザクションを簡単に取得の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。