asavinov/intelligent-trading-bot

Intelligent Trading Bot: Automatically generating signals and trading based on machine learning and feature engineering

何を解決するか

このプロジェクトは、機械学習を用いて価格変動を予測する自動取引ボットを構築するためのフレームワークを提供します。過去のデータに基づいてモデルを訓練するオフライン訓練フェーズと、リアルタイムで意思決定を行うオンライン予測フェーズの間に一貫性を保つという課題に対処します。

動作方法

システムは2つの主要モードに分かれています:

  1. オフライン(バッチ)モード:BinanceやYahooなどから過去データをダウンロードし、データストリームを統合し、TA-Libやtsfreshなどのライブラリを使って派生特徴量を生成し、ラベル(将来の価格目標)を作成するスクリプトのパイプライン。その後、分類または回帰の機械学習モデルを訓練してこれらのラベルを予測します。
  2. オンライン(ストリーム)モード:クラウドベースのサービスが定期的に最新の市場データを取得し、訓練時と同一の派生特徴量を計算し、訓練済みの機械学習モデルを適用して予測を生成。それらを統合して最終的な「インテリジェントインジケーター」スコアを生成します。

システムには、ローリングウォークフォワード分割を使用して、定期的に未見のデータでモデルを再訓練することで、現実的な取引パフォーマンスをシミュレートするバックテストスイートが含まれています。

対象ユーザー

暗号資産やその他の資産取引において、生産環境向けのパイプラインに機械学習モデルを統合したいアルゴリズム取引に興味を持つトレーダーや開発者。

特徴

  • 一貫した特徴量エンジニアリング:訓練時とライブ取引の両方で正確に同一の派生特徴量が使用されるように保証。
  • 拡張可能な特徴量セット:TA-Libによる標準的なテクニカルインジケーターと、tsfreshによる複雑な時系列特徴量をサポート。
  • 柔軟な出力:Telegram、APIエンドポイント、または実際の取引の実行など、さまざまな方法でシグナルを送信可能。
  • 現実的なバックテスト:データ漏洩を回避し、実世界のパフォーマンスをより正確に推定するために、シミュレーションスクリプトとローリング予測スクリプトを含む。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト