アルゴリズム取引におけるPython - ページ 16

 

IBridgePy の最新のバックテスト機能 by Dr. Hui Liu - 2019 年 8 月 9 日


IBridgePy の最新のバックテスト機能 by Dr. Hui Liu - 2019 年 8 月 9 日

iBridgePy の作成者である Hui Liu 博士が、iBridgePy が提供する最新のバックテスト機能と機能の詳細な概要を説明します。彼はまず、iBridgePy の基礎となる機能について説明し、アルゴリズム取引戦略の構築に必要な基本的な手順を説明します。

Liu 博士は、iBridgePy のバックテスト システムに焦点を当て、その使用法を示す 2 つのサンプル コードを紹介します。最初のサンプル コードは Interactive Brokers からの履歴データを利用し、2 番目のサンプル コードはユーザーが独自の履歴データを提供することでバックテスト エクスペリエンスを向上させる方法を示しています。彼は、将来の改善点を特定するためにバックテストのパフォーマンスを分析することの重要性を強調しています。

プレゼンテーション中に、Liu 博士は、ユーザーがアドバイザー ブローカーが提供するさまざまな証券や商品を取引し、複数の口座を同時に管理できるようにするハイブリッド パイ機能を紹介しました。同氏は、バックテスト中に複数の取引戦略を実行したり、コンサルティングアルゴリズムを実行したりするなど、投資アドバイザーにとっての利点を強調しています。

ブローカーに接続してリアルタイム データを取得するために、Liu 博士は、「ポジション表示の例」、「リアルタイム価格の例」、「履歴データの取得」など、iBridgePy 内のさまざまなファイルを切り替える方法を示します。ユーザーは口座コード、ファイル名をカスタマイズし、口座残高や未決注文にアクセスできます。 iBridgePy の初期化関数はグローバル変数を宣言し、ユーザーはコード ボックスを利用して、ハイブリッド パックのバージョンを報告することで iBridgePy チームに支援を求めることができます。 Liu 博士は、IBGateway の閉鎖と TWS Trade Workstation の開設に関するガイダンスも提供します。

スピーカーでは、コードの先頭で実行される初期化関数から始めて、iBridgePy の主要な関数について説明します。取引の決定を行うデータ処理機能は、毎分または設定可能な間隔で実行するようにスケジュールできます。ユーザーは、データをハンドルする代わりに、イベントのスケジュール設定にスケジュール機能を利用できます。特定の証券のリアルタイム価格には show_real_time_price 関数を使用してアクセスでき、履歴データは request_historyal_data 関数を使用して取得できます。有価証券を売買するには、place_order 関数を使用します。 Dr. Liu には、株価スクリーナー機能のライブ デモが含まれており、その機能を紹介しています。

Liu 博士は、ユーザーがソーシャル メディアの感情や価格に基づいて株を検索できる iBridgePy の株スクリーニング機能について説明します。ユーザーは、機器タイプ、場所コード、スキャンコードなどの検索パラメータを定義できます。例として、価格が 100 ドルを超える米国の主要株を検索するためのスキャン コードとしてソーシャル センチメント ネットを使用する例が示されています。講演者は、株価スクリーナーの動作を実演し、最も活発な銘柄のリストを提示し、ソーシャルメディアのセンチメントがどのように株の人気に関する洞察を提供できるかを強調しました。同氏は、アルゴリズム取引戦略を構築する際に、契約を選択し、リスク管理ガイドラインを設定することの重要性を強調して締めくくりました。

iBridgePy を使用してアルゴリズム取引戦略を構築するための基本的な手順は、Liu 博士によって説明されています。彼は、銘柄の選択、取引決定を行うための時間間隔の決定、履歴データによるテクニカル指標の計算、注文タイプの選択、例外の処理について説明します。例として、彼は SPY 契約を手動で入力し、毎日の終値を使用して取引の決定を行うことに基づいた単純な反転戦略を紹介します。サンプル コードには、取引の決定を行うためのスケジュールされた関数と毎日の関数が含まれています。

Liu 博士は、iBridgePy のバックテスト機能を詳しく調べ、履歴データを取得し、有価証券の終値を分析するために pandas データフレームを利用する機能を強調しました。移動平均クロスオーバーを使用したトレンド戦略のサンプル コードを示し、バックテストの基礎を説明します。バックテストには、取引の意思決定を通知するために履歴データに基づいて実践戦略を実装し、履歴データに対してそのパフォーマンスをテストすることが含まれます。また、関数実行のタイミングを制御するためのハンドル データ関数の別の使用法も強調し、米国市場の開始時間と終了時間に基づいてスケジュールされた関数にオプションを提供します。

Liu 博士は、iBridgePy バックテスト システムと関連するプロセスについての洞察を提供します。 iBridgePy を使用したバックテスト モードでは、使用されるタイム カプセルまたはローソク足がライブ取引と非常に似ていると彼は説明します。各ローソク足には、開始時間、始値、高値、安値、終値、出来高などの情報が含まれています。ただし、バックテストではスプレッドを正確にモデル化できないため、タイムカプセルには売値や買値は含まれていません。

Liu 博士は、バックテスト モードでは成行注文、指値注文、ストップ注文がサポートされていますが、トレーリング注文は意味のある結果が得られない可能性があるため、現在サポートされていないと述べています。バックテスト中のトランザクションの詳細は、バックテストの開始時刻を含むファイル名とともに出力フォルダーに保存されます。

次に、Liu 博士が iBridgePy でバックテスト期間を設定する基本プロセスについて説明します。ユーザーは、特定の株式の履歴データを取得する時間枠を設定し、タイムスポットの頻度を 1 分、1 時間、または 1 日として指定できます。古い契約の履歴データは、SPY や AAPL などのティッカーを使用して取得できます。コードは特に最新のスポット時間に実行して、目的の時間枠内のデータが利用可能であることを確認する必要があります。デフォルトでは、現金は 10,000 ドルから始まります。 Liu 博士は、デモを使用して口座残高とポジションを表示する方法を説明します。

Liu 博士はプレゼンテーションの中で、iBridgePy のバックテスト機能を使用して終値反転のデモ コードをシミュレートする方法を示します。彼は、履歴データに基づいてリアルタイム価格を使用する方法と、ターゲットを実行してパフォーマンスを観察する方法を示します。また、コードを毎分ではなく毎時間実行するように間隔を変更する方法も紹介しています。全体として、このビデオは、iBridgePy のバックテスト機能を投資戦略に活用する方法を示す有益なデモンストレーションを提供します。

Liu 博士は続けて、iBridgePy を使用してバックテスト プロセスを改善することの重要性について説明します。同氏は、まったく同じデータを取得するために同じコードを繰り返し実行することは、リソースを無駄にし、IB 間隔ルールに違反するため、避けることを提案しています。代わりに、同じファイル名で定義されたプランを使用して履歴データを取得し、実行する必要があるコードの量を減らすことをお勧めします。もう 1 つの提案は、Interactive Brokers からデータをフェッチする代わりに、ユーザーが提供する履歴データを使用することです。これにより、バックテスト プロセスがより効率的になります。

さらに、Liu 博士は、iBridgePy でバックテスト用のローカル データを提供する機能を紹介します。ユーザーは、始値、高値、終値、出来高などの必要な列をすべて含む CSV ファイルを提供できます。iBridgePy はローカル ファイルからデータを取り込み、それに応じてバックテストをシミュレートします。ボリュームが使用できない場合、ユーザーは値として「-1」を入力できます。この機能により、ユーザーの個人的な戦略に対する正確な結果が保証され、シミュレーションの効率が向上します。

Liu 博士は、カスタム時間ジェネレーターやコードのテストに乱数を使用する機能など、iBridgePy の追加のバックテスト機能も強調しています。彼は、Python パッケージとカスタム リストを使用して時系列を作成する方法と、リアルタイム価格の代わりに乱数を使用してコードをテストする方法を示します。さらに、パフォーマンス分析の重要性について説明し、バックテストのパフォーマンスを追跡および分析するためのログ ファイルの使用法を紹介します。これらの新機能は、iBridgePy でコードをテストおよび分析するためのより高速かつ効率的な方法を提供します。

さらに、Liu 博士は、ポートフォリオの価値とキャッシュに関する詳細を提供する残高ログやトランザクション ログなど、iBridgePy のバックテストの他の機能についても説明します。彼は、シャープ レシオなどのメトリクスや matplotlib パッケージを使用してグラフを作成し、バックテスト結果を視覚化および分析する方法を示します。リウ博士は、ユーザーが紙の口座での結果に満足したら、実際の取引のためにライブ口座に切り替えることができると述べています。

ウェビナーの Q&A セッションで、Liu 博士は、iBridgePy の最新機能に関する参加者からのさまざまな質問に答えます。 1 つの質問は、iBridgePy を使用した他人の投資口座の管理に関するものです。 Liu 博士は、個人がポートフォリオ アドバイザーになり、Interactive Brokers で管理口座を設定し、iBridgePy を使用して他の人の投資口座を管理できると説明します。

もう 1 つの質問は、特定の戦略のサンプル コードのダウンロードに関するものです。 Liu 博士は、参加者が iBridgePy Web サイトから、または iBridgePy コミュニティ フォーラムに連絡して、必要なサンプル コードを入手できることを提案しています。さらに、バックテスト用に過去のオプション価格とギリシャのデータを入手する方法についても出席者にアドバイスしています。リウ博士は、アクセス権があれば、個人はインタラクティブ・ブローカーズから過去のオプション価格を入手し、ギリシャのデータを利用するためのPythonコードを書くことができると述べた。

ある出席者は、iBridgePy がウォッチ リストを取得する API をサポートしているかどうかを尋ねました。 Liu 博士は、現在、iBridgePy はウォッチ リストを取得するための特定の API を提供していないと明言しました。ただし、ユーザーがインタラクティブ・ブローカーズのプラットフォーム内でウォッチ・リストを手動で作成できると同氏は示唆している。

最後に、Liu 博士は参加者に対し、さらに質問がある場合は iBridgePy コミュニティ フォーラムに投稿するか、電子メールを送信するよう勧めてウェビナーを締めくくりました。同氏は出席者に対し、リクエストに応じてプレゼンテーションの録画を提供することを約束した。 Liu 博士はまた、iBridgePy Web サイトにアクセスしてソフトウェアをダウンロードし、API ドキュメントにアクセスするようにユーザーに注意を促しました。彼は、ウェビナーを通じて参加者に参加し、関心を寄せてくれたことに感謝の意を表します。

  • 00:00:00 Hui Liu 博士が iBridgePy の最新のバックテスト機能について説明し、iBridgePy の概要を説明します。彼は iBridgePy の基礎となる機能をレビューし、取引戦略のためのアルゴリズムを構築するための基本的な手順を説明します。次に、iBridgePy バックテスト システムに焦点を当て、バックテスト用の 2 つのサンプル コードを提供します。最初のサンプルでは、Interactive Brokers からの履歴データを使用し、2 番目のサンプルでは、ユーザーが提供した履歴データを使用してバックテスト エクスペリエンスを向上させる方法について説明します。 Liu 博士は最後に、将来の改善のためにバックテストのパフォーマンスを分析することの重要性について語ります。

  • 00:05:00 Hui Liu 博士は、アドバイザー ブローカーが提供する証券や商品を取引したり、ハイブリッド パイ機能で複数のアカウントを同時に管理したりする機能など、IBridgePy の最新のバックテスト機能について説明します。投資アドバイザーは、バックテスト中に複数の取引戦略を実行し、コンサルティング アルゴリズムを実行できる IBridgePy の機能からも恩恵を受けることができます。ハイブリッド パイ機能を準備するための手順は簡単で、IBridgePy のダウンロード、インタラクティブ ブローカーのようなブローカーでの紙口座またはライブ口座の作成、軽量 IB ゲートウェイまたは GUI ベースのトレーダー ワークステーションのいずれかの IB ソフトウェアのインストール、およびそれによる設定が含まれます。アイブリッジパイ。

  • 00:10:00 Hui Liu 博士は、IBridgePy を使用してブローカーに接続し、「表示ポジションの例」、「リアルタイム価格の例」、「履歴データの取得」などのさまざまなファイルを切り替えてリアルタイム データを取得する方法をデモンストレーションします。 ”。ユーザーは口座コードやファイル名を変更したり、口座残高や未決注文を確認したりできます。初期化関数は IBridgePy でグローバル変数を宣言し、ユーザーはコード ボックスを使用して、ハイブリッド パックのバージョンを報告することで IBridgePy チームに支援を求めることができます。最後に、Hui Liu 博士が、IBGateway を閉じて TWS Trade Workstation を開く方法を示します。

  • 00:15:00 講演者は TWS に接続する方法を簡単に説明し、次に iBridgePy の主要な機能を説明します。初期化関数はコードの先頭で実行するように宣言されていますが、ハンドル データ関数は取引の決定が行われる場所であり、毎分または設定可能な間隔で実行されます。イベントをスケジュールするには、ユーザーはデータを処理する代わりにスケジュール機能を使用できます。特定の証券のリアルタイム価格には show_real_time_price 関数を使用してアクセスでき、履歴データは request_historyal_data 関数を使用して取得できます。 place_order 関数は証券の売買に使用され、講演者は株式スクリーナー関数のライブ デモも提供します。

  • 00:20:00 iBridgePy の作成者である Hui Liu 博士は、株式スクリーナー機能を使用してソーシャル メディアのセンチメントと価格に基づいて株式を検索する方法を示しています。同氏は、価格が100ドルを超える米国の主要株を検索する際のスキャンコードとしてソーシャルセンチメントネットを使用する例を挙げ、ユーザーは機器タイプ、場所コード、スキャンコードを指定することでスキャナーの検索パラメータを定義できると説明した。次に、Liu 博士は、ライブ市場での株式スクリーニング機能を実演し、最も活発な株式のリストと、ソーシャル メディアのセンチメントから特定の株式の人気をどのように洞察できるかを示します。最後に、取引する契約の選択やリスク管理ガイドラインの設定方法など、アルゴリズム取引戦略を構築するための重要な考慮事項について概説します。

  • 00:25:00 Hui Liu 博士は、iBridgePy を使用してアルゴリズム取引戦略を構築するための基本的な手順について説明し、その後、簡単な反転戦略の例を説明します。戦略を構築する手順には、銘柄の選択、取引決定を行うための時間間隔の決定、履歴データによるテクニカル指標の計算、注文タイプの選択、例外の処理が含まれます。シンプルな戻し戦略には、SPY 契約を手動で入力し、毎日の終値に基づいて取引の決定を行うことが含まれます。この戦略のサンプル コードには、取引の決定を行うためのスケジュールされた関数と毎日の関数が含まれています。

  • 00:30:00 Hui Liu 博士が、履歴データを取得し、パンダ データフレームを使用して証券の終値を分析する機能など、iBridgePy の最新のバックテスト機能について説明します。彼は、移動平均クロスオーバーを使用したトレンド戦略のサンプル コードを示し、バックテストの基礎について説明します。バックテストには、過去のデータを考慮して取引の決定を通知することによって実践戦略を実装し、それを履歴データに対してテストして、成功する結果が得られるかどうかを確認することが含まれます。 Liu 氏はまた、従来のハンドル データ関数を関数の実行時期の制御に使用でき、米国市場の開始時間と終了時間に依存するスケジュールされた関数の代替手段となると述べています。

  • 00:35:00 Hui Liu 博士は、Ibridgepy を使用したバックテスト モードでは、使用されるタイム カプセルまたはローソク足がライブ取引と非常に似ていると説明しています。各ローソク足には、開始時間、始値、高値、安値、終値、出来高などの情報が含まれています。ただし、バックテストではスプレッドを適切にモデル化できないため、タイムカプセルには売値や買値は含まれていません。データは IB から提供することも、Python がデータを読み取ってパンダ データ フレームに変換できる限り、ユーザーが独自のデータ ソースを任意の形式で提供することもできます。バックテスト モードは現在、成行注文、指値注文、逆指値注文をサポートしていますが、トレーリング注文は正確ではなく、意味のある結果が得られないためサポートしていません。最後に、トランザクションの詳細は、バックテストが開始された時刻を含むファイル名で出力フォルダーに保存されます。

  • 00:40:00 Hui Liu 博士が iBridgePy バックテスト システムの基本を説明します。シミュレートされた取引日が始まると、システムはポートフォリオの価値を計算し、残高ログに記録します。次に、Interactive Brokers の履歴データを使用し、「終値戻し」と呼ばれる戦略をバックテストする方法を示します。これを行うには、ファイル名を選択し、データ プロバイダー名や実行モードなどのいくつかのパラメーターを変更します。また、履歴データ取り込み計画の概念についても説明しています。この計画では、ユーザーが戦略で使用するためにインタラクティブ ブローカーからどのデータを受け取りたいかを iBridgePy に伝えます。バックテストを実行するには、ユーザーは日次足履歴データと、市場終了 1 分前に市場終了価格情報を取得するための 1 分データが必要です。

  • 00:45:00 Hui Liu 博士が、iBridgePy でバックテスト期間を設定するプロセスについて説明します。特定の銘柄の履歴データを取得するために時間枠を設定でき、タイムスポット頻度は 1 分、1 時間、または 1 日に設定できます。古い契約の履歴データは、SPY または AAPL ティッカーを使用して取得できます。コードは最新のスポット時間で特定的に実行される必要があり、適切な時間枠内のデータが利用可能である必要があります。デフォルトの現金は 10,000 ドルから始まり、Hui はデモを使用して口座残高とポジションを表示する方法を説明します。

  • 00:50:00 Hui Liu 博士は、IBridgePy のバックテスト機能を使用して終値反転のデモ コードをシミュレートする方法を示します。彼は、履歴データに基づいてリアルタイム価格を使用する方法と、ターゲットを実行してパフォーマンスを確認する方法を示します。また、コードを実行する間隔を毎分ではなく毎時間に変更する方法も示しています。全体として、このビデオは、投資戦略に IBridgePy のバックテスト機能を使用する方法を示す有益なデモンストレーションを提供します。

  • 00:55:00 Hui Liu 博士が、iBridgePy を使用したバックテスト プロセスの改善について説明します。最初の提案は、まったく同じデータをフェッチするために同じコードを繰り返し実行することを避けることです。これはリソースを無駄にし、IB 間隔ルールに違反します。代わりに、同じファイル名を持つ定義済みのプランを使用して履歴データがフェッチされるため、実行する必要があるコードの量が削減されます。 2 番目の提案は、IB からデータを取得する代わりに、ユーザーが提供した履歴データを使用して、バックテスト プロセスをより効率的にすることです。

  • 01:00:00 Hui Liu 博士が、IBridgePy のバックテスト用にローカル データを提供する機能について説明します。 ID サーバーからデータを取得する代わりに、ユーザーは始値、高値、終値、出来高などの必要な列をすべて含む CSV ファイルを提供できます。IBridgePy はローカル ファイルからデータを取り込み、それに応じてバックテストをシミュレートします。 。ただし、ボリュームが使用できない場合、ユーザーは値として「-1」を入力できます。さらに、この機能はユーザーの個人的な戦略に応じた正確な結果を提供し、効率的なシミュレーションを実現できます。

  • 01:05:00 Hui Liu 博士が、カスタム時間ジェネレーターやコードのテストに乱数を使用する機能など、IBridgePy の最新のバックテスト機能について説明します。彼は、Python パッケージとカスタム リストを使用して時系列を作成する方法と、リアルタイム価格ではなく乱数を使用してコードをテストする方法を示します。また、ログ ファイルを使用してバックテストのパフォーマンスを追跡および分析するパフォーマンス分析についても説明します。全体として、これらの新機能は、IBridgePy でコードをテストおよび分析するためのより高速かつ効率的な方法を提供します。

  • 01:10:00 Hui Liu 博士は、ポートフォリオの価値と現金の詳細を示す残高ログやトランザクション ログなど、iBridgePy のバックテストの追加機能について説明します。また、シャープ レシオと matplotlab パッケージを使用してグラフを作成し、バックテスト結果を視覚化および分析する方法も示します。 Liu 博士は、ユーザーが紙のアカウントでの結果に満足したら、ライブアカウントに切り替えることができると述べています。

  • 01:15:00 Hui Liu 博士が、iBridgePy の最新機能に関するウェビナー参加者からのさまざまな質問に答えます。彼は、個人がポートフォリオアドバイザーになり、IB で管理アカウントを設定した後、iBridgePy で他人の投資アカウントを管理できると述べています。参加者はまた、戦略のサンプルコードのダウンロードや、バックテスト用の過去のオプション価格とギリシャのデータの取得についても質問します。 Liu 氏は、個人が IB から過去のオプション価格を取得し、ギリシャのデータがあればそれを使用する Python コードを作成できると提案しています。最後に、iBridgePy はウォッチ リストを取得するための API をサポートしていませんが、個人が IB で手動でウォッチ リストを作成できることにも言及しました。

  • 01:20:00 Hui Liu 博士は、参加者にさらに質問がある場合は iBridgePy コミュニティ フォーラムに投稿するか、電子メールを送信するよう勧めてウェビナーを終了しました。また、リクエストに応じてプレゼンテーションの録画が利用可能になること、また、参加者が必要なコードを入手できる iBridgePy チュートリアルを近々投稿する予定であることにも言及しました。 Liu 博士はまた、iBridgePy Web サイトにアクセスしてソフトウェアをダウンロードし、API ドキュメントを参照できることをユーザーに思い出させました。彼は参加者たちの出席と注目に感謝して締めくくった。
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
  • 2019.09.11
  • www.youtube.com
Session outline:- IBridgePy's cornerstone functions.- Basic steps to build a trading strategy.- Backtest strategies using IB's historical data.- Backtest str...
 

Python を使用したインド市場でのプログラマティック取引 | Kite Connect API |アルゴトレーディングゼロダ


Python を使用したインド市場でのプログラマティック取引 | Kite Connect API |アルゴトレーディングゼロダ

講演者は、ユーザーが Python を使用してプログラムで取引口座にアクセスできるプラットフォームである Kite Connect を紹介します。彼らは、Kite Connect の背後にある動機は、インドの市場参加者を増やすという課題に対処することであったと説明しています。彼らはサービスとしての仲介という概念を導入し、スタートアップ企業が Kite Connect の API を使用して顧客向けにカスタマイズされた取引エクスペリエンスを構築できるようにしました。これにより、次の 1,000 万~2,000 万人のインド人を市場に投資してもらうことを目指しています。講演者はまた、Zerodha がインドの大手証券会社であり、175,000 を超える顧客を持ち、インドの株式市場の売上高に大きく貢献していることを強調しました。

講演者は、インドの何千もの顧客にシンプルで手頃な価格のオンライン取引プラットフォームを提供するために開発された Kite Connect の起源についての洞察を提供します。インドにはスキルを活用する機会が不足しているソフトウェア エンジニアが多いことを認識し、Kite Connect はソフトウェア エンジニアが戦略のバックテストやポジションの管理に利用できる API を提供しました。このプラットフォームは API の使用料を請求しますが、新規開発者がサインアップする場合は割引コードも提供します。次に、講演者は同僚を紹介し、Kite Connect を使用してカスタム取引プラットフォームを構築することがいかに簡単かをデモンストレーションします。このデモンストレーションは、注文の発注、保有ポジションの取得、そして最終的には取引戦略の開発に焦点を当てています。

講演者は、Python を使用したインド市場でのプログラム取引に重要な Kite Connect API の API キーを取得するためのステップバイステップのガイドを提供します。また、注文や取引確認のステータスをユーザーに通知するために使用されるポストバック URL の概念についても説明します。さらに、講演者は、わずか数行のコードで API の使用を簡素化する Kite Connect Python ライブラリをインストールすることの重要性を強調しました。彼らは、取引アプリの重要な機能、アプリ開発プロセス中のリクエスト応答と例外処理の重要性、取引アプリにおける安全な認証の重要性について議論します。

次に講演者は、Zerodha の Kite Connect API を使用してインド市場でプログラム取引に Python を使用する方法を説明します。このプロセスは、API キーを使用して Kite プラットフォームにリダイレクトし、ユーザーのアカウントにログインすることから始まります。ログインすると、リクエスト トークンが返送され、そのトークンを使用してユーザーを認証し、アクセス トークンを取得します。講演者は、ライブラリのインポート、API キーの保存、リクエスト トークンの取得などの手順をカバーする、Kite Connect API の使用に関する実践的なデモンストレーションを提供します。最後に、リクエスト トークンが API シークレットでハッシュされ、アクセス トークンが取得されます。

ビデオは続けて、インド市場でのプログラム取引に Python と Kite Connect API を使用する方法について説明します。アクセス トークンとパブリック トークンを設定するプロセスについて説明します。これらのトークンは、市場情報をストリーミングするために Kite Connect API との接続を確立するために使用されます。このビデオでは、取引シンボル、数量、取引タイプ、注文タイプ、商品の指定など、注文方法を説明しています。注文の詳細、保有株、ポジションを取得する方法についても説明します。講演者は、ビデオで説明されている以外にも API 呼び出しが多数あることを強調していますが、それらはすべて Kite Connect の Web サイトで詳しく文書化されています。

講演者は、インド市場でのプログラマティック取引に Kite Connect API を使用する際の商品の重要性について詳しく説明します。商品はさまざまな株記号や契約を処理するために使用され、ストリーミング データを購読または購読解除するには一意の商品 ID が必要です。講演者は、機器 ID は包括的な CSV ファイルから取得でき、履歴データにアクセスするためにも使用されると説明しました。 LTP モード、コード モード、フル テキスト モードなどのさまざまなデータ受信モードを含め、WebSocket ストリーミングについて説明します。講演者は、WebSocket を介してストリーミング データがどのように機能するか、およびコールバックを使用してデータを受信する方法の例を示します。さらに、講演者はポストバックの使用法とその実装のためのパブリック URL の要件について説明します。

講演者は、履歴データを使用した取引戦略の実装について説明し、Kite Connect API を使用した注文の簡単さを強調しました。彼らは、スタートアップが Kite サーバーからポストバックを受信するためのエンドポイントをどのように持ち、注文の成功または失敗の通知を可能にするかについて議論します。データをリクエストする前に Kite の履歴データ機能をサブスクライブすることに重点を置き、API を使用して履歴データを取得するプロセスを示します。最後に、Kite API を使用した注文の簡単さを説明するために、基本的な移動平均戦略を示します。

講演者は、Python と Kite Connect API を使用したインド市場でのプログラマティック取引に関する独自の戦略を共有します。この戦略には、移動平均を計算し、クロスオーバーがあるたびに取引を行うことが含まれます。これらは注文を行うための関数を紹介し、実際の取引に必要なコードは 1 行だけであることを強調しています。彼らは、自分たちの戦略が最善ではない可能性があることを認めながらも、さまざまな取引シンボルや取引タイプに合わせて実装と変更が容易であることを強調しています。講演者は、Kite Connect API がオープンソースであるため、カスタマイズして取引プラットフォームの作成に使用できると述べました。また、ユーザーの質問や問題をサポートするために、Kite Connect Web サイトで利用できる広範なドキュメントとアクティブなフォーラムについても触れています。

Quant Institute (QuantInsti) の CEO は、2010 年以来アルゴリズムおよびクオンツ取引に積極的に取り組んでいる同社について紹介します。同社は世界中で数千人の学生にトレーニング プログラムやイベントを提供しています。 CEO は、ウェビナーで議論されたトレーディング戦略における Python のプログラムによる使用に同意を表明し、すべての質問に答えることができなかったことをお詫びしますが、チームが熱心に調査し、すべての問い合わせに対応していることを聴衆に保証しました。

講演者は、クオンツ取引とアルゴリズム取引に焦点を当てた包括的な 6 か月のオンライン コースである QuantInsti の EPAT プログラムの影響について説明します。このプログラムは、統計、計量経済学、金融コンピューティング、Python、MATLAB、バックテスト ツール、さまざまなトレーディング戦略パラダイムなど、幅広いトピックをカバーしています。彼らは、このコースが世界中の経験豊富な実践者の多様なグループによって教えられていることを強調しています。プログラムの卒業生は就職するための十分な準備ができており、QuantInsti は独自のトレーディング デスクの設立に興味のある人々にキャリア サービスとガイダンスを提供しています。このプログラムの世界的な広がりは強調されており、卒業生は 6 大陸の 30 か国以上にいます。

講演者は、2016 年 11 月 3 日午後 6 時 30 分(IST)に予定されているアルゴリズム取引に関する有益なセッションに視聴者を招待します。 Facebook、Twitter、LinkedIn、YouTube などのソーシャル メディア プラットフォームで同社をフォローすることを視聴者に奨励し、そこで教育リソースを見つけたり、ディスカッションに参加したりできるようにします。彼らは、関心のある参加者にリンクを送信し、borninstorms で提供されたフォームを通じて質問を送信するよう招待します。最後に、講演者は、これから聴衆からの質問に答え始めると述べて締めくくります。

  • 00:00:00 スピーカーは Kite Connect を紹介し、ユーザーが Python を使用してプログラムで取引口座にアクセスできるようにする方法を説明します。 Kite Connect の背後にある動機は、インド市場への参加を拡大するという課題を解決することであり、サービスとしての仲介という概念が導入されました。スタートアップ企業は、Kite Connect の API を使用して顧客向けにニッチなユーザー エクスペリエンスを構築でき、これにより、次の 1,000 万~2,000 万人のインド人を市場に投資するよう呼び込むことができます。講演者はまた、Zerodha が国内最高のプラットフォームを提供し、175,000 を超える顧客を抱え、インドの株式市場の売上高のかなりの部分に貢献していることにも言及しました。
    |
  • 00:05:00 講演者は、インドの何千もの顧客にシンプルで手頃な価格のオンライン取引プラットフォームを提供するために開発された Kite Connect の起源について説明します。インドにはスキルセットを活用する機会がないことが多いソフトウェア エンジニアが数多くいることを認識し、Kite Connect はソフトウェア エンジニアが戦略のバックテストやポジションの管理に利用できる API を提供しました。このプラットフォームは API の使用に料金を請求しますが、サインアップした新規開発者には割引コードも提供します。次に、講演者は別の同僚に引き継ぎ、注文を出し、ポジションを取得し、最終的には戦略を開発することを目的として、Kite Connect を使用してカスタム取引プラットフォームを構築するのがいかに簡単かをデモンストレーションします。

  • 00:10:00 講演者は、Python を使用したインド市場でのプログラム取引に不可欠な Kite Connect API の API キーを取得する方法についてステップバイステップのガイドを提供します。講演者は、注文や取引確認のステータスをユーザーに通知するために使用されるポストバック URL についても説明します。さらに、講演者は、数行のコード内で API の使用を簡素化するために構築された Kite Connect API のラッパーである Kite Connect Python ライブラリをインストールすることの重要性を強調しました。講演者はまた、取引アプリの基本機能の内訳と、取引アプリの開発プロセスにおけるリクエスト応答と例外の重要性についても明らかにします。ここではログイン フローについても説明しており、あらゆる取引アプリにおける安全な認証の重要性を強調しています。

  • 00:15:00 講演者は、Python を使用して、Zerodha の Kite Connect API を使用してインド市場でプログラム取引を行う方法を説明します。最初のステップは、API キーを使用して Kite プラットフォームにリダイレクトし、ユーザーのアカウントにログインすることです。ログインすると、リクエスト トークンが返送され、ユーザーの認証とアクセス トークンの取得に使用されます。講演者は続けて、ライブラリのインポート、API キーの保存、リクエスト トークンの取得など、Kite Connect API の使用方法を実践的にデモンストレーションします。最後に、リクエスト トークンを使用して、API シークレットでハッシュしてアクセス トークンを取得します。

  • 00:20:00 このビデオでは、インド市場でのプログラム取引に Python と Kite Connect API を使用する方法について説明します。このビデオでは、アクセス トークンとパブリック トークンをセットアップし、それらのトークンを使用して情報をストリーミングするために Kite Connect API との接続をセットアップするプロセスを説明します。このビデオでは、取引シンボル、数量、取引タイプ、注文タイプ、商品などの必要なコンポーネントを含む注文方法も説明しています。最後に、ビデオでは注文の詳細、保有およびポジションを取得する方法について説明します。このビデオでは、ビデオで説明されている以外にも API 呼び出しが多数あることを強調していますが、それらはすべて Kite Connect の Web サイトで詳しく文書化されています。

  • 00:25:00 講演者は、Python を使用したインド市場でのプログラム取引に Kite Connect API を使用する際の手段の重要性について説明します。商品はさまざまな株記号や契約を処理するために使用され、ストリーミング データを購読または購読解除するには一意の商品 ID が必要です。講演者は、機器 ID は巨大な CSV ファイルから取得でき、履歴データにアクセスするためにも使用されると説明しました。講演者は、WebSocket ストリーミングと、LTP モード、コード モード、フル テキスト モードなどのデータを受信できるさまざまなモードについても説明します。講演者は、WebSocket を介してストリーミング データがどのように機能するか、およびコールバックを使用してデータを受信する方法の例を示します。最後に、講演者はポストバックの使用法と、それを実装するためのパブリック URL の必要性について説明します。

  • 00:30:00 スピーカーは、履歴データを使用した戦略の実装と、Kite Connect API を使用した注文の容易さについて説明します。彼は、スタートアップが Kite サーバーからポストバックを受信するためのエンドポイントをどのように持つことができるかについて説明します。ポストバックは、とりわけ注文の成功または失敗に関する通知をトリガーするために使用できます。また、API を使用して履歴データを取得する方法を示し、履歴データをリクエストする前に Kite の履歴データ機能に登録する必要があることを強調しました。最後に、Kite API を使用して注文することがいかに簡単であるかを説明するために、基本的な移動平均戦略を紹介します。

  • 00:35:00 講演者は、Python と Kite Connect API を使用したインド市場でのプログラマティック取引の戦略について説明します。この戦略には、移動平均を計算し、クロスオーバーがあるたびに取引を行うことが含まれます。注文を行うための関数が示されており、実際の取引用のコードは 1 行です。講演者は、彼らの戦略は最良ではないものの、さまざまな取引シンボルや取引タイプに合わせて実装および変更するのは簡単であると強調しました。 Kite Connect API はオープンソースであるため、取引プラットフォームの作成時に変更して使用することができます。講演者は、質問や問題を解決するために、Kite Connect Web サイトで利用できる広範なドキュメントとアクティブなフォーラムについても言及しました。

  • 00:40:00 Quantity の CEO は、2010 年以来アルゴリズム取引とクオンツ取引に携わっており、世界中で何千人もの学生にトレーニング プログラムやイベントを提供している自社を紹介します。彼らは、ウェビナーで議論された取引戦略における Python のプログラムによる使用との整合性について言及し、すべての質問に答えることができなかったことをお詫びしますが、チームが調査を行ってすべての問い合わせに対応していることを聴衆に保証しました。

  • 00:45:00 講演者は、クオンツ取引とアルゴリズム取引に焦点を当てた 6 か月のオンライン コースである QuantInsti の EPAT プログラムの影響について説明します。このプログラムは、統計、計量経済学、金融コンピューティング、Python、MATLAB、バックテスト ツール、さまざまなトレーディング戦略パラダイムなど、幅広いトピックをカバーしています。このコースは、業界で豊富な経験を持つ十数人の実務家からなる国際的なプールによって教えられます。プログラムの卒業生は就職するための十分な準備が整っており、QuantInsti はさまざまなキャリア サービスを提供するほか、独自のトレーディング デスクを設立したい人向けに無料のガイダンスを提供します。このプログラムは世界的に広がり、6 大陸 30 か国以上に卒業生がいます。

  • 00:50:00 講演者は視聴者に、2016 年 11 月 3 日午後 6 時 30 分(IST)に開催されるアルゴリズム取引に関する有益なセッションに参加するよう招待します。また、Facebook、Twitter、LinkedIn、YouTube などのソーシャル メディア プラットフォームで同社をフォローすることも推奨しています。そこでは、豊富な教育リソースを見つけてディスカッションに参加できます。講演者はまた、興味のある参加者にリンクを送信することを提案し、ボーンインストームに関する質問フォームに記入するよう勧めます。最後に、これから聴衆からの質問を受け付けると述べて締めくくりました。
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
  • 2016.10.18
  • www.youtube.com
In this comprehensive tutorial on Algo Trading Zerodha in Indian markets, we explore the power of Zerodha's KiteConnect API and Python programming language t...
 

Python を使用したインタラクティブ ブローカーとの取引 |ホイ・リウ博士著



Python を使用したインタラクティブ ブローカーとの取引 |ホイ・リウ博士著

皆さん、こんばんわ! Kuantan Ste が主催する、オンライン市場でのアルゴリズム取引戦略の実装に関するウェビナーへようこそ。私の名前は Slow Me です。ここのシニア プログラム マネージャーを務めています。本日は、早朝から明るく参加してくださったハワイからの参加者も含め、世界中から参加者が集まってくれたことを嬉しく思います。皆さんの熱意は本当に励みになります!

今日のウェビナーの尊敬すべき講演者は、有名な作家でありトレーディングの専門家であるホイル・ユー博士です。ユー博士は、米国株と外国為替市場で豊富な経験を持つ素晴らしい経歴を持っています。彼はまた、トレーダーが戦略を簡単に実行できるようにする人気の Python 取引プラットフォームも開発しました。バージニア大学で博士号を取得し、上海大学の卒業生でもある Yu 博士は、このウェビナーに豊富な知識をもたらします。彼をここに迎えられて光栄です。

始める前に、今日のウェビナーで取り上げる内容の概要を説明させていただきます。 Yu 博士はまず、取引プラットフォームとして Interactive Brokers を使用する利点について説明します。次に、取引に Python を使用するメリットを詳しく掘り下げ、インタラクティブ ブローカーとの取引を簡素化する独自のツール IBPY を紹介します。このウェビナーでは、リアルタイム価格データへのアクセス、履歴データの取得、注文など、リアルタイム取引の重要な側面に焦点を当てます。ユウ博士は、移動平均クロスオーバー取引戦略も紹介します。

このウェビナーにこのような尊敬される講演者と多様な聴衆をお迎えできることを嬉しく思います。早速、ホイル・ユー博士に登壇していただき、Python と IBPY を使用したインタラクティブ ブローカーとの取引に関する専門知識を共有していただきます。

今日は、Python を使用したインタラクティブ ブローカーとの取引、特に私が開発したツール IBPY の利用について説明します。詳細に入る前に、取引プラットフォームとしてのインタラクティブ・ブローカーの利点を探ることから始めましょう。

Interactive Brokers は、米国に拠点を置く老舗の証券会社です。これにはいくつかの重要な利点があり、トレーダーの間で人気の選択肢となっています。まず、Interactive Brokers は自動取引のための堅牢な API を提供しており、これが今日の主な焦点になります。この API により、トレーダーは戦略を効率的かつ効果的に実行できるようになります。第二に、Interactive Brokers は競争力のある取引コストを提供し、トレーダーにとって費用対効果の高いオプションとなっています。ウェブサイトで取引コストを簡単に比較できます。私の個人的な経験に基づくと、彼らは低コストの取引オプションを提供します。第三に、Interactive Brokers は世界的に広範囲に展開しており、24 か国の 100 以上のマーケット センターへのアクセスを提供しています。この世界的な展開により、トレーダーはさまざまな国際市場に参入できるようになり、取引機会の多様化と拡大が可能になります。最後に、Interactive Brokers は、株式、オプション、先物、外国為替などの幅広い商品をサポートし、トレーダーの多様なニーズに応えます。これらの利点により、インタラクティブ ブローカーは多くのトレーダーにとって好ましい選択肢となっています。

次に、取引に Python を使用する利点を見てみましょう。 Python には、特に初心者にとって多くの利点があります。 Java や C++ などの他のプログラミング言語と比較して、Python は比較的習得が簡単です。いくつかの入門知識があれば、Python の基礎をすぐに理解し、取引戦略の実装を開始できます。さらに、Python はオープンソース言語であり、モジュールやライブラリの膨大なコレクションへのアクセスを提供します。これらのリソースは簡単にダウンロードして取引システムに統合でき、データ分析、視覚化、アルゴリズム取引のための強力なツールを提供します。 Python の広大なエコシステムにより、Python はトレーダーにとって柔軟で多用途な言語となっています。

Interactive Brokers と Python の利点を理解したところで、IBPY の機能を調べてみましょう。 IBPY は、Python 開発者にユーザーフレンドリーなインターフェイスを提供することで、インタラクティブ ブローカーとの取引を簡素化します。リアルタイムの価格データへのアクセス、履歴データの取得、注文などのタスクを合理化します。 IBPY は、Interactive Brokers API と Python の間のギャップを埋め、トレーダーが複雑なコードを扱わずに戦略を実装しやすくします。

IBPY の重要な機能の 1 つは、リアルタイムの価格データにアクセスできることです。トレーダーは、株価、オプション チェーン、先物価格などのライブ市場データを Python 環境に直接取得できます。このリアルタイム データにより、トレーダーは最新の市場情報に基づいて情報に基づいた意思決定を行うことができ、成功の可能性が高まります。

IBPY を使用すると、トレーダーはバックテストや取引戦略の分析に不可欠な履歴データを取得することもできます。過去の価格データにアクセスすることで、トレーダーはさまざまな市場状況における戦略のパフォーマンスを評価し、データに基づいた調整を行うことができます。 IBPY は、幅広い金融商品、時間枠、データタイプの履歴データを取得するための便利なインターフェイスを提供し、徹底的な分析と戦略の洗練を可能にします。

注文を出すことはアルゴリズム取引のもう 1 つの重要な側面ですが、IBPY はこのプロセスを簡素化します。トレーダーは IBPY API を使用して、成行注文、指値注文、逆指値注文などのさまざまなタイプの注文を送信できます。数量、価格、注文タイプなどのパラメータを指定でき、IBPY はシームレスに実行を処理します。この機能により、トレーダーは取引戦略を自動化し、時間を節約し、手動エラーのリスクを軽減できます。

これらの機能に加えて、IBPY はさまざまな高度な取引操作をサポートしています。トレーダーは、口座情報の取得、ポジションとポートフォリオの管理、口座活動の監視、リアルタイムの取引通知の受信を行うことができます。この包括的な機能セットにより、トレーダーは取引活動を完全に制御し、タイムリーな意思決定を行うことができます。

ここで、移動平均クロスオーバー取引戦略について簡単に説明します。これについては、後でウェビナーでユウ博士が詳しく説明します。この戦略は、テクニカル分析で広く使用されている移動平均の概念に基づいています。移動平均クロスオーバー戦略には、異なる期間の 2 つの移動平均 (通常は短期移動平均と長期移動平均) を監視することが含まれます。短期移動平均が長期移動平均を上抜けると、買いシグナルが生成され、潜在的な上昇トレンドを示します。逆に、短期移動平均が長期移動平均を下回ると、売りシグナルが生成され、潜在的な下降トレンドを示します。この戦略は、トレンドを捉え、価格変動を利用することを目的としています。

結論として、今日のウェビナーは、Python と IBPY を使用したインタラクティブ ブローカーとの取引に関する貴重な洞察を提供します。 Hoyle Yu 博士は、その幅広い知識と専門知識を活かして、インタラクティブ ブローカーの利点、取引に Python を使用する利点、IBPY の機能、および移動平均クロスオーバー取引戦略について説明します。このウェビナーが有益で魅力的なものであると感じていただければ幸いです。早速、私はそれを Yu 博士に渡し、プレゼンテーションを始めます。本日ご参加いただきありがとうございます。ウェビナーをお楽しみください。

Trading with Interactive Brokers using Python | By Dr. Hui Liu
Trading with Interactive Brokers using Python | By Dr. Hui Liu
  • 2016.09.29
  • www.youtube.com
Dr. Hui Liu speaks about implementing algorithmic trading strategies in live markets with Interactive Brokers using Python. This webinar is perfect for begin...
 

Python による自動取引 |イヴ・J・ヒルピッシュ博士によるウェビナー



Python による自動取引 |イヴ・J・ヒルピッシュ博士によるウェビナー

Yves J. Hilpisch 博士は、Python Course Group の創設者兼マネージング パートナーとして紹介されています。Python Course Group は、金融業界、特にコンピュテーショナル ファイナンスと金融データ サイエンスの分野で Python とオープンソース テクノロジに重点を置いている会社です。彼は Python と金融に関する数冊の本を執筆しており、データ サイエンティストがブラウザーで構造化データを直接操作できるようにする DataPark と呼ばれるプラットフォームを開発しました。ヒルピッシュ博士は、今年後半に新しい本を出版する予定であると述べ、Python クオンツと企業のグローバル ネットワークである TPQ についても紹介しました。

このウェビナーは、ヒルピッシュ博士が、金融分野での Python の使用について、特に金融関連プロジェクトに Python 開発者を引きつけようとしている新興企業からの問い合わせが増えていることを認めたところから始まります。彼は、ユーザーが Comm Trading Platform から履歴データをダウンロードできるようにする新機能を発表し、ウェビナーで取り上げられる 3 つの主なトピック (履歴データのダウンロード、取引戦略のコーディングとバックテスト、アルゴリズム取引のためのストリーミング データの操作) について概説します。 。彼は、賢明な取引戦略を開発する上でのデータとバックテストの重要性を強調しています。

ヒルピッシュ博士は、例としてドイツの DAX インデックスに焦点を当て、Python を使用して履歴データを取得する方法を説明します。同氏は、ユーザーは通貨ペアや金や銀などの商品を含む 100 を超えるさまざまな商品から選択できると説明しています。データをチャンクで取得し、DataFrame オブジェクトに追加することで、ユーザーはデータをディスクに保存し、ダウンロードを繰り返すことなく効率的に取得できます。彼はバックテストにおけるデータの役割とトレーディング戦略の評価におけるその重要性を強調しています。

次に、ヒルピッシュ博士は、短い移動平均 (5 分) と長い移動平均 (15 分) の 2 つの移動平均に基づく単純な取引戦略の例を示します。同氏は、短期トレンドが長期トレンドを上抜けると買いシグナルが生成され、短期トレンドが長期トレンドを下抜けると売りシグナルが生成されると説明しています。同氏は、これは投資アドバイスではなく、ベクトル化されたアプローチを使用して Python で戦略を実装し、コードを効率的かつ簡潔にする方法を示していることを明確にしています。

ヒルピッシュ博士は、以前に計算した対数リターンを使用して取引戦略のパフォーマンスの計算に移ります。彼は、トレーダーが自分のポジションに実現リターンを乗算することで戦略のパフォーマンスをどのように判断できるかを説明します。彼は市場に長期投資して 1 日待つ例を使って計算を説明しています。同氏は、サンプル内バイアスを避けるために取引戦略をテストすることの重要性を強調し、ある期間の好成績が他の期間の成功を保証するものではないことを警告しています。

次に議論は、市場投資戦略と分単位のブロックに基づくトレンドベースの投資シグナル戦略の間の収益の標準偏差の比較に移ります。ヒルピッシュ博士は、トレンドベースの戦略の方がリターンの標準偏差が低いことを実証しました。彼は、自動取引戦略を実装する際にストリーミング データを操作する必要性を強調し、リアルタイム プロットを生成するための Plotly API を紹介しました。

ヒルピッシュ博士は、リアルタイム形式でデータを生成する偽の API の使用法を実演します。現在のデモンストレーションは実際にはストリーミングではありませんが、追加のオブジェクトをインスタンス化して Jupyter Notebook に埋め込むことで、追加の作業を行うことでストリーミングできると彼は述べています。彼は、API からデータを収集し、それをリアルタイムでポイントごとにインタラクティブな視覚化領域に表示する for ループの例を示しています。

次に、リアルタイムまたはストリーミング データを使用した自動取引について説明します。ヒルピッシュ博士は、成行注文を出し、取引する単位数を必要とする「買い」および「売り」機能を紹介します。彼は、トレンド追跡戦略に基づいており、Wonder API のストリーマー クラスを継承する「TrendTrader」クラスを紹介します。彼は、空のデータ フレームや最初に 0 に設定されたティック数など、クラスのカスタム属性について説明します。このクラスでは、1 番目と 2 番目のトレンドをパラメータとして定義できます。

Hilpisch 博士は、ストリーミング API から新しいデータを受信すると、それが散発的であっても、「onsuccess」メソッドが呼び出されると説明しています。データは、以前にインスタンス化されたデータ フレームに追加され、ヨーロッパのタイム ゾーンに変換されます。短期および長期のトレンドは観察に基づいて計算され、それに応じて適切な取引アクションが実行されます。彼は、提示された戦略は賢明ではないかもしれないが、プロセスを説明することに重点を置いていると明言しました。また、ストリーミング プロセス中に発生する可能性のあるエラーを処理し、API から切断する「onerror」メソッドについても説明します。

結論として、ヒルピッシュ博士は Python を使用した自動取引戦略の実装を紹介します。彼は、Python プログラムが移動平均の比較に基づいて買い注文と売り注文を自動的に生成する方法を示しています。同氏は、アルゴリズム取引を成功させるには、金融とテクノロジーのスキルの組み合わせ、市場の深い理解、ビッグデータ統計の熟練度、取引プロセスを自動化する能力が必要であると強調しています。このウェビナーは、アルゴリズム取引でのキャリアに必要な知識とスキルの習得に興味のある個人向けの教育リソースとして機能します。

  • 00:00:00 Yves J. Hilpisch 博士は自己紹介をし、彼の研究に関する背景情報をいくつか提供します。彼は、金融業界、特にコンピューテーショナル ファイナンスと金融データ サイエンスの分野で使用される Python およびその他のオープンソース テクノロジに焦点を当てている Python Course Group の創設者およびマネージング パートナーです。ヒルピッシュ博士は、Python と金融に関する数冊の本を執筆しており、データ サイエンティストがブラウザーで構造化データを操作できるようにする DataPark と呼ばれるプラットフォームを開発しました。彼は、彼の新しい本が今年後半に出版される予定であることについて簡単に言及し、TPQ と呼ばれる Python クオンツと企業のグローバル ネットワークの開始についても言及しました。

  • 00:05:00 Yves J. Hilpisch 博士は、金融分野で Python を最大限に活用する方法を尋ねる問い合わせがどのように増えているかについて議論し、多くの新興企業が特定の聴衆を惹きつけようとしていると強調してウェビナーを開始します。金融用の Python を構築する人々。次に、ヒルピッシュ氏は、Comm Trading Platform から履歴データをダウンロードする新しい機能を紹介し、ウェビナーで取り上げる 3 つの主要なトピック (1) 履歴データをダウンロードする方法、2) 取引戦略をコーディングしてバックテストする方法、および3) ストリーミング データの操作方法 - アルゴリズム取引の重要な要件。ヒルピッシュはトピックをシンプルに保ち、これらの単一ステップを実装するために必要なステップの基礎となるアイデアと説明を伝えるよう努め、データとその後のバックテストがなければ、賢明な取引戦略を立てることができないことを共有します。

  • 00:10:00 Yves Hilpisch 博士は、商品、特にドイツの DAX インデックスの履歴データを取得する方法をデモンストレーションしながら、データ取得について説明します。ユーザーは、通貨ペアや金や銀などの商品を含む 100 を超えるさまざまなオプションから商品を選択できます。このコマンドの結果、始値、終値、入札という 2 つの観測値を含む JSON オブジェクトが生成されます。 Hilpisch 氏は、バックテストには毎日 2 回の観測では不十分であるため、より長期間のデータを取得する方法を示す予定であると述べています。 1 日あたり 2 回の観測よりも長いデータ セットを生成し、ディスクに保存することで、ユーザーは再取得に時間を費やすことなく、この情報を迅速に取得できます。

  • 00:15:00 Yves J. Hilpisch 博士が、Python を使用して金融市場データを取得および保存する方法をデモンストレーションします。データはチャンクで取得され、DataFrame オブジェクトに追加され、バイナリ形式で保存されます。彼は、バックテストにおけるデータの重要性と、それがトレーディング戦略の判断にどのように役立つかを強調しています。さらに、2 つの異なるトレンドに基づいた簡単な取引戦略の例と、後のパフォーマンス判断の基礎として対数リターンを計算する方法を示します。この取引戦略はほんの一例であり、彼のプレゼンテーションは自動取引に利用できる Python ツールとテクニックをデモンストレーションすることを目的としています。

  • 00:20:00講演者は、資産を売買するタイミングのシグナルを生成するために、短い移動平均 (5 分) と長い移動平均 (15 分) の 2 つの移動平均を使用した簡単な取引戦略を説明します。短いトレンドが長いトレンドを下から横切る場合は買いのシグナルであり、短いトレンドが長いトレンドを上から横切る場合は売りのシグナルです。講演者は、これは投資アドバイスではないと警告し、戦略が過去にどのようなパフォーマンスを示したかを確認するためにバックテストを使用することを強調しました。講演者は、ベクトル化されたアプローチを使用して Python で戦略を実装し、効率的かつ簡潔にする方法も示します。

  • 00:25:00 Yves J. Hilpisch 博士が、以前に計算したリターンを使用してトレーディング戦略のパフォーマンスを計算する方法について説明します。トレーダーは、以前に入力したポジションを取得し、実現リターンを乗算することで、自分の取引戦略のパフォーマンスを決定できます。市場に長期投資して 1 日待つ例を使用すると、トレーダーは自分のポジションに市場の毎日のリターンを掛けることができます。トレーダーは、以前のポジションと現在のリターンを組み合わせることで、特定の期間における取引戦略のパフォーマンスを評価できますが、すべての期間でプラスのパフォーマンスが保証されるわけではないことに注意してください。同氏はまた、サンプル内のバイアスや、その取引戦略が実装に適さない可能性を避けるために取引戦略をテストすることについても注意を促しています。

  • 00:30:00 Yves J. Hilpisch 博士は、市場投資戦略とトレンドベースの投資シグナル戦略のリターンの標準偏差について議論しています。どちらも分単位のブロックに基づいています。トレンドベースの戦略では、リターンの標準偏差が低いことが実証されており、ヒルピッシュ博士は、自動取引戦略を実装する際にストリーミング データを操作することの重要性を強調しています。彼は、リアルタイム プロットを生成するための Plotly API の使用法を示し、リアルタイム データに基づいて取引の意思決定を処理および実行できるシステムの必要性について説明します。

  • 00:35:00 Yves J. Hilpisch 博士は、実際の API と同じ形式のデータをリアルタイムで生成する偽の API の使用を実演します。データは収集され、データフレーム オブジェクトに表示されます。これは、対話型の視覚化領域を使用して視覚化できます。現在のデモは実際にはストリーミングではありませんが、追加のオブジェクトをインスタンス化し、それらを Jupiter Notebook に埋め込むことで、もう少し手間をかけてストリーミングできるようになるとヒルピッシュ博士は述べています。彼は、API からデータを収集し、それをリアルタイムでポイントごとにインタラクティブな視覚化領域に表示する for ループの例を示しています。

  • 00:40:00 イヴ・ヒルピッシュ博士が、リアルタイムまたはストリーミング データを使用した自動取引について説明します。彼は、成行注文を行うために使用され、取引される単位数を必要とする 2 つの関数「買い」と「売り」を紹介します。取引に使用されるクラスは、トレンドフォロー戦略に基づく「TrendTrader」です。このクラスは、Wonder API のストリーマ クラスを継承しており、空のデータ フレーム オブジェクトや最初に 0 に設定されたティック数などのカスタム属性が含まれています。第 1 および第 2 のトレンドはパラメータとして定義することもできます。

  • 00:45:00 Yves J. Hilpisch 博士は、ストリーミング API から新しいデータを受信したときにメソッド onsuccess がどのように呼び出されるかについて説明しています。このデータは定期的ではなく散発的に受信される可能性があります。次に、データは、前にインスタンス化されたデータ フレームに追加され、ヨーロッパのタイム ゾーンに変換されます。 2 つのトレンド t1 と t2 は、短期および長期の観察に基づいて計算されます。短期トレンドが長期トレンドを上回っており、トレーダーが投資していない場合、トレーダーは指定された数のユニットを購入し、未投資フラグを false に設定します。逆に、短期トレンドが長期トレンド以下であり、トレーダーが投資している場合、彼らは売ります。ヒルピッシュ博士は、この戦略は賢明ではないかもしれないが、プロセスがどのように機能するかを説明することに重点を置いていると述べています。発生する可能性のあるエラーを捕捉し、API ストリーミングから切断する on error メソッドについても説明します。

  • 00:50:00 Yves Hilpisch が、Python を使用して自動取引戦略を実装する方法を紹介します。彼は、Python プログラムが 5 ティック データと 15 ティック データの平均の比較に基づいて買い注文と売り注文を自動的に生成する方法を示しています。同氏は、アルゴリズム取引には金融とテクノロジーの融合スキル、市場の理解、ビッグデータ統計、自動化が必要であると強調しています。このビデオは、アルゴリズム取引のキャリアを成功させるために必要なあらゆる操作とスキルに興味がある人々に教育リソースを提供します。
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
  • 2016.02.15
  • www.youtube.com
The video is a recording of the webinar "Automated Trading with Python" which was conducted on 10th February 2016. The webinar aimed at introducing the audie...
 

Python を使用したアルゴリズム取引 - はじめに



Python を使用したアルゴリズム取引 - はじめに

こんにちは。トレーディングに関する新しいビデオ シリーズの最初のビデオへようこそ。このビデオでは、今世紀のビデオ ストリームの目的と内容を探ります。このビデオ シリーズの主な目的は、アルゴリズム取引を包括的に理解していただくことです。取引アルゴリズムの基本から高度な実装、テスト、最適化まですべてをカバーします。

このシリーズは、アルゴリズム取引のコンテキストで Python プログラミングを学習および活用できるように設計されています。取引シグナルの生成、戦略の実装、バックテスト、ライブ取引環境でのアルゴリズムの導入など、さまざまなトピックを検討します。これを容易にするために、Contact Platform と呼ばれる強力なアルゴリズム取引プラットフォームを紹介します。

Contact プラットフォームは、取引アルゴリズムを作成、テスト、展開できる統合開発環境です。ユーザーフレンドリーなインターフェイスを提供し、このシリーズで広く使用する Python を含むさまざまなプログラミング言語をサポートしています。 Contact Web サイトからオンラインでプラットフォームにアクセスするか、Windows または Mac 用のソフトウェアをダウンロードできます。

ビデオ シリーズに付随して、追加のリソースとコード サンプルを見つけることができる専用の YouTube ページを作成しました。これらの例では、クラスタリング手法、株式、債券、外国為替、CFD、オプションなどのスクリプト作成など、さまざまなトピックを取り上げています。初心者でも経験豊富なトレーダーでも、このシリーズはアルゴリズム取引を始めるのに最適な出発点です。

実際の取引シナリオに導入する前に、取引アルゴリズムの開発とテストの重要性を理解することが重要です。これは、アルゴリズム取引で最も時間がかかる側面の 1 つです。ただし、ヨーロッパのストック オプションやその他の主要な国際市場の高解像度の分単位のデータを含む無料の過去の市場データへのアクセスを提供することで、お客様の利便性を高めています。これはアルゴリズム開発者や研究者にとって貴重なリソースになります。

シリーズ全体を通じて、機械学習、センチメント分析、バックテストのための強力なライブラリとツールを活用します。 Pandas や NumPy などのこれらのライブラリは、取引コミュニティで広く使用されており、分析には不可欠です。これらのライブラリとコンタクト プラットフォームを利用することで、さまざまな取引戦略を柔軟に作成およびテストできるようになります。

今後のビデオでは、取引アルゴリズムのコーディングについて段階的に説明します。私たちがさまざまな戦略を議論し、実行する際に、あなたも私に従ってください。さらに、コード スニペットやビデオなどの補足資料を、私の YouTube チャンネルや付随する記事で共有します。

次のビデオでは、開発プロセスをさらに深く掘り下げ、取引アルゴリズムがどのように機能するかを探っていきます。アルゴリズム取引の世界へのこのエキサイティングな旅にぜひご参加ください。

Algorithmic Trading Using Python - Introduction
Algorithmic Trading Using Python - Introduction
  • 2021.03.12
  • www.youtube.com
This is the first video of my algorithmic trading tutorial series in which you will learn everything you need to know to start writing your own trading bots ...
 

Python を使用したアルゴリズム取引 #2



Python を使用したアルゴリズム取引 #2

アルゴリズム取引コースの 2 番目のビデオへようこそ。このビデオでは、概念的レベルに焦点を当てて、アルゴリズム開発のプロセスを詳しく説明します。アイデアの生成から実際の展開まで、調査、実装、バックテスト、最適化などの重要な側面をカバーする各ステップを順を追って説明します。

アルゴリズム開発プロセスはアイデアの生成から始まります。市場観察、ファンダメンタル分析、テクニカル指標、定量モデルなど、さまざまなアイデアのソースを検討します。アルゴリズムを開発して成功するには、取引のアイデアを生成し洗練する方法を理解することが重要です。

有望なアイデアが得られたら、研究段階に進みます。これには、関連データの収集、統計分析の実行、徹底的なバックテストの実施が含まれます。データ品質の重要性と、それがアルゴリズムの信頼性にどのような影響を与えるかについて説明します。さらに、戦略の有効性を評価するために、さまざまなパフォーマンス指標とリスク尺度を調査します。

綿密なリサーチを行った上で、実装段階に進みます。ここでは、取引のアイデアをコードに変換します。 Python などのプログラミング言語を使用して、データを分析し、取引シグナルを生成し、取引を自動的に実行できるアルゴリズムを作成します。コーディングのベスト プラクティスと、保守性と拡張性を考慮してコードを構造化する方法について学びます。

アルゴリズムが実装されたら、バックテスト段階に進みます。バックテストには、履歴データを使用してアルゴリズムのパフォーマンスをシミュレートすることが含まれます。アルゴリズムのパフォーマンスを検証し、その堅牢性を評価するために、サンプル内テストとサンプル外テストを含むさまざまなバックテスト方法について説明します。

最適化は、アルゴリズム開発におけるもう 1 つの重要なステップです。アルゴリズムを微調整し、パフォーマンスを最適化するためのさまざまな手法を検討します。これには、パラメータの最適化、感度分析、リスク管理戦略が含まれます。アルゴリズムを最適化することで、収益性を向上させ、リスクを軽減することを目指しています。

最後に、アルゴリズムのライブ デプロイメントについて触れます。市場データへの接続、注文執行、ライブ取引環境でのリスク管理などの考慮事項について説明します。アルゴリズム取引を成功させるには、ライブ デプロイメントの課題と考慮事項を理解することが不可欠です。

このビデオでは、アルゴリズム開発プロセスをガイドするための洞察と実用的なヒントを提供します。最終的には、取引アルゴリズムを効果的に概念化、調査、実装、バックテスト、最適化、展開する方法を包括的に理解できるようになります。

それでは、アルゴリズム取引の魅力的な世界に飛び込み、アルゴリズム開発のプロセスを詳しく見てみましょう。

Algorithmic Trading Using Python #2
Algorithmic Trading Using Python #2
  • 2021.03.19
  • www.youtube.com
In this 2nd video of this algorithmic trading course, you will learn all about the algorithm development process on a conceptual level. We will cover everyth...
 

利益を生む通貨取引のためにサポートレジスタンスレベルとRSIを使用する方法




利益を生む通貨取引のためにサポートレジスタンスレベルとRSIを使用する方法

RSI 取引戦略の作成において、買われすぎ領域と売られすぎ領域を特定する従来の方法は効果的ではないことがわかりました。代わりに、サポートレベルとレジスタンスレベルをRSIと組み合わせてエントリーポイントを改善する、より効果的なアプローチが提案されています。この代替方法は、古典的な取引チュートリアルで一般的に教えられていることと矛盾します。ただし、Python を使用してテストすると、結果はより有望なものになりました。

この戦略を実装するには、最初のステップは、隣接するローソク足と比較して極端に高いまたは低い値を示すフラクタルまたはローソク足を使用して、サポートとレジスタンスのレベルを特定することです。比較するローソク足の数はコード内の変数であるため、比較範囲を柔軟に設定できます。さらに、特定のしきい値を超える芯の長さによって示される、重大な拒否運動を伴うキャンドルを考慮するための条件を適用することができます。

サポートレベルとレジスタンスレベルが検出されたら、それらが互いに非常に近い場合は、それらをマージする必要がある場合があります。これは、レベル間の差または距離を計算することで実行できます。距離が指定されたしきい値を下回る場合、レベルを平均値に置き換えるか、重複したレベルを削除することによって、レベルをマージできます。

主要なレベルを取得した後、3 つの仮定に基づいて反転シグナルを計算できます。まず、キャンドルの芯はサポート レベルまたはレジスタンス レベルに近く、本体がそのレベルに収まっている必要があります。サポートの場合は本体がレベルより上に、レジスタンスの場合は本体がレベルより下にある必要があります。以前のローソク足も同じサポートまたはレジスタンスレベルに含まれている必要があります。これにより、現在のローソク足の動作が、周囲のローソク足が示すトレンドと一致することが保証されます。

履歴データをテストする場合、生成された信号をチャート上にプロットできます。強気の反転シグナルはローソク足の下の紫色のシグナルポイントで表され、弱気の反転シグナルはローソク足の上の紫色のシグナルポイントで表されます。ただし、一部のシグナルは他のシグナルよりも効果的である可能性があるため、チャート上のすべてのシグナルを取引できるわけではありません。信号をフィルタリングするには、RSI が使用されます。 RSI がしきい値を上回っており、上昇トレンドの勢いを示している場合は、強気シグナルのみが考慮されます。逆に、RSI が下限しきい値を下回っており、下降トレンドの勢いを示している場合は、弱気シグナルのみが考慮されます。このようにして、シグナルはトレンドと一致し、トレンドに反するシグナルはフィルターで除外されます。

Python でインジケーターを自動化し戦略を評価するには、Jupyter Notebook ファイルを使用できます。 2003 年から 2023 年までの 1 時間枠のユーロ/米ドルのローソク足データは、pandas ライブラリを使用してロードされます。データはフィルター処理されて、出来高ゼロのローソク足と週末が削除され、パンダのテクニカル分析ライブラリを使用して RSI が計算されます。サポートとレジスタンスのレベルは、現在のローソク足と隣接するローソク足を比較する関数を使用して検出され、レベルへの近さは追加の関数を使用してチェックされます。これらの関数は、レベルに関連してキャンドルの本体と芯、および先行するキャンドルを考慮します。

必要な関数をすべて定義したら、シグナルを計算するために「check_candle_signal」という関数が作成されます。この関数は、現在のローソク足のインデックス、考慮する左右のローソク足の数、チェックする後ろのローソク足の数、およびデータ フレームを入力として受け取ります。以前に定義された関数を使用してサポートとレジスタンスのレベルを計算し、必要に応じてそれらを結合し、定義された条件と RSI しきい値に基づいてシグナルを生成します。

次に、信号がカウントされ、出力されて、戦略のパフォーマンスが評価されます。チャート上のシグナルを視覚化するには、対応するローソク足が選択され、紫色の点で表されるシグナルとともにプロットされます。プロットにより、シグナルを視覚的に評価し、特定されたサポートおよびレジスタンスレベルとの整合性を確認できます。

ローソク足データをロードし、ゼロボリュームのローソク足や週末の削除など、必要なデータ クリーニング手順を実行した後、次の手順は相対強度指数 (RSI) を計算することです。

RSI は、市場の買われ過ぎと売られ過ぎの状態を識別するために使用される人気のモメンタム オシレーターです。最近の価格変動の大きさを測定して、資産が買われすぎているのか、売られすぎているのかを判断します。 RSI 値の範囲は 0 ~ 100 で、通常、70 を超える値は買われすぎとみなされ、30 未満の値は売られすぎとみなされます。

RSI を計算するには、インジケーターを計算するときに考慮する前のローソク足の数を表すウィンドウ サイズを定義する必要があります。最も一般的なウィンドウ サイズは 14 ですが、要件や分析する資産の特性に基づいて調整できます。

RSI の計算には次の手順が含まれます。

  1. 各ローソク足の価格変化を計算します。これは、現在のローソク足と前のローソク足の終値の差です。

  2. 価格の変化を利益と損失の 2 つの別々のシリーズに分割します。利益はプラスの価格変化を表し、損失はマイナスの価格変化を表します。価格変化がプラスの場合、それは利益とみなされます。マイナスの場合は損失とみなされます。

  3. 負の値をゼロに置き換え、正の値をその絶対値に置き換えることにより、一連の利得と損失を平滑化します。

  4. 定義されたウィンドウ サイズにわたる平均ゲインと平均損失を計算します。これは通常、単純移動平均 (SMA) 方法を使用して行われます。

  5. 平均ゲインを平均損失で割ることにより、相対強度 (RS) を計算します。

  6. 次の式を適用して RSI を計算します: RSI = 100 - (100 / (1 + RS))

RSI 値を時間の経過とともにプロットすることで、資産の買われすぎと売られすぎの状態を視覚的に分析できます。トレーダーは多くの場合、RSI をトレンド反転の可能性のシグナルとして、またはエントリーポイントとエグジットポイントの確認として使用します。

RSI は財務分析で使用される多くのテクニカル指標の 1 つにすぎないことに注意することが重要です。その有効性は、市場の状況、分析される資産、考慮される期間などのさまざまな要因によって異なります。

 

Python での移動平均と VWAP トレンド戦略のバックテスト


Python での移動平均と VWAP トレンド戦略のバックテスト

こんにちは。今日は、取引とアルゴリズム取引の V-WAP (出来高加重平均価格) と移動平均指標を比較します。両方のインジケーターを使用して取引ボットを構築し、ビットコイン データを使用してバックテストを行います。

このビデオで使用する戦略の利益率は、3 年間のデータで約 200 パーセントから最大 473 パーセントまで変化します。コーディング部分に興味がある場合は、バックテストは Python 言語を使用して実行され、説明に記載されているリンクから Jupyter Notebook ファイルをダウンロードできます。

V-WAP はトレーディングにおける私のお気に入りの指標であることに加えて、有価証券が公正価値で取引されているかどうかをトレーダーが判断するのに役立つため、重要です。価格が V-WAP 曲線を上回ったり、V-WAP 曲線をはるかに上回って取引されている場合は、過大評価されている可能性があるため、この情報は非常に重要です。逆に、現在の価格が V-WAP 曲線を下回って取引されている場合は、証券が過小評価されていることを示している可能性があります。一言で言えば、私たちは価格がある時点で V-WAP レベルに収束すると常に期待しています。これは、価格が V-WAP レベルに収束して再び黄色の曲線から跳ね返される前に、価格のローソク足と黄色の V-WAP 曲線との差が増加した例で観察できます。移動平均曲線とV-WAPの黄色の曲線には明らかな違いがあります。

V-WAP を計算するには、次の式を使用できます: V-WAP = 累積平均価格 * 出来高 / 累積出来高。平均価格とは、高値、安値、終値の間の平均価格です。累積部分とは、取引セッションが開始されてからの合計額を意味します。取引セッションは、目標とする時間枠に応じて、毎日、毎週、または毎月リセットできます。 V-WAP の計算には、取引高に関するより多くの情報が組み込まれているため、単純な移動平均とは異なります。

また、V-WAP は価格とともに動く動的なサポートとレジスタンスのレベルとして機能するため、取引の最適なエントリーポイントとエグジットポイントを決定するために使用することもできます。これが、このビデオで示されている戦略で V-WAP を使用する目的です。

私たちが使用する戦略は次のとおりです。 まず、比較に使用するインジケーターに応じて、V-WAP または移動平均曲線の下または上にある一連のローソク足を調べます。ローソク足がカーブの下にある場合は、短いシグナルを探しており、ローソク足がカーブに十分近づいたときにエントリーポイントが決定されます。ローソク足がカーブの上にある場合、ロングシグナルを探しており、ローソク足がカーブに十分近づいたときにエントリーポイントが決定されます。比較のために移動平均曲線と V-WAP 曲線の両方を使用して同じ戦略を適用します。

Jupiter Notebook ファイルでは、2019 年から 2022 年までの 15 分間の時間枠でビットコイン 米ドルのローソク足データをロードします。データ形式をクリーンにし、pandas テクニカル分析モジュールを使用して V-WAP と EMA (指数移動平均) を計算します。 )。次に、特定の数の逆ローソク足を使用して、EMA と V-WAP の両方のシグナルを計算します。信号値はデータ フレームの新しい列に格納されます。理解を深めるために信号ポイントを視覚化します。

バックテストには、さまざまな取引管理アプローチを使用できます。この場合、ATR (Average True Range) を使用してストップロスとテイクプロフィットのレベルを設定します。テイクプロフィットレベルはストップロス距離に基づいて設定され、テイクプロフィット対ストップロスの比率は2.5です。ストップロスはATRの0.8倍として計算されます。

バックテストでは、データ フレーム内の各ローソク足を繰り返し、V-WAP および移動平均インジケーターによって生成されたシグナルに基づいてエントリー条件とエグジット条件をチェックします。取引が開始されると、ATR に基づいてストップロスとテイクプロフィットのレベルが計算されます。価格がストップロスまたはテイクプロフィットレベルに達した場合、取引を終了し、損益を記録します。

バックテストが完了すると、累積損益が計算され、トータルリターン、年率リターン、最大ドローダウン、シャープレシオなどのパフォーマンス指標が生成されます。

バックテストの結果は、V-WAP 指標と移動平均指標の両方を使用した取引戦略のパフォーマンスを示します。結果を比較することで、収益性とリスク管理の観点からどちらの指標がより優れたパフォーマンスを発揮するかを評価できます。

バックテストの結果は、使用した特定のパラメーター、選択した期間、市場状況などのさまざまな要因に依存することに注意してください。実際の取引に適用する前に、戦略を徹底的に分析し、堅牢なテストを実施することが重要です。

Moving Average And VWAP Trend Strategies Backtest In Python
Moving Average And VWAP Trend Strategies Backtest In Python
  • 2023.04.20
  • www.youtube.com
In this video, we compare VWAP and Moving Average indicators for trading and Algorithmic trading. We use both indicators to build a trading bot, backtesting ...
 

Python を使用した自動化された Doji と巻き込みパターンによるプライス アクション取引をマスターする


Python を使用した自動化された Doji と巻き込みパターンによるプライス アクション取引をマスターする

今日は、Doji キャンドルと Engulfing キャンドルの 2 つのキャンドル パターンを比較します。ボリンジャーバンドと組み合わせたシンプルな戦略を使用し、1 時間の時間枠で過去 1 年間の履歴データを使用してこれらのパターンをバックテストします。私たちの目標は、価格変動パターンと他のインジケーターを組み合わせることが、純粋なテクニカル取引の強力なツールとなり得ることを実証することです。

この戦略を実装するために、ビデオの説明内のリンクからダウンロードできる Python コードを提供します。コンテンツが役立つと思われた場合は、「いいね!」とフォローしてチャンネルをサポートしてください。さらに、検討したいアイデアがある場合は、コメントセクションで議論できます。

このデモンストレーションでは、2 セットのパターンに焦点を当てます。つまり、弱気のローソク足が先行し、その後に将来の上昇トレンドを示す上昇トレンドまたは強気のローソク足が続く Doji ローソク足です。 2 番目のパターンは巻き込みパターンで、ローソク足の始値と終値がそれぞれ前のローソク足よりも高く、終値が低くなります。基本的に、現在のローソク足が前のローソク足を飲み込み、将来の価格の予測傾向を決定します。これら 2 つのパターンの強気セットアップの例を具体的に見ていきます。また、ドージの後に弱気のローソク足が続く弱気のセットアップ、または飲み込みパターンの場合、飲み込みローソク足が弱気の方向性を持っている場合も検討する価値があります。これらの設定は、将来の下降傾向を示しています。

ここで、戦略でこれらのパターンをどのように使用するかを詳しく見てみましょう。まず、価格ローソク足がボリンジャーバンドラインの上または下で終了するのを待ちます。ボリンジャーバンドの下限ラインを下回る強気パターンが形成された場合、買いシグナルを設定します。一方、弱気のローソク足の設定がボリンジャーバンドの上部ラインを上回った場合は、空売りまたは売りのシグナルを設定します。簡単に言うと、ボリンジャーバンドの下に強気のパターンが見られる場合、価格が上昇すると予想されます。逆に、ボリンジャーバンドの上に弱気のパターンを見つけた場合は、価格が下落すると予想されます。これは、Python を使用して検討する側面です。

提供されている Jupyter ノートブックは、このインジケーターのバックテストを示しています。このコードでは、データの取得と分析にそれぞれ Y Finance モジュールとパンダを使用します。 2021 年 4 月 1 日から 2023 年 3 月 19 日までのユーロから米ドルへの為替レート データが時間枠でダウンロードされます。

ボリンジャーバンドを計算するには、pandas テクニカル分析モジュールを利用し、長さを 30、標準偏差を 1.5 に設定します。これらのパラメータは、さらなる実験のために調整できます。

次に、始値、終値、高値、安値のデータフレームとボリンジャー バンド データを取得する関数「Bollinger Doji Signal」を定義します。強気シグナルを伴う最初の条件を確認します。この場合、ボリンジャーバンドの下側のラインの下にある現在のローソク足の終値を探します。同時に、現在の終値が始値よりも高くなる必要があり、これは Doji ローソクが先行する緑色または上昇トレンドのローソクを示します。さらに、前のローソク足は弱気であり、終値が始値よりも低いはずです。この組み合わせは反転パターンを表します。これらの条件が満たされ、パターンがボリンジャーバンドの下限ラインを下回った場合、買いシグナルを設定します。逆に、弱気シグナルの場合は、終値がボリンジャーバンドの上部ラインより上にあり、現在のローソク足が弱気で、終値が始値を下回っている必要があります。これに先立って、終値が始値よりも高い上昇トレンドまたは緑色のローソク足が存在するはずです。

この場合、その組み合わせは弱気の反転パターンを表しており、これらの条件が満たされ、パターンがボリンジャーバンドの上側ラインを上回った場合、売りシグナルを設定します。

関数「ボリンジャー童子シグナル」は、上記の条件に基づいてシグナルを計算し、元のデータと、それぞれの時点で買い (1)、売り (-1)、またはホールド (0) のいずれかを示すシグナル列を含むデータフレームを返します。キャンドル。

次に、この関数を履歴データに適用し、結果を「signals_df」という新しいデータフレームに保存します。

戦略のパフォーマンスを評価するには、シグナルに終値の変化率を乗算し、それらを累積的に合計することでリターンを計算します。また、全期間資産を単に保有するバイアンドホールド戦略の累積収益も計算します。

最後に、両方の戦略の累積収益をグラフにプロットして、パフォーマンスを視覚化します。

バックテストの結果を分析することで、取引シグナルを生成する際のボリンジャーバンドインジケーターと組み合わせたDojiおよびEngulfingローソク足パターンの有効性を評価できます。これは単純化された例であり、財務上のアドバイスとして考慮されるべきではないことに注意することが重要です。さらに、戦略とそのパラメータは、個人の好みやリスク許容度に基づいてさらに最適化およびカスタマイズできます。

コードを完全に理解して複製するには、完全なコードと説明が含まれている、提供されている Jupyter ノートブックをダウンロードして実行することをお勧めします。

取引戦略は、実際の取引シナリオに実装する前に、徹底的にテストして検証する必要があることに注意してください。投資を決定する前に、財務アドバイザーに相談するか、広範な調査を行うことを常にお勧めします。

この説明が、トレーディング戦略においてボリンジャーバンド指標と組み合わせた Doji および Engulfing ローソク足パターンの実装をより深く理解するのに役立つことを願っています。
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
  • 2023.03.25
  • www.youtube.com
In this informative video, we will explore the power of price action patterns in combination with Bollinger Bands for trading strategy backtesting. Specifica...
 

Python での価格チャネルブレイクアウトの戦略バックテスト



Python での価格チャネルブレイクアウトの戦略バックテスト

こんにちは、私のチャンネルへようこそ。今日のビデオでは、価格チャネルのブレイクアウトに基づいた戦略の開発とバックテストに焦点を当てます。初めての方は、カスタム Python ベースの価格チャネル インジケーターのコードを紹介して説明した前回のエピソードを見ることをお勧めします。以下の説明にリンクを残しておきます。それでは、今日のトピックに入り、バックテストの部分を実行してみましょう。

前回のビデオでは、価格チャネルを検出するコードを紹介しました。要約すると、ローソク足の最高点と最低点であるフラクタルを検出します。フラクタルは、同時に隣接するすべてのローソクよりも高いまたは低いローソク上の点です。高値と低値の両方のさまざまなフラクタルを検出し、回帰を使用してそれらを傾きに当てはめます。これらの傾きは、価格チャネルを定義するチャネルを表します。次に、価格が同じ方向に継続すると仮定して、価格がこのチャネルから出たときにブレイクアウトを検出しようとします。

視覚的には、このインジケーターはうまく機能しているように見えますが、長期戦略でどのように機能するかに興味があります。そのため、今日は完全なバックテストを実施しています。バックテストには Python を使用します。説明内のリンクからコードをダウンロードできます。

まず、2003 年から 2023 年までの 10 ~ 20 年分のデータをロードします。これは、前回のビデオでも使用したものです。バック ローソク足の数を 45 に設定します。これは、フラクタル (高値と安値) を検出し、チャネルを定義するウィンドウです。

ローソク足がピボット ポイントであるかフラクタル ポイントであるかを検出する is_pivot という関数があります。ローソク足インデックスとウィンドウ サイズという 2 つのパラメータを取ります。ローソク足が、指定されたウィンドウ内の隣接するローソク足のすべての高値または安値よりも高いか低いかを確認します。ピボットのタイプに基づいて値を返します。ピボットが高い場合は 1、ピボットが低い場合は 2、両方の場合は 3、その他の場合は 0 を返します。この関数をデータ フレーム内の各ローソク足に適用し、結果を「is_pivot」という新しい列に保存します。

次に、チャネルを収集するか、チャネルを検出する必要があります。現在のローソク足の前の 45 本のローソク足を見て、高値と低値のフラクタルを確認します。少なくとも 3 つの高値と 3 つの安値がある場合は、線形回帰を使用してそれらを近似し、傾きのパラメーターを返します。それ以外の場合は、ゼロを返します。指定されたウィンドウ サイズを使用してこの関数をデータ フレームに適用し、結果が「チャネル」という新しい列に保存されます。

価格チャネル外のブレイクアウトを検出する is_breakout という関数もあります。各ローソク足について、前のローソク足の高値がチャネル内にあるかどうか、および前のローソク足の終値がチャネルの安値を下回っているかどうかを確認します。両方の条件が満たされ、現在のローソク足の始値と終値もチャネルの外にある場合は、シグナルを返します。下降トレンドのシグナルの場合は 1、上昇トレンドのシグナルの場合は 2、その他の場合は 0 を返します。すべてのローソク足に対してこの関数を実行し、結果を「is_breakout」という新しい列に保存します。

ブレイクアウトのシグナルが得られたので、バックテストに進むことができます。いつものようにバックテスト ライブラリを使用し、初期ロット サイズは株式の 10% です。テイクプロフィット対ストップロスの比率を定義し、シグナルに基づいてストップロスとテイクプロフィットのレベルを設定します。たとえば、シグナルが 2 (上昇トレンド) で、オープンな取引がない場合、ストップロスを前のローソク足の安値に設定し、テイクプロフィットを平均トゥルーレンジ (ATR) の倍数に設定します。

データフレーム内の各ローソク足を反復処理し、ブレイクアウトシグナルがあるかどうかを確認します。シグナルがあり、現在オープンしている取引がない場合は、シグナルに基づいて新しい取引を開始します。当社はロットサイズと利用可能な資本に基づいて取引サイズを計算します。

取引が開始されると、その進行状況を追跡します。価格が有利に動くと、ストップロスとテイクプロフィットのレベルを更新します。価格がストップロスまたはテイクプロフィットレベルに達した場合、取引を終了して結果を記録します。

最後に、総取引数、勝った取引の割合、取引ごとの平均利益、全体的な自己資本利益率など、全体的なパフォーマンス指標を計算して出力します。

ここでは、コードを使用せずに価格チャネルのブレイクアウト戦略を段階的に説明します。

  1. 過去の価格データをロードします。
  2. 平均トゥルー レンジ (ATR) を計算するための期間やテイク プロフィット レベルを設定するための倍数など、戦略のパラメーターを定義します。
  3. データ フレーム内の各ローソク足を繰り返します。
  4. ブレークアウト信号があるかどうかを確認します。ブレイクアウトは、価格がチャネルの上限または下限境界を超えると発生します。
  5. ブレイクアウトシグナルがあり、現在オープンしている取引がない場合は、シグナルに基づいて新しい取引を入力してください。強気のブレイクアウトの場合は資産を購入し、弱気のブレイクアウトの場合は資産を売却します。
  6. 利用可能な株式に基づいて取引サイズを計算します。たとえば、取引サイズを株式の割合 (10% など) として設定できます。
  7. 前のチャネル境界に基づいてストップロスレベルを設定します。強気のブレイクアウトの場合、ストップロスはチャネルの下限境界より下に設定され、弱気のブレイクアウトの場合、ストップロスはチャネルの上限境界より上に設定されます。
  8. 現在の価格とATRに基づいてテイクプロフィットレベルを設定します。 ATR に 2 などの倍数を掛けて、強気のブレイクアウトの場合は現在の価格に加算し、弱気のブレイクアウトの場合は現在の価格から ATR を減算します。
  9. 取引の進行状況を追跡します。価格が有利に推移するにつれて、ストップロスとテイクプロフィットのレベルを更新します。これには、利益を確定させるためにストップロスを調整したり、ストップロスを価格よりも遅らせたりすることが含まれる場合があります。
  10. 価格がストップロスまたはテイクプロフィットレベルに達した場合は、取引を終了し、結果(利益または損失)を記録します。
  11. ブレイクアウトシグナルごとにステップ 5 ~ 10 を繰り返し、それに応じて取引サイズ、ストップロス、テイクプロフィットレベルを更新します。
  12. 総取引数、勝った取引の割合、取引ごとの平均利益、全体的な自己資本利益率など、全体的なパフォーマンス指標を計算して出力します。

この戦略をコードに実装すると、履歴データに基づいてバックテストを行い、パフォーマンスを分析できるようになります。前に提供したコードは、Python のバックテスト ライブラリを使用した戦略の実装を示しています。

Strategy BackTest Of Price Channel Break Out In Python
Strategy BackTest Of Price Channel Break Out In Python
  • 2023.03.10
  • www.youtube.com
This is a continuation of the previously released video (https://youtu.be/Bnv7euL-FxM) on price channels break out. This is a full strategy backtest sample s...
理由: