@Matt Macarty #dataanalytics #pythonprogramming #stockmarket Python and Excel - Learn how to use Data API to download, transform and export data to...
株価分析での Python の使用に関するシリーズのパート 8 へようこそ。このビデオでは、1 日の終わりの履歴データ API をさらに深く掘り下げ、価格の取得を超えた追加機能を検討します。 API は包括的であり、すべてを網羅するわけではありませんが、役立つと思われる例をいくつか紹介します。 API によって提供されるドキュメントは広範囲に及ぶため、さまざまなデータ セットを探索する際に役立ちます。
まず、今週報告する企業の収益データの取得に焦点を当てます。まず、API キーを渡して API クライアントを初期化します (独自のキーに置き換えます)。次に、データをダウンロードして DataFrame に保存します。
@Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to Download List of Stocks that will announce earnings or dividends for a spec...
Julio 博士は、アルゴリズム取引戦略のパフォーマンスを評価する際のパフォーマンス分析とその重要性について説明します。コードをテストして改良するための履歴データの必要性と、このプロセスを支援するためにパフォーマンス分析チャートがシャープ比などの変数をどのように計算できるかについて説明します。バックテストの結果に満足したら、講演者は実際の市場状況に対して戦略を実行するために紙の口座に切り替えることをアドバイスします。また、iBridgePy を使用して複数のアカウントを処理する方法も示しています。これはファンド マネージャーにとって重要です。
Julio 博士は、Hybrid Fat Pack ソフトウェアの柔軟性とユーザーフレンドリーな性質を強調し、アルゴリズム取引の強力なツールであることを強調して締めくくりました。
This is your go-to guide to backtesting with Interactive Brokers and going live with your trading strategy. In this session, we have Dr Hui Liu (Faculty, EPA...
Python を使用してデータをダウンロード、変換、Excel に書き込む || Pythonによる株価分析 その6
Python を使用してデータをダウンロード、変換、Excel に書き込む || Pythonによる株価分析 その6
Python による株価分析に関するシリーズのパート 6 へようこそ。ビデオの説明には、前の 5 つのビデオへのリンクと、コードを含む GitHub リポジトリへのリンクがあります。
前のパートでは、選択した銘柄の終値をプロットするさまざまな方法を検討しました。さて、パート 6 では、別のアプローチでデータを取得し、Excel ファイルを操作します。少なくとも 1 つのティッカーを入力として受け取る「get_return_data」という関数を作成します (複数のティッカーはカンマで区切るか、Python コレクション オブジェクトに格納できます)。さらに、この機能を使用すると、ユーザーは日付を指定し、終値または調整終値のいずれかを選択できます。データは Excel ファイルに保存され、変数に保存することもできます。
まず、API クライアントを設定する必要があります。前と同様に、「一日の終わりの履歴データ」API を使用します。 「key」変数を独自の API キーに置き換える必要があります。
次に、ダウンロードしたデータを保存するための一時的な DataFrame を作成します。関数に渡されたティッカーをループし、try-excel ブロックを使用して潜在的なエラーを処理します。ユーザーが調整終値と終値のどちらを希望するかに応じて、API 呼び出し結果の対応する列を DataFrame のティッカー列に追加します。
データをダウンロードして保存したら、必要な変換を実行できます。この場合、NumPy を使用して瞬間収益率を計算し、最初の行を削除します。また、組み込みメソッドを使用して通常の変化率も計算します。
最後に、コンテキスト マネージャー内の pandas Excel 書き込みオブジェクトを使用して、データを Excel ファイルに書き込みます。この手順では、ファイル名とオプションの日付形式を指定する必要があります。各変数は「returns」ファイルに挿入され、タスクの完了を示すメッセージが出力されます。この関数は終値を返しますが、他のデータも返すように拡張できます。
4 つのティッカーを使用して関数をテストすると、ダウンロードされたデータを含む生成されたファイルが表示されます。ファイルを Excel で開いてデータを表示できます。
これでシリーズの第 6 部は終了です。パート 7 では、複数の銘柄のパフォーマンスを 1 つの図にプロットする方法を検討します。
株価分析用の Python: \matplotlib を使用した複数の証券のパフォーマンス グリッドのプロット ||パート 7
株価分析用の Python: \matplotlib を使用した複数の証券のパフォーマンス グリッドのプロット ||パート 7
株価分析での Python の使用に関するシリーズのパート 7 へようこそ。ビデオの説明には、前の 6 つのビデオとコードを含む GitHub リポジトリへのリンクがあります。
第 6 部では、データをダウンロードし、変換を実行し、Excel ファイルに保存する機能を開発しました。さて、パート 7 では、複数の銘柄の相対的なパフォーマンスを 1 つのグラフにプロットすることに焦点を当てます。
まず、特定のフォルダー内のすべてのファイルを読み取ります。この場合、「energy」フォルダーを探します。ゼロで始まるファイルはスキップされます。
matplotlib ライブラリを使用して、サブプロット オブジェクトを作成します。行ごとに 4 つのグラフを表示したいので、行数はファイルの長さの上限を 4 で割った値によって決まります。多くのグラフを収容できるように図を大きくします。
次に、追加されたグラフの数を追跡し、ネストされた for ループを使用して図の行と列を反復処理します。最後の行に到達しても、それがいっぱいでない場合は、カウントをインクリメントすることで例外を処理します。
ループ内で、各ファイルから終値を読み取り、データを相対的なパフォーマンスに変換します。対応する軸で相対的なパフォーマンスをプロットし、0 の位置に水平線を追加します。データをパーセンテージとしてフォーマットするには、matplotlib からティッカー モジュールをインポートします。
例外ブロックでは、プロットするデータが不足していることがわかっているため、何もアクションを実行しません。次のファイルに進むために、単純にカウントを渡してインクリメントします。
すべてのデータがプロットされたら、グラフを表示します。
「energy」フォルダー内のファイルを使用してコードをテストすると、約 1 年間にわたる 21 銘柄の相対的なパフォーマンスを示すグラフが表示されることがわかります。
これでシリーズの第 7 部は終了です。次のビデオでは、一日の終わりの履歴データ API からの追加のデータカットについて説明します。決算または配当を発表予定の銘柄リストをダウンロード || Pythonによる株価分析 その8
決算または配当を発表予定の銘柄リストをダウンロード || Pythonによる株価分析 その8
株価分析での Python の使用に関するシリーズのパート 8 へようこそ。このビデオでは、1 日の終わりの履歴データ API をさらに深く掘り下げ、価格の取得を超えた追加機能を検討します。 API は包括的であり、すべてを網羅するわけではありませんが、役立つと思われる例をいくつか紹介します。 API によって提供されるドキュメントは広範囲に及ぶため、さまざまなデータ セットを探索する際に役立ちます。
まず、今週報告する企業の収益データの取得に焦点を当てます。まず、API キーを渡して API クライアントを初期化します (独自のキーに置き換えます)。次に、データをダウンロードして DataFrame に保存します。
このタスクで使用する関数にはパラメーターは必要ありません。 DataFrame を取得したら、今週収益を報告する企業のシンボルを抽出し、リストに保存します。
米国などの特定の取引所のデータをフィルターするには、DataFrame の各行をループし、記号が「us」で終わるかどうかを確認します。銘柄記号は、一日の終わりの履歴データではコードとして参照され、その末尾は属する取引所に対応しています。取引所情報を除いて、関連するシンボルをリストに追加します。
すべての行をループした後、今週収益を報告する企業の数を出力し、さらなる分析のためにシンボルのリストを返します。
次に、特定の権利落ち日の配当を取得する方法を見てみましょう。今日の日付から始めます。関数のセットアップは前のものと同様で、API クライアントを作成し、データを DataFrame にダウンロードします。
今回使用する関数は get_bulk_market と呼ばれます。この機能から、市場全体の終値を含むさまざまなデータポイントを取得できます。配当の場合、関心のあるデータを「配当」として指定します。
呼び出しを行った後、結果の DataFrame を返します。
この関数をテストして、今日の権利落ち日を使用して配当を取得します。このコードは、米国市場と今日の日付のデフォルト値を想定して、配当を出力します。
結果として得られる DataFrame には、配当がそれぞれのレートで表示されます。米国市場を対象としているため、配当は米ドルになります。さらに、DataFrame は配当支払いの頻度に関する情報を提供します。
これでパート 8 は終わりです。パート 9 では、簡単なスクリーナーを構築してセクション 1 を終了します。API を使用して株式スクリーナーを作成する方法 || Pythonによる株価分析 その9
API を使用して株式スクリーナーを作成する方法 || Pythonによる株価分析 その9
これは、Python を使用した株価分析に関するシリーズのパート 9 です。説明には以前のビデオへのリンクと、GitHub 上のコードがあります。
セクション 1 の最後のセグメントでは、株式スクリーナーの例を検討します。目標は、複数の証券の 52 週間の高値、現在価格、株価収益率を分析するシンプルなスクリーナーを作成することです。これは、さらなる分析のために証券を特定するのに役立ちます。
これを達成するために、一日の終わりの履歴データの基本フィードを使用します。まず、このフィードの呼び出しから取得したデータを調べてみましょう。クライアント オブジェクトを作成し、Apple などの特定の証券の基本データを取得します。これにより、財務、貸借対照表などのさまざまな情報を含む大規模なデータ フレームが得られます。インデックスの場所を使用して、特定のセクションを探索できます。
次に、インデックスのテクニカルに焦点を当て、一日の終わりの履歴データ ヘルパー ライブラリとエンドポイントの両方を使用して、直近の日の終値を一括ダウンロードします。データをデータ フレームに保存し、インデックスをリセットします。この呼び出しでは、米国証券取引所のすべての証券の終値を取得します。その後、データをフィルタリングして、関心のある証券のみを含めることができます。
株価スクリーナーを構築するには、クライアントを作成し、分析したい銘柄をループします。各証券の 52 週間の高値を辞書に入力します。証券がこの情報を利用できない場合は、スキップしてループを続行します。
必要なデータを取得したら、終値と 52 週間の高値を結合し、株価収益率を計算します。証券、終値、高値、比率を含む結果のデータ フレームを返します。
スクリーナーをテストするために、get_sp 関数を使用して S&P 500 からシンボルを取得し、結果を出力します。これには、S&P 500 銘柄の最初の 10 銘柄の終値、52 週間の高値、比率が表示されます。
パート 10 では、その目的のためのクラスの構築を開始しながら、個々の証券の分析について詳しく説明します。次のパートでは、個人レベルでの証券分析について詳しく学びましょう。
株価分析 Python: Python で株価を自動的に分析する方法 ||パート 10
株価分析 Python: Python で株価を自動的に分析する方法 ||パート 10
これは、株価分析のための Python に関する私のシリーズのパート 10 になります。以下の説明に以前のビデオへのリンクと、すべてのコードが入手可能な GitHub リポジトリへのリンクがあります。このパートでは、証券取引所全体や銘柄記号の大きなリストではなく、個々の証券に焦点を当てていきます。
まず、この部分に必要なインポート (datetime、matplotlib、numpy、pandas、seaborn など) をすでに組み込みました。また、約 1 年前の日付を表すシンボリック定数も定義しました。これは、ISO 形式の日付を使用してユーザーが変更できます。
次に、個別の証券を処理する「Stock」というクラスを作成します。このクラスは、銘柄記号、API キー、および日付 (デフォルト値) のパラメーターを使用して初期化されます。さらに、ユーザーはデータを保存できるフォルダーを指定できます (デフォルト値は「なし」)。
クラス内で、株価データを取得する「get_data」というメソッドを定義します。まず、シンボルと利用可能なファイルを比較することにより、指定されたフォルダーにデータが既に利用可能であるかどうかが確認されます。データが見つかった場合は、DataFrame に読み込まれて標準化されます。それ以外の場合は、API を使用してデータをフェッチし、DataFrame として返します。
Stock インスタンスを初期化すると、シンボル、API キー、日付、データがインスタンス変数として格納されます。機能をテストするために、Stock オブジェクトを作成し、データを出力します。
これでシリーズのパート 10 は終了です。パート 11 では、Stock クラスにさらにデータ変換を追加します。株価分析用の Python: 株価収益率とボラティリティを自動的に計算してグラフ化 ||パート11
株価分析用の Python: 株価収益率とボラティリティを自動的に計算してグラフ化 ||パート11
株価分析のための Python に関するシリーズのパート 11 へようこそ。以前のビデオと GitHub リポジトリへのリンクは、以下の説明にあります。
パート 10 では、銘柄記号を初期化し、ローカル フォルダーまたは API を通じてそのデータを取得するための単純なクラスを作成しました。このパートでは、データ変換をさらに詳しく調べて、データのプロットを開始します。
まず、DataFrame を入力として受け取る「calculate_volatility」という新しいメソッドを追加します。このメソッドを「get_data」メソッドと統合するには、それに応じて変更します。 「calculate_volatility」メソッド内で、DataFrame にいくつかの列を追加します。最初の列はリターンで、小数点 4 桁の精度で終値の対数差として計算されます。
次に、21 日間の収益の標準偏差を表すローリング ボラティリティを計算します。結果を小数点第 4 位に四捨五入します。さらに、絶対変化、高低スプレッド、および予想される変化の列を、適切に四捨五入して含めます。
株価の変動の大きさを分析するために、実際の変化を予想される変化で割った値を小数点第 2 位に四捨五入して表す「大きさ」という列を計算します。最後に、グラフ作成を目的として絶対値列を追加します。
計算の結果として得られた NaN 値を含む最初の行を削除し、「get_data」メソッド内で「calculate_volatility」メソッドを呼び出します。
Stock インスタンスを初期化し、DataFrame を出力してコードをテストしてみましょう。
次に、ヒストグラムを作成して収益分布をプロットしてみましょう。開始日と終了日を決定し、20 個のビンとエッジの色を使用してヒストグラムをプロットします。タイトルを強化するために、日付範囲を指定する 2 行のスーパータイトルを使用します。最後にプロットを表示します。
コードを実行して、過去 1 年間の株式の収益分布の概要を示すヒストグラムを調べてみましょう。
パート 11 はこれで終了です。パート 12 では、他のデータ変換に進む前に、追加のプロットの作業を続けます。期待される株式収益を計算して正規化する方法 || Python 株価分析 その 12
期待される株式収益を計算して正規化する方法 || Python 株価分析 その 12
株価分析のための Python に関するシリーズのパート 12 へようこそ。以下の説明にコードと他のビデオへのリンクがあります。
パート 11 では、DataFrame に列を追加し、収益の分布をプロットすることにより、Stock クラスで基本的なデータ変換を実行しました。このビデオでは、株価分析に役立つ可能性のあるプロット オプションをさらに紹介します。
まず、株式のボラティリティをプロットしましょう。スーパー タイトルや開始日と終了日など、セットアップはこれまでに行ったことと同様になります。散布図を作成します。X 軸はリターンを表し、Y 軸は標準偏差の変化の絶対値を表します。参考に水平線と垂直線を追加します。
コードを実行して、ボラティリティの散布図を調べてみましょう。変化率の範囲と標準偏差の数を観察できます。たとえば、過去 1 年間、標準偏差 3.5 を超える変化はありませんでした。
次に、株式のパフォーマンスをプロットしてみましょう。繰り返しますが、コードの大部分は同じままであるため、それをコピーしていくつかの調整を加えることができます。散布図の代わりに折れ線グラフを作成して、時間の経過に伴う相対的なパフォーマンスを追跡します。終値を初日の終値で割り、1 を引いて変化率を取得し、100 を掛けて、Y 軸のパーセンテージとしてフォーマットします。参考のために水平線を残しておきます。
コードを実行すると、株価のパフォーマンスの折れ線グラフが表示されます。開始価格と比較して、指定された期間における株価の推移を確認できます。この場合、ここ数か月間、増加傾向に続いて減少傾向が見られます。
必要に応じて、自由に図のサイズをカスタマイズし、他のプロット オプションを検討してください。
パート 12 はこれで終わりです。パート 13 では、追加のデータ変換について詳しく説明します。株価分析用の Python: オプションの有効期限とボラティリティによるデータのフィルター ||パート13
株価分析用の Python: オプションの有効期限とボラティリティによるデータのフィルター ||パート13
株価分析のための Python に関するシリーズのパート 13 へようこそ。コードと GitHub の他のビデオへのリンクは、以下の説明にあります。
第 12 回では、株価分析に役立つさまざまなプロットを検討しました。このビデオでは、データのさまざまなスライスを調べるためのいくつかのメソッドを追加して、Stock クラスを拡張します。
まず、オプションの有効期限が切れる日を特定するメソッドを作成しましょう。毎月第 3 金曜日です。このメソッドを「option_expiration」と呼びます。これを実現するには、NumPy の np.where 関数を使用してマスクを作成します。 3 つの条件を指定します。データのインデックスは 14 日 (最も早い第 3 金曜日) より大きく、21 日 (最も遅い第 3 金曜日) より小さく、金曜日 (曜日 4) に対応する必要があります。このマスクが適用されたデータを返します。その結果、金曜日の有効期限のみが含まれる DataFrame が生成されます。
次に、最後の 2 つの標準偏差の動きから低ボラティリティがどのくらいの期間続いたかを決定する最後のメソッドを作成します。このメソッドを「low_vol_duration」と呼びます。これを実装するには、「標準偏差 2 未満の日数」という列をデータに追加し、ゼロで初期化します。次に、データを反復処理して、各行の大きさを確認します。マグニチュードが 2 未満の場合は、カウントをインクリメントし、「標準偏差 2 未満の日数」列の対応する行を更新します。マグニチュードが 2 以上の場合、カウントは 0 にリセットされます。最後に、標準偏差が 2 回移動した行のみを含む DataFrame を返し、各移動間の日数を示します。
コードを実行して結果を調べてみましょう。毎月 15 日から 21 日までのオプションの有効期限がわかります。さらに、低ボラティリティ期間もあり、前の 2 つの標準偏差の変動からの日数を示します。たとえば、約 1 年前、前回の 2 つの標準偏差の変動から 2 日が経過し、その後は 32、41 などの期間が続きました。
これでパート 13 を終了し、セクション 2 を終了します。ニーズに応じて Stock クラスの開発と拡張を継続することをお勧めします。パート 14 では、pip を使用してインストールできる Python パッケージに関数をパッケージ化する方法を検討します。Python ストック分析: VS Code の Pip を使用して独自のカスタム Python パッケージを作成および公開する
Python ストック分析: VS Code の Pip を使用して独自のカスタム Python パッケージを作成および公開する
このビデオでは、Python コードを pip を使用してインストールできるライブラリにパッケージ化するプロセスを説明します。これは、株価分析のための Python に関する私のシリーズの最後のビデオで、データの取得、データ変換、視覚化、データ スクリーニングなどのトピックを取り上げました。以下の説明に以前のビデオへのリンクと、GitHub リポジトリへのリンクがあります。
コードをパッケージ化する目的は、特定の Python プロジェクトでの使用と再利用をより便利にすることです。コードを PyPI (Python Package Index) に公開しているかのようにプロセスを説明しますが、コードがすぐに PyPI に対応できるわけではないことに注意することが重要です。プロセスを理解するために、最初にセットアップしてローカルにインストールします。ただし、将来的にはコードを変更して、より多くのユーザーと共有したいものを作成する可能性があります。
パッケージ化プロセスは、プロジェクトの複雑さに応じて異なる場合があります。私たちの場合、コードは 2 つのモジュールで構成されているため、プロセスは比較的単純です。手順の概要は次のとおりです。
フォルダーと構成ファイルをセットアップしたら、pip を使用してライブラリをローカルにインストールできます。コマンド ラインを開き、親フォルダーに移動して、コマンド「pip install .」を実行します。これによりライブラリがインストールされ、どの Python 環境からもアクセスできるようになります。
インストール後、Python を起動して「analyze」モジュールをインポートすることでライブラリをテストできます。 「ヘルプ」機能を使用して、パッケージに関するメタデータを表示することもできます。
パッケージ化プロセスは時間の経過とともに進化する可能性があり、インストール用にコードをパッケージ化する方法は複数あることに注意してください。ここで説明した手順は出発点であり、プロジェクトがより複雑になるにつれて追加のオプションを検討できます。
このチュートリアルが独自の Python パッケージの作成を始めるのに役立つことを願っています。
Python を使用したインタラクティブ ブローカーによるバックテストとライブ取引。
Python を使用したインタラクティブ ブローカーによるバックテストとライブ取引。
フリオ博士は、アルゴリズム取引とその利点について説明することからセッションを開始します。同氏は、アルゴリズム取引により、トレーダーは常に市場を監視するプレッシャーを軽減し、人的ミスを最小限に抑え、他の活動のための自由時間を増やすことができると説明しています。彼は、アルゴリズム取引の 4 つの主要な構成要素であるブローカー、インターネット、プログラム、コンピューターを強調しています。
その後、米国最大の電子取引プラットフォームとして導入されたインタラクティブ ブローカーズ (IB) に焦点が移ります。フリオ博士は、IB はトレーダーがプログラムを使用して取引できるようにする高度な API テクノロジーを提供し、競争力のある価格設定と世界市場へのアクセスを提供すると説明します。同氏は、Python プログラムを使用して IB とアルゴリズム的に取引できることを強調しています。
次に、フリオ博士は、トレーダーがローカルまたはクラウド コンピューター上にアルゴリズム取引プラットフォームをセットアップできるようにする、Hybrid Fat Pack と呼ばれる Python ソフトウェアを紹介します。同氏は、このプラットフォームの主な利点を強調し、それはインターネット上に情報を開示したりアップロードしたりする必要がないため、知的財産を保護できることです。トレーダーは、TensorFlow や Scikit-learn などのさまざまな Python パッケージを使用して、1 か所でバックテストとライブ取引を実行したり、複数のアカウントを管理したり、さまざまなブローカーと取引したりすることもできます。彼は、AI Bridge PI の Web サイトから Hybrid Fat Pack プラットフォームをダウンロードしてセットアップする方法について説明します。
次に、Julio 博士は、Python を使用してバックテストとインタラクティブ ブローカーによるライブ取引のためのツールをセットアップするために必要な手順について説明します。同氏はユーザーに対し、インタラクティブ・ブローカー、IP公式ターミナル、Pythonなどの必要なツールをダウンロードして保存するようアドバイスしている。また、追加サポートのためのチュートリアル、ドキュメント、コミュニティ フォーラムへのリンクも提供しています。 Julio 博士は、WS (ワークステーション) と IB ゲートウェイの構成方法を示し、Anaconda を使用して Python 環境を開く方法を示します。彼は Python コードを実行してセットアップ プロセスを紹介し、生産性を向上させるためにウィンドウを整理するためのヒントを提供します。
講演者は続けて、Python で Interactive Brokers を使用する最初の手順について説明します。彼は、「Romina Eva」という名前のファイルを開いて自分のアカウント コードを見つけるようにユーザーに指示します。アカウント コードは、それに応じてファイル内で更新する必要があります。講演者は、Python コードを選択して実行し、トレーダーを初期化し、口座残高、現金価値、ポートフォリオ価値、未決注文を表示する方法をデモンストレーションします。ユーザーは、ハイブリッド ファット パックを使用して、株式、オプション、先物、外国為替などのさまざまな有価証券を取引できます。講演者は、発注された注文は操作できず、許可 ID とともにリストされると述べました。
インタラクティブ ブローカーからリアルタイムおよび過去の価格データを取得するプロセスが示されています。スピーカーは、特定のコード行をコメント/コメント解除することによって、リアルタイム データまたは履歴データを取得し、それを使いやすい形式で出力する方法を示します。コード構造と、最初に実行される「初期化」関数、デフォルトで 2 秒ごとに取引の決定と実行が行われる「データ処理」関数を含む、Python コードの 3 つの必須関数について説明します。
Julio 博士は、Python とインタラクティブ ブローカーを使用して取引の意思決定を行う方法を説明します。ユーザーは、毎秒、毎時、毎日、または特定の時刻など、固定スケジュールで意思決定を行うようにコードを構成できます。彼は、取引の意思決定を行うための 3 つの重要な機能、つまり初期化、データの処理、注文の発注を紹介します。プロセスを実証するために、履歴データを取得し、I Spears ETF の売値を出力するサンプル コードが提供されています。講演者は Panda のデータ フレームを利用して履歴データを取得および出力し、取引の意思決定に Python をどのように活用できるかを紹介します。
講演者は、グローバル変数とリアルタイム価格を使用した注文について説明し、株式購入の例を示します。 Interactive Brokers は、有価証券を検索し、米国の主要市場や 100 ドルを超える価格などのフィルターを適用し、キャット スキャン結果機能を使用して関連情報を取得するために使用されます。契約の識別、ハンドル データまたはスケジュールされた関数を使用した取引決定の頻度、履歴データの要求、注文タイプの選択など、アルゴ戦略を構築する手順が説明されています。前日の終値に基づいて取引の決定が行われる、日次終値復帰戦略の例が示されています。スケジュール機能は、意思決定プロセスとその後のアクションをトリガーするために、毎日特定の時刻に実行されるように定義されています。
このビデオでは、Python での取引戦略の 2 つの例を取り上げています。最初の例は、連続する 2 日の終値に基づいた基本戦略を示しています。今日の終値が昨日の終値よりも高ければ、すべてのポジションが売却されます。そうでなければ、SPYは買収されます。コードは説明されており、比較的簡単です。次に、ビデオではバックテストの概念を紹介し、移動平均クロスオーバー戦略のより高度な例を紹介します。戦略を履歴データに適用し、そのパフォーマンスを評価するプロセスについて説明します。この戦略のコードは説明されており、簡単です。このビデオでは、データの取得と処理、テスト結果の分析、ポートフォリオ値の表示についても説明しています。
Julio 博士は、Python を使用したインタラクティブ ブローカーによるバックテストとライブ取引のプロセスについて説明します。彼は、テスト目的でデータ処理関数を毎分実行するデフォルト モードと、履歴データ挿入計画を立てることの重要性について説明します。彼は、分刻みおよび日次データをコードに提供する方法と、Interactive Brokers を使用してバックテストの時間枠と頻度を指定する方法を詳しく説明します。バックテスターの実行、アカウント情報の取得と管理、アカウント残高と現金価値の出力フォルダーのチェック方法を示すコード例が示されています。
講演者は、コードのパフォーマンスを向上させるためにユーザーが提供した履歴データを提供する利点を強調しました。デバッグには Interactive Brokers からの正確なシミュレーション データが必要ですが、不必要な情報を要求すると時間がかかる場合があります。 Julio 博士は、履歴データの一部のみを提供するか、ランダム データを使用することを提案しています。これにより、コードのパフォーマンスが大幅に向上します。彼は、ローカル CSV ファイルから履歴データを提供し、必要な時間範囲とデータ型を指定し、カスタム時間リストと「レンダリング」データ プロバイダーを使用してテストをより高速かつ効率的に実行する方法を示します。
Julio 博士は、アルゴリズム取引戦略のパフォーマンスを評価する際のパフォーマンス分析とその重要性について説明します。コードをテストして改良するための履歴データの必要性と、このプロセスを支援するためにパフォーマンス分析チャートがシャープ比などの変数をどのように計算できるかについて説明します。バックテストの結果に満足したら、講演者は実際の市場状況に対して戦略を実行するために紙の口座に切り替えることをアドバイスします。また、iBridgePy を使用して複数のアカウントを処理する方法も示しています。これはファンド マネージャーにとって重要です。
Julio 博士は、Hybrid Fat Pack ソフトウェアの柔軟性とユーザーフレンドリーな性質を強調し、アルゴリズム取引の強力なツールであることを強調して締めくくりました。