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

 

RNN シーケンス データのバランスをとる - Python、TensorFlow、Keras を使用した深層学習 p.10



RNN シーケンス データのバランスをとる - Python、TensorFlow、Keras を使用した深層学習 p.10

皆さん、こんにちは。Python、TensorFlow、Keras を使用したディープ ラーニングのチュートリアル ビデオへようこそ。このビデオでは、リカレント ニューラル ネットワーク (RNN) を使用して、将来の暗号通貨の価格変動予測を構築し続けます。」

このチュートリアル ビデオは、深層学習技術を使用して暗号通貨の価格変動の予測変数を構築することに焦点を当てています。

発表者は、連続データの構築や検証データの分離などの前処理ステップをすでに実行していると述べています。データも正規化しました。

プロセスの次のステップは、データのバランスをとることです。データセット内に同じ数の売買インスタンスがあることが重要です。不均衡があると、モデルのパフォーマンスに影響を与える可能性があります。発表者は、たとえわずかな不均衡があるとしても、モデルが一方のクラスを他方よりも優先することを避けるために、データのバランスをとった方が良いと提案しています。

データのバランスをとるために、プレゼンターは買いと売りの 2 つのリストを作成します。連続データを反復処理し、ターゲットが 0 (売り) か 1 (買い) かを確認します。売りの場合、そのシーケンスを売りリストに追加します。購入の場合は、購入リストに追加されます。その後、両方のリストをシャッフルします。

次に、2 つのリスト (買いと売り) の間の最小の長さを見つけます。短い方のリストの長さまでの要素のみが含まれるように売買リストを更新します。これにより、両方のリストに同じ数のインスタンスが含まれるようになります。

次に、プレゼンターは買いリストと売りリストを組み合わせて、sequential_data リストを作成します。これらは、sequential_data リストを再度シャッフルして、データの順序をさらにランダム化します。

次のステップでは、sequential_data を特徴 (X) とラベル (Y) に分割します。これらは、それぞれ特徴とラベルを保存するために空のリスト x と y を作成します。これらは、sequential_data を反復処理し、シーケンスを x リストに追加し、ターゲットを y リストに追加します。

最後に、前処理されたデータとして x と y の配列を返します。

次に、プレゼンターは、トレーニング データセットと検証データセットのサイズ、購入インスタンスと販売インスタンスのバランスなど、データに関するいくつかの統計情報を出力します。

次のビデオでは、前処理されたデータを使用してモデルを構築し、トレーニングする予定です。
Balancing RNN sequence data - Deep Learning w/ Python, TensorFlow and Keras p.10
Balancing RNN sequence data - Deep Learning w/ Python, TensorFlow and Keras p.10
  • 2018.09.17
  • www.youtube.com
Welcome to the next part of our Deep Learning with Python, TensorFlow, and Keras tutorial series. In this tutorial, we're going to continue building our cryp...
 

暗号通貨予測 RNN モデル - Python、TensorFlow、Keras を使用した深層学習 p.11



暗号通貨予測 RNN モデル - Python、TensorFlow、Keras を使用した深層学習 p.11

皆さん、こんにちは。Python、TensorFlow、Keras を使用した別の深層学習チュートリアルへようこそ。このチュートリアルでは、前のチュートリアルで中断したところから続けていきます。私たちの目標は、過去の価格、出来高、その他の主要な暗号通貨に基づいて、特定の暗号通貨の将来の価格変動を予測することです。これはリカレント ニューラル ネットワーク (RNN) を使用して実現します。

まず、必要なライブラリをインポートする必要があります。後で使用できるようにタイム ライブラリをインポートします。次に、いくつかの定数を定義します。最初の定数は、モデルをトレーニングするエポック数です。最初にバッチ サイズを 64 に設定しますが、必要に応じて後で調整できます。最後に、F 文字列を使用してモデルの名前を定義します。比較と識別を容易にするために、モデルと TensorBoard ログに一意の名前を付けることが重要です。

次に、必要な TensorFlow モジュールをインポートします。 TensorFlow を tf と必要なサブモジュール (tf.keras.models、tf.keras.layers、tf.keras.optimizers、tf.keras.callbacks、および tf.keras.backend) としてインポートします。データ処理と視覚化のために numpy と matplotlib もインポートします。

次に、モデルの構築を開始します。 model = tf.keras.models.Sequential() を使用して逐次モデルを作成します。モデル内で、model.add() 関数を使用してレイヤーを追加します。最初の層は 128 ノードを持つ LSTM 層です。出力を次の層に渡したいので、return_sequences=True を設定します。入力形状を train_X.shape[1:] として指定します。train_X は入力データです。また、レート 0.2 のドロップアウト層とバッチ正規化層も追加します。

このプロセスをさらに 2 回繰り返し、それぞれ 128 ノードを持つ LSTM 層をさらに 2 つ追加します。最後の LSTM 層の return_sequences=True は、その後に高密度層が続くため、削除します。また、ドロップアウト層とバッチ正規化層を各 LSTM 層に追加します。

LSTM 層の後に、32 ノードと修正された線形活性化関数を備えた高密度層を追加します。レート 0.2 のドロップアウト層を追加し、最後に 2 つのノードとソフトマックス アクティベーション関数を持つ出力層を追加します。

次に、モデルのオプティマイザーを指定します。学習率 0.001、減衰率 1e-6 の Adam オプティマイザーを使用します。 model.compile() を使用してモデルをコンパイルし、損失関数をスパース カテゴリカル クロス エントロピーとして指定し、メトリクスを精度として指定します。

次に、モデルのコールバックを定義します。ログ ディレクトリを「logs」に設定して TensorBoard コールバックを作成します。また、トレーニング中に最適なモデルを保存するための ModelCheckpoint コールバックも作成します。文字列形式を使用して、チェックポイントを保存するためのファイル パスを指定します。

最後に、model.fit() を使用してモデルをトレーニングします。トレーニング データ (train_X および train_Y)、バッチ サイズ、エポック数、および検証データ (validation_X および validation_Y) を渡します。前に定義したコールバックも渡します。

トレーニング後、後で使用できるように、model.save() を使用してモデルを保存できます。

それでおしまい!私たちは、暗号通貨の将来の価格変動を予測するリカレント ニューラル ネットワーク モデルの構築とトレーニングに成功しました。また、TensorBoard を使用してトレーニングの進捗状況を可視化しました。

Cryptocurrency-predicting RNN Model - Deep Learning w/ Python, TensorFlow and Keras p.11
Cryptocurrency-predicting RNN Model - Deep Learning w/ Python, TensorFlow and Keras p.11
  • 2018.09.18
  • www.youtube.com
Welcome to the next tutorial covering deep learning with Python, Tensorflow, and Keras. We've been working on a cryptocurrency price movement prediction recu...
 

Python によるアルゴリズム取引戦略


Python によるアルゴリズム取引戦略

今日のチュートリアルでは、Python を使用してアルゴリズムによる株取引戦略を実装します。さっそく見ていきましょう。

始める前に、このビデオは投資や財務上のアドバイスを目的としたものではないことを強調したいと思います。私は株の専門家でも、投資の専門家でも、金融の専門家でもありません。このビデオの目的は、Python を使用してアルゴリズム取引戦略を実装する方法をデモンストレーションすることです。投資に使用するかどうかは、完全にあなたの決定と責任です。ここではプログラミングの側面のみに焦点を当てます。

まず、ストック データを取得するための「pandas-datareader」とデータ視覚化のための「matplotlib」という 2 つのライブラリをインストールする必要があります。コマンド プロンプト (CMD) を開き、これらのライブラリをインストールします。インストールしたら、コーディングを進めることができます。

まず、必要なモジュールをインポートします。日付と時刻を処理するための「datetime」、グラフをプロットするための「matplotlib.pyplot」、株価データを取得するための「web」としての「pandas_datareader」です。

次に、使用する移動平均 (MA) を定義します。移動平均は、30 日や 100 日など、指定された期間における平均株価を表します。 2 つの変数「ma1」と「ma2」を作成し、それぞれ 30 と 100 に設定します。これらの値により、分析する移動平均の長さが決まります。

次に、分析の時間枠を設定しましょう。現在の日付と 3 年間のタイムデルタを使用して、開始日と終了日を定義します。この時間枠は株式データを取得するために使用されます。

「datareader」ライブラリを使用して、Yahoo Finance API から特定の企業 (この場合は Facebook) の株式データを取得します。開始日と終了日を渡して、関連するデータを取得します。

移動平均を計算するには、2 つの新しい列をデータ データフレームに追加します。 「ローリング」関数を使用して、「ma1」期間と「ma2」期間の両方の移動平均を計算します。 「調整終値」列は、株式分割を調整した終値を表します。移動平均をそれぞれの列に保存します。

先に進む前に、データと移動平均を視覚化しましょう。調整後の終値を株価としてプロットし、移動平均を同じグラフにプロットします。暗い背景を使用するようにグラフ スタイルを設定し、線を区別するために適切なラベルと色を指定します。最後に、プロットされた線を識別する凡例を追加し、グラフを表示します。

それでは、アルゴリズム取引戦略の実装に移りましょう。 2 つの空のリスト「buy_signals」と「sell_signals」を作成し、それぞれ買いシグナルと売りシグナルを保存します。さらに、戦略の変更を追跡するのに役立つ「トリガー」変数を導入します。

for ループを使用して、データ DataFrame を反復処理します。ループ内で、最初の移動平均 (「ma1」) が 2 番目の移動平均 (「ma2」) より大きいかどうか、およびトリガーが 1 に等しくない場合という 2 つの条件をチェックします。両方の条件が満たされる場合は、次の条件を追加します。買いシグナルを「buy_signals」リストに追加し、「NaN」(数値ではありません)を「sell_signals」リストに追加します。また、トリガーを 1 に更新します。

逆のケースでは、「ma1」が「ma2」より小さく、トリガーが -1 に等しくない場合、売りシグナルを「sell_signals」リストに追加し、実際の株価を「buy_signals」リストに追加します。トリガーを -1 に更新します。

どの条件も満たされない場合は、一貫した長さを維持するために両方のリストに「NaN」値を追加します。

最後に、データ DataFrame にさらに 2 つの列を追加して、買いシグナルと売りシグナルを保存します。

売りシグナルも散布するので、plt.scatter を使用して別の散布図を追加します。今回は、売りシグナルを x 値として data.index に散布し、対応する売りシグナル価格を y 値として散布します。この散布図を「売りシグナル」としてラベル付けして、買いシグナルと区別します。

最後に、plt.legend を使用して凡例をプロットに追加し、さまざまな要素のラベルを表示します。次に、plt.show() を呼び出してプロットを表示します。

コード:

plt.plot(data.index, data[ 'Adj Close' ], label= 'Share Price' , color= 'lightgray' )
plt.plot(data.index, data[ 'sma_{}' .format(ma1)], label= 'SMA {}' .format(ma1), linestyle= '--' )
plt.plot(data.index, data[ 'sma_{}' .format(ma2)], label= 'SMA {}' .format(ma2), linestyle= '--' )
plt.scatter(data.index, data[ 'Buy Signal' ], label= 'Buy Signal' )
plt.scatter(data.index, data[ 'Sell Signal' ], label= 'Sell Signal' )
plt.legend(loc= 'upper left' )
plt.show()
コードを実行すると、株価、移動平均、売買シグナルを示すプロットが表示されるはずです。

これは Python で実装された単純なアルゴリズム取引戦略であり、金融や投資のアドバイスとして受け取ることを意図したものではないことに注意してください。投資を決定する前に、徹底的な調査を行い、専門家に相談することが重要です。

Algorithmic Trading Strategy in Python
Algorithmic Trading Strategy in Python
  • 2021.07.04
  • www.youtube.com
In this video we learn how to implement an algorithmic trading strategy in Python.DISCLAIMER: This is not investing advice. I am not a professional who is qu...
 

Python を使用したアルゴリズム取引の概要 - 取引アルゴリズムを作成およびテストする方法


Python を使用したアルゴリズム取引の概要 - 取引アルゴリズムを作成およびテストする方法

このビデオでは、アルゴリズム取引戦略の開発について説明します。このビデオの内容は純粋に教育目的であり、投資アドバイスとはみなされないことに注意してください。私たちが焦点を当てる戦略は、さまざまな解釈が可能ですが、一般にモメンタム戦略として知られています。一般に、この戦略には、特定の方向に動いている証券を特定することが含まれます。たとえば、50 日移動平均または当社が調査したその他の指標を上回っている証券をスクリーニングすることから始めることができます。

このアプローチは、証券の上昇と下降の両方の動きから利益を得ることができるため、トレンドフォロー戦略と呼ばれることがよくあります。ただし、利益をもたらす可能性のある潜在的な取引シグナルを特定するには、徹底的な調査を行うことが重要です。理想的には、これらのシグナルは複数の証券に適用でき、より一般化できるようにする必要があります。

まず、必要なライブラリをインポートし、関連データをダウンロードします。この場合、Yahoo Finance API を使用して、Gold ETF (GLD) のデータを取得します。データをダウンロードした後、最初の数行を調べてその正確性を確認します。

次に、データ フレームに列を追加します。追加する最初の列は日カウンターで、時系列での位置を追跡するのに役立ちます。また、日が日付の直後に来るように列を再配置します。 「調整終値」や「出来高」などの不要な列は削除できますが、他の証券や特定の分析には役立つ場合があります。

次に、速い移動平均 (9 日) と遅い移動平均 (21 日) の 2 つの移動平均を計算します。これらの移動平均は、取引の開始と終了のシグナルとして機能します。速い移動平均が遅い移動平均を上回った場合はロング取引に入り、下回った場合は取引を終了するか、ショートすることもあります。ただし、この戦略は当日の終値データにアクセスできることを前提としているため、リアルタイム取引では現実的ではないことに注意してください。この問題に対処するために、Pandas のシフト メソッドを使用して移動平均を 1 日繰り上げます。

次に、移動平均シグナルに基づいてロングトレードすべきかショートトレードすべきかを示す「シグナル」列を追加します。値 1 はロング取引を表し、-1 はショート取引を示します。この列を計算するには、np.where 関数を使用して、高速移動平均と低速移動平均を比較します。

移動平均の計算には一定数の観測値が必要なため、十分なデータがない行は削除します。このステップでは、移動平均が利用できない最初の行が削除されます。

次に、終値に基づいて瞬間収益率を計算するための「収益」列を追加します。さらに、信号とリターンに応じて「システムリターン」列を計算します。このコラムでは、当社の取引システムに固有のリターンを提供します。

データを視覚化し、取引シグナルを理解するために、終値、高速移動平均、低速移動平均の折れ線グラフをプロットします。また、トレードの方向がいつ変わるかを示すために、エントリーポイントを緑色の上向きの矢印でマークします。

さらに、取引システムのパフォーマンスをバイアンドホールド戦略と比較します。 5 年間にわたる両方のアプローチの累積収益をプロットします。青い線はバイアンドホールド戦略を表し、オレンジ色の線はシステムを表します。グラフから、システムのパフォーマンスが比較的横ばいのままであることがわかり、バイアンドホールド戦略を上回るパフォーマンスを示していないことがわかります。

結論として、このビデオは、モメンタムベースのアプローチを使用してアルゴリズム取引戦略を開発するための教育的なウォークスルーを提供します。

  • 00:00:00 このセクションのビデオ チュートリアルは、Python を使用したアルゴリズム取引戦略の開発に焦点を当てています。このチュートリアルは教育のみを目的としており、トレンドフォロー戦略とも呼ばれる、特定の方向に動く証券を特定しようとするモメンタム戦略について考察します。このビデオでは、単一証券の潜在的な取引シグナルを調査し、yahoo Finance API とパンダ データ リーダーを使用してデータをダウンロードし、データ フレームに列を追加し、2 つの移動平均 (低速と高速) を使用してシグナルを識別するプロセスを説明します。 。このチュートリアルでは、視聴者が取引アルゴリズムを作成するのに役立つコード例を提供します。

  • 00:05:00 このセクションでは、スピーカーがアルゴリズムに移動平均を追加する方法を説明します。両方とも終値に基づく 9 日移動平均と 21 日移動平均の列を追加します。ただし、移動平均には問題があり、アルゴリズムに何らかの先読み情報があることが示唆されます。これを修正するには、pandas のシフト メソッドを使用して移動平均を 1 日繰り上げます。次に、シグナル列を追加して、アルゴリズムにいつロングトレードまたはショートトレードになるかを指示します。最後に、システム リターンを計算し、それをバイ アンド ホールドのリターンと比較するためのリターン列を追加します。

  • 00:10:00 ビデオのこのセクションでは、スピーカーは、ロング ポジションのときにバイ アンド ホールド戦略を模倣するシステムの設定方法、方向の変化を示すエントリー列の追加方法、およびシステムを視覚化する方法について説明します。ラインプロットを使用したパフォーマンス。オレンジ色の線はシステムのリターンを示し、青色の線はバイアンドホールドを示します。システムのパフォーマンスはほぼ平坦で、バイアンドホールドと同様であり、このシステムが機能しないことを示唆しています。講演者はまた、オープンでエントリーしてもリターンが向上するわけではないとも述べています。

  • 00:15:00 このセクションでは、スピーカーが取引アルゴリズムの全体的なリターンを評価する方法を説明します。最終日のリターンから 1 を引くことで、バイアンドホールドのリターンとアルゴリズムのリターンを比較することができます。結果は、バイアンドホールドの場合は約 36%、アルゴリズムの場合は 6% の損失になります。次に、講演者は、アルゴリズムのパフォーマンスを誤って伝える暗黙の先読みを作成する可能性があるため、移動平均を前方にローリングしてデータを操作する場合は注意するようアドバイスします。最後に、彼は視聴者に、バイ・アンド・ホールドよりも優れたパフォーマンスを発揮するアルゴリズム取引戦略を開発するために、さまざまな移動平均の長さを検討することを勧めています。
Introduction to Algorithmic Trading Using Python - How to Create & Test Trading Algorithm
Introduction to Algorithmic Trading Using Python - How to Create & Test Trading Algorithm
  • 2021.04.12
  • www.youtube.com
#python #algorithmic #trading How to create a Trading Algorithm - Algorithmic Trading Using Pythonhttps://alphabench.com/data/python-algorithm-trading...
 

Python を使用したアルゴリズム取引の概要 - 取引アルゴリズムを作成およびテストする方法


Python を使用したアルゴリズム取引の概要 - 取引アルゴリズムを作成およびテストする方法

このビデオでは、アルゴリズム取引戦略の開発について詳しく説明します。このビデオは教育目的のみを目的としており、投資アドバイスとして考慮されるべきではないことに注意することが重要です。私たちが検討する戦略は一般にモメンタム戦略として知られていますが、用語自体があいまいで解釈の余地がある可能性があります。

基本的に、モメンタム戦略には、明確な方向性の動きを示している証券を特定することが含まれます。私たちの場合、まずスクリーニング プロセスを実施して、50 日移動平均または当社が調査したその他の所定の指標を上回って取引されている証券を特定します。

この戦略は、上向きか下向きかにかかわらず、特定の方向に動いている証券を利用することを目的としているため、トレンドフォロー戦略と呼ばれることがよくあります。このアプローチでは、さまざまな証券に適用できる潜在的な収益性の高い取引シグナルを特定するための徹底的な調査が必要であることに注意することが重要です。

このビデオでは、単一の証券を分析してその可能性を判断することに焦点を当てます。まず、必要なライブラリをインポートし、環境をセットアップします。コードを含むノートブックは、ビデオの説明にある GitHub リンクから入手できます。

次に、分析に必要なデータをダウンロードします。この場合、Yahoo Finance API を使用して、シンボル「GLD」を持つ金 ETF (上場投資信託) のデータを取得します。 Pandas データ リーダーを利用してデータを取得し、シンボルを指定し、開始日と終了日をデフォルトのままにします。これにより、約 5 年間のデータが得られます。ダウンロードしたら、データの最初の数行を調べてその正確性を確認します。

分析を容易にするために、データ フレームに列を追加します。まず、時系列でその日を追跡するための日カウンター列を含めます。これは、NumPy ライブラリを使用して、ゴールド データ フレーム内の観測値の数に一致する範囲配列を作成することで実現されます。次に、日カウンター列がデータ フレームに追加され、日付列の後に日が来るように列の順序を調整します。

さらに、特定の分析のために調整された終値や出来高などの不要な列を削除します。特定の有価証券については、特に株式分割が行われた場合、調整終値が役立つ可能性があることに言及する価値があります。ただし、目的上、これらの列は除外します。

準備手順を完了したら、データ フレームに対して info コマンドを実行してデータの構造を調べることができます。これにより、データ フレーム内に存在する観測値とデータ型の数に関する情報が提供され、すべての列が数値であることが確認されます。

次に、データ フレームに移動平均列を追加することによるモメンタム戦略を紹介します。取引をトリガーするには、速い移動平均 (9 日) と遅い移動平均 (21 日) の 2 つの移動平均を利用します。具体的には、高速移動平均が低速移動平均を上回ったときに取引にエントリーし、高速移動平均が低速移動平均を下回ったときにエグジットまたはショートします。この戦略は、ロングまたはショートのいずれかで常に取引を行っていることを前提としていることに注意することが重要です。

終値に基づいて移動平均を計算するには、Pandas が提供するローリング方法を使用します。この方法では、移動平均の日数を指定できます。さらに、必要に応じて、標準偏差や中央値などのさまざまな集計を適用できます。この場合、移動平均のみに焦点を当てます。このプロセスを高速移動平均と低速移動平均の両方に対して複製し、データ フレームに 2 つの列が追加されます。

移動平均にはそれぞれ 9 日と 21 日の遅れがあるため、Pandas のシフト メソッドを使用してデータを 1 日前にシフトして移動平均を調整する必要があります。

移動平均を計算した後、Pandas のシフト メソッドを使用してデータを 1 日前方にシフトすることで移動平均を調整します。これにより、当日の移動平均が翌日の価格変動と一致することが保証されます。

移動平均列を調整したので、高速移動平均と低速移動平均のクロスオーバーに基づいて取引シグナルを生成できます。これを行うには、「シグナル」という新しい列を作成し、高速移動平均が低速移動平均を上回っている場合は値 1 を割り当て、強気のシグナルを示します。高速移動平均が低速移動平均を下回っている場合は -1 を割り当てます。移動平均、弱気シグナルを示します。

取引のエントリーポイントとエグジットポイントを決定するために、「ポジション」と呼ばれる別の列を追加します。最初は、取引中でないことを示す値 0 を割り当てます。強気シグナルが発生し(高速移動平均が低速移動平均を上回った)、現在取引中ではない場合(ポジション = 0)、ポジション列に値 1 を割り当て、ロングポジションを示します。逆に、弱気シグナルが発生し (高速移動平均が低速移動平均を下回る)、現在取引中ではない場合は、ポジション列に -1 の値を割り当て、ショート ポジションを示します。これにより、新しいシグナルがあり、まだ取引を行っていない場合にのみ取引に参加することが保証されます。

トレーディング戦略の毎日のリターンを追跡するために、「戦略リターン」という別の列を作成します。ポジション列に終値の日次変化率を乗算して日次リターンを計算します。これにより、取引シグナルに従っていた場合に達成できたであろうリターンが得られます。

最後に、cumprod メソッドを Strategy Returns 列に適用して、戦略の累積収益を計算します。これにより、指定された期間における戦略の全体的なパフォーマンスが得られます。

この時点で、累積収益をプロットすることで戦略のパフォーマンスを視覚化できます。 matplotlib ライブラリを使用して、戦略の収益の時間の経過に伴う成長を示す折れ線グラフを作成します。

プロットでは、累積収益曲線を観察できます。これにより、モメンタム戦略の有効性がわかります。プラスの累積リターンは収益性を示し、マイナスの累積リターンは損失を示します。

これはモメンタム取引戦略の簡略化された例であり、実際の取引戦略を開発する際には、取引コスト、スリッページ、リスク管理など、考慮すべき要素が数多くあることに留意してください。取引戦略を実際の取引に適用する前に、徹底的にバックテストして検証することが重要です。

<
Introduction to Algorithmic Trading Using Python - How to Create & Test Trading Algorithm
Introduction to Algorithmic Trading Using Python - How to Create & Test Trading Algorithm
  • 2021.04.12
  • www.youtube.com
#python #algorithmic #trading How to create a Trading Algorithm - Algorithmic Trading Using Pythonhttps://alphabench.com/data/python-algorithm-trading...
 

Alpha Vantage の無料リアルタイム株式 API と Python を使用して毎日の高値と安値の時間を抽出する方法


Alpha Vantage の無料リアルタイム株式 API と Python を使用して毎日の高値と安値の時間を抽出する方法

このビデオでは、Jupyter Notebook を使用して Alpha Vantage API を探索し、1 分間の取引データを使用して株式の高値と安値の取引価格を抽出します。 Alpha Vantage は、リアルタイム取引データを取得するために利用できる API の 1 つであり、フリーミアム モデルで動作します。開始するには、無料アカウントにサインアップし、Alpha Vantage Web サイトから API キーを取得する必要があります。

「alpha_vantage」という Alpha Vantage ヘルパー ライブラリを使用します。これにより、API 呼び出しのプロセスが簡素化されます。ライブラリがインストールされていない場合は、コマンド ラインで「pip install alpha_vantage」コマンドを実行してインストールできます。

まず、必要なサードパーティ ライブラリをインポートして環境をセットアップします。それが完了したら、API キーを変数に保存します。 API キーを非公開にしたい場合は、それを別のテキスト ファイルに保存し、ノートブックに読み込むことができます。次に、API キーと必要な出力形式を指定して、時系列オブジェクトを作成します。この場合、出力データ (デフォルトでは JSON 形式) を操作する簡単な方法が提供されるパンダ ライブラリを使用することを選択します。

取引データを取得するには、「get_intraday」関数を使用して Alpha Vantage API を呼び出します。この機能を使用すると、銘柄のシンボルと、1 分、5 分、1 時間などの希望の間隔を指定できます。取得する履歴データの量を決定する出力サイズを設定することもできます。このビデオでは「フル」に設定しており、約 10 日分のデータが得られます。

データを取得したら、「meta」属性にアクセスして、それに関連付けられたメタデータを調べることができます。メタ オブジェクトは、ダウンロードされたデータに関する情報 (間隔、データの日付、データに含まれる列など) を提供します。次に、「info」メソッドを呼び出してデータ自体を検査し、列名と日時インデックスを表示します。

データを視覚的に表現するには、終値などの列の 1 つをプロットします。ただし、Alpha Vantage によって返された列名は扱いにくい場合があるため、より意味のある名前に変更できます。

次に、歪みをもたらす可能性がある時間外取引を除いた、通常の取引時間に対応するデータを抽出します。時間ベースのフィルターをデータに適用することで、「市場」という新しい変数を作成します。 Pandas には、マーケットの開始時間と終了時間を指定できる「between_time」という便利な関数が用意されています。

この時点で、高値と安値の日付と時刻を抽出する準備が整いました。これを 2 つの方法で行います。まず、データを取引日ごとにグループ化し、「ag」メソッドを使用して、安値列と高値列の最小値と最大値をそれぞれ計算します。このアプローチにより、各取引日の実際の安値と最高値が得られます。

2 番目に、別のアプローチを採用し、安値と高値が発生した瞬間に焦点を当てます。 「loc」関数を使用して、各取引日内で安値と高値が発生する特定の行を見つけます。次に、最小値と最大値のインデックス (日付と時刻) をそれぞれ抽出します。これにより、安値と高値に達した正確な時間を特定することができます。

結果を調べることで、取引日全体の安値と高値のタイミングなど、興味深いパターンを観察できます。

このビデオでは、Alpha Vantage API を使用して分単位の取引データを取得し、分析のために高値と安値を抽出する方法の基本的な概要を説明します。これは、独自のプロジェクトで Alpha Vantage API を探索および利用するための出発点として機能します。

結論として、このビデオ チュートリアルでは、Jupyter Notebook で Alpha Vantage API と Alpha Vantage ヘルパー ライブラリを使用して、1 分間の取引データを使用して株の高値と安値の取引価格を抽出する方法を示します。ビデオで説明されている手順に従うことで、リアルタイムの取引データを取得し、パンダを使用して分析し、特定の取引日内の高値と安値のタイミングについての洞察を得ることができます。

Alpha Vantage API は、このビデオで説明した以外にもさまざまな機能とデータ オプションを提供していることに注意することが重要です。 5 分や 1 時間のデータなどのさまざまな間隔や、日次データや履歴データなどのさまざまな種類のデータを調査できます。この API は、テクニカル指標やファンダメンタルズデータなどの追加機能も提供します。

分析をさらに強化するには、追加のデータ操作および視覚化テクニックを組み込むことができます。たとえば、抽出された高価格と低価格に基づいて追加のメトリクスを計算したり、統計分析を実行したり、より直観的な方法でデータを表示するインタラクティブな視覚化を作成したりできます。

利用可能な API 呼び出し、パラメータ、オプションの詳細については、Alpha Vantage のドキュメントを必ず参照してください。さらに、無料アカウントに関連する制限や使用制限を含む、Alpha Vantage API の利用規約を必ず遵守してください。

Alpha Vantage API を活用し、Jupyter Notebook および pandas ライブラリの機能と組み合わせることで、豊富な取引データをロック解除し、さまざまな戦略や洞察を探索して、投資の意思決定や定量分析をサポートできます。

How to Use Alpha Vantage Free Real Time Stock API & Python to Extract Time of Daily Highs and Lows
How to Use Alpha Vantage Free Real Time Stock API & Python to Extract Time of Daily Highs and Lows
  • 2021.01.11
  • www.youtube.com
#alphavantage #pythonUsing the free API to download minute by minute trading data and extract daily highs and lowsTutorial demonstrates using downloaded d...
 

データ サイエンスのための matplotlib Python を使用した散布図の概要


データ サイエンスのための matplotlib Python を使用した散布図の概要

これは、Matplotlib の入門シリーズの 2 番目のビデオです。このビデオでは、散布図に焦点を当てます。散布図は、2 つの変数間の関係の強さと性質を判断するのに役立つ視覚補助です。テーマの設定、カラー マップの追加、バブル チャートの作成、次元の追加など、散布図作成の基本について説明します。

まず、必要なライブラリをインポートして環境をセットアップしましょう。 NumPy、Matplotlib、および Pandas データ リーダーをインポートします。 Pandas データ リーダーを使用すると、実際のデータをダウンロードして操作できるようになります。この場合、Google、Amazon、金 ETF の 3 ~ 4 か月分のデータをダウンロードします。

データを取得したら、最初の数行を見て、データセットに慣れることができます。データは 8 月 1 日から始まり、終値が含まれていることがわかります。

ここで、Matplotlib の散布メソッドを使用して基本的な散布図を作成しましょう。データセットから 2 つの列を選択してプロットできます。ただし、この基本的な散布図では、変数間の関係について多くの情報が得られません。

さらに調査するために、各証券の瞬間収益率を計算できます。これにより、価格の変化が相互にどのように関係しているかをよりよく理解できるようになります。絶対価格を削除し、変化率に換算します。最初のいくつかの観察を見ると、すべての証券が下落し、Amazon と Google が 1% 以上下落した一方、金は比較的変化がなかったことがわかります。

次に、数値ではない最初の観測値を削除し、散布図をプロットして、Google の変化が Amazon の変化に関連しているかどうかを確認します。この散布図は、前の散布図とは異なるストーリーを伝えます。 Google が上昇するにつれて Amazon も上昇するという一般的な傾向が観察され、2 つの変数の間に強い正の関係があることがわかります。

ベースラインの散布図が完成したので、いくつかの機能を追加してそれを強化できます。まず、プロットを見やすくするためにプロットのサイズを変更しましょう。これを行うには、Matplotlib からパラメーター モジュールをインポートします。

また、さまざまな方向への点の動きを示すガイドラインを追加することで、散布図に視覚的な魅力を加えることができます。 X 軸と Y 軸のゼロを通る線をプロットすると、点がいつ一緒に移動しているのか、離れているのか、または反対方向に移動しているのかをすぐに識別できます。

ガイドラインの視認性を向上させるために、RGB 表記を使用してガイドラインの色をグレーの色合いに設定できます。さらに、線のスタイルを破線に設定して、別の視覚効果を得ることができます。

散布図をさらに強化するには、配色を追加します。表す 3 番目の変数はありませんが、散布図にカラー マップを追加できます。 Amazon への返品の色を含めるように散布図のコードを変更し、スペクトル カラー マップを選択します。このカラー マップは、戻り値に基づいてポイントに異なる色を割り当てます。赤は最も負の値を表し、紫は最も正の値を表します。

ただし、中間範囲の一部の点は色のグラデーションにより見にくい場合があります。これに対処するには、ポイントのエッジの色を黒に変更して、ポイントをより明確にします。

カラー グラデーションに関する追加情報を提供するには、カラー バーを追加します。カラー バーには、戻り値に基づいたカラー マッピングを示す凡例がプロットされます。

さらに、テーマを適用することで、プロットの全体的な見栄えを向上させることができます。 Seaborn をテーマとして使用できます。これは、視覚的に魅力的なスタイルを提供する Matplotlib のラッパーです。このテーマは、プロットされたデータを損なうことなく、背景を変更し、グリッド線を追加します。

最後に、ガイドラインを中央に配置するようにプロットの範囲を調整できます。

最後に、プロットの範囲を調整してガイドラインを中央に配置し、散布図の視覚的なバランスをより高めることができます。 X 軸と Y 軸の制限をリターンの最小値と最大値に設定して、ガイドラインがプロットの中心で交差するようにすることができます。この調整により、ガイドラインに対する点の動きをより効果的に視覚化することができます。

これらの機能強化を行ったので、散布図はより有益で視覚的に魅力的なものになりました。 Google と Amazon の収益の関係と、カラー マップに基づく収益の分布が明確にわかります。ガイドラインは、さまざまな方向への点の動きを解釈するための視覚的な参照を提供します。

基本的な散布図に加えて、Matplotlib を使用してバブル チャートを作成することもできます。バブル チャートは、3 番目の変数に基づいてマーカーのサイズを変更することにより、プロットに 3 番目の次元を追加します。私たちの場合、各証券の出来高を 3 番目の変数として使用できます。

バブル チャートを作成するには、サイズ パラメーターを指定し、各証券のボリュームをマーカー サイズとして渡すことにより、散布図のコードを変更します。これにより、各証券の出来高に比例したサイズの円が作成され、リターン、出来高、ポイントの動きの関係を視覚化できるようになります。

この 3 番目の次元を散布図に追加することで、変数間の関係をより深く理解できるようになります。円が大きいほど取引量が多いことを表し、ポイントの動きはリターンと取引量の両方に相関していることがわかります。

結論として、散布図とバブル チャートは、変数間の関係を理解するのに役立つ強力な視覚化ツールです。これらを使用してデータを分析および解釈し、パターンと傾向を特定し、情報に基づいた意思決定を行うことができます。 Matplotlib を使用すると、カスタマイズされた視覚的に魅力的な散布図を作成し、カラー マップ、ガイドライン、テーマなどのさまざまな機能でそれらを強化できます。

Introduction to Scatter Plots with matplotlib Python for Data Science
Introduction to Scatter Plots with matplotlib Python for Data Science
  • 2019.11.18
  • www.youtube.com
#scatterplot #matplotlib #python‡‡‡Learn how to use matplotlib with examples of scatter plots Please SUBSCRIBE:https://www.youtube.com/subscription_cente...
 

Python によるアルゴリズム取引の概要: 平均リバート取引アルゴリズムを作成する


Python によるアルゴリズム取引の概要: 平均リバート取引アルゴリズムを作成する

このビデオでは、教育目的のみを目的とした平均値回帰取引アルゴリズムについて説明します。このビデオは投資アドバイスを提供するものではないことに注意してください。このアルゴリズムは Jupyter Notebook を使用して実装され、ノートブックをダウンロードするリンクがビデオの説明に記載されています。このビデオは、前述のモメンタム取引戦略の補足として機能し、そのビデオへのリンクも提供されます。

平均値回帰取引戦略は、証券が平均値から大きく乖離した場合には常に平均値に向かって戻ることを前提としています。この戦略にアプローチするには、線形回帰や移動平均の使用など、複数の方法があります。 「遠すぎる」という判断と使用される測定値はさまざまです。ドルの絶対値を使用する人もいますが、このビデオではパーセンタイルを使用します。さらに、移動平均を使用して平均値を決定します。

まず、データ操作用の Pandas、ライブ データをダウンロードするための Pandas DataReader (他のサービスも使用可能)、数値操作用の NumPy、グラフ作成用の Matplotlib、プロットのスタイル設定用の Seaborn など、必要なライブラリをインポートします。必要なライブラリは、それぞれのコード セルを実行することによってインポートされます。

次に、分析用のデータを取得します。優れた取引アルゴリズムは複数の証券に一般化できる必要がありますが、このビデオでは単一の証券、つまり金 ETF に焦点を当てています。 Pandas DataReader は、金 ETF の約 5 年分のデータをダウンロードするために使用されます。関心があるのは終値のみであるため、ダウンロードをその列に限定します。データを取得したら、最初の数行を調べて、データが適切に取得されたことを確認します。

データを取得したら、データ フレームにいくつかの列を追加します。追加された最初の列は移動平均用です。移動平均期間を定義する変数を設定します。これは簡単に操作できます。前日の終値からの瞬間収益率が計算され、新しい列に保存されます。 「移動平均」という名前の別の列は、21 日 (または 1 取引月) の平均を使用して終値に基づく平均値を追跡するために作成されます。さらに、終値を移動平均で割った値を表す「比率」列が追加されます。この列は、価格が平均から離れすぎる時期を判断するのに役立ちます。

データ分布に関する洞察を得るために、「比率」列の記述統計が計算されます。予想通り、価格は一般的に平均値に近いままです。 25 パーセンタイルと 75 パーセンタイルはデータの下限と上限を定義し、最小値と最大値は平均からの極端な偏差を示します。 5、10、90、95 パーセンタイルなどの追加の価格ポイントが分析用に選択され、平均からの大幅な逸脱が判断されます。 numpy パーセンタイル関数は、「金比」列に基づいてそれぞれの値を計算するために使用されます。計算を実行する前に、欠損値は削除されます。

平均値付近の比率列の動きを視覚化するために、プロットが生成されます。無関係な値は削除され、比率の列に凡例がプロットされます。選択したパーセンタイル (5 番目、50 番目、95 番目) での価格ブレイクを表すために水平線が追加されます。この視覚的表現は、平均を中心とした比率列の周期的な動きを観察するのに役立ち、偏差を修正する傾向を示します。

次に、いつショートするかロングするかを決定するための特定のしきい値が定義されます。ショートポジションは95パーセンタイルとして定義され、ロングポジションは5パーセンタイルとして定義されます。データ フレームに新しい列が追加され、ポジションがロングかショートかを示します。 Numpy の「where」関数は、金比列に基づいて値を割り当てるために使用されます。比率がショートしきい値より小さい場合は値 -1 が割り当てられ、ショート ポジションを示します。比率がロングしきい値より大きい場合は値 1 が割り当てられ、ロング ポジションを示します。最後に、位置を視覚化するためにプロットが生成されます。プロットには比率の列が表示され、ロングポジションとショートポジションが異なる色で強調表示されます。

ポジションを特定したら、次のステップは毎日の収益を計算することです。これは、ポジション列と日次収益率列を乗算することで行われ、保持されているポジションに基づいて毎日の収益が得られます。 「strategy」という名前の新しい列がデータ フレームに追加され、日次収益が保存されます。

戦略のパフォーマンスを評価するために、累積収益が計算されます。累積収益は、戦略収益の累積積を取得し、その結果に 1 を加算し、パーセンテージで表すために 100 を乗算することによって取得されます。プロットは、時間の経過に伴う累積収益を視覚化するために生成されます。

次に、戦略のパフォーマンスを評価するために追加のパフォーマンス指標が計算されます。トータルリターン、日次平均リターン、日次リターンの標準偏差、シャープレシオ、最大ドローダウンが計算されます。これらの指標は、戦略の収益性、リスク、リスク調整後のリターンについての洞察を提供します。簡単に参照できるように値が印刷されます。

最後に、平均回帰戦略とバイアンドホールド戦略の累積リターンを比較するプロットが生成されます。バイアンドホールド戦略は、取引の決定を行わずに資産を全期間保持することを前提としています。このプロットにより、2 つの戦略を視覚的に比較できます。

要約すると、このビデオは、Python と Jupyter Notebook を使用した平均値回帰取引戦略の実装を示しています。データの取得、移動平均の計算、しきい値の決定、ポジションの視覚化、日次収益の計算、パフォーマンス指標の評価、バイアンドホールド戦略との比較をカバーします。付属の Jupyter Notebook では、戦略を再作成し、その実装をさらに検討するためのステップバイステップのガイドが提供されます。このビデオは教育のみを目的としており、投資アドバイスを提供するものではないことに注意してください。

Introduction to Algorithmic Trading with Python: Create a Mean Reverting Trading Algorithm
Introduction to Algorithmic Trading with Python: Create a Mean Reverting Trading Algorithm
  • 2021.05.14
  • www.youtube.com
#python #stocktrading #algorithmHow to create a Trading Algorithm - Algorithmic Trading Using Pythonhttps://alphabench.com/data/python-algorithm-trading...
 

パイソンパンダ ||株価の移動平均とローリングウィンドウ統計


パイソンパンダ ||株価の移動平均とローリングウィンドウ統計

このビデオ チュートリアルでは、移動平均とローリング標準偏差の計算を自動化するパンダ ローリング メソッドの使用方法を説明します。ローリング メソッドは、ローリング ウィンドウ集計を実行するための強力なツールであり、pandas バージョン 0.21 を使用して簡単に実装できます。参考として、このチュートリアルで使用される Jupyter Notebook へのリンクを提供します。

まず、環境をセットアップする必要があります。 pandas は numpy ライブラリに依存しているため、numpy ライブラリをインポートします。 numpy を直接広範囲に使用することはありませんが、panda が正しく機能するためには numpy が必要です。さらに、データを取得するために pandas データ リーダーをインポートし、プロットを目的として matplotlib をインポートします。マジック関数を使用することで、Jupyter Notebook 内にプロットが表示されるようにします。

次に、分析用のデータを取得します。 Yahoo Financeから金ETF(上場投資信託)のデータをダウンロードしてみます。希望の期間を指定するために、開始日を約 1 年前の大統領選挙の日に設定しました。データが正しく取得されたことを確認するために、データセットの最初の数行を表示します。このデモンストレーションの主な関心は終値であるため、他の列を削除します。さらに、ダウンロードされたデータ フレームは一連のシリーズであり、必要な特定のプロパティが欠けているため、データ フレームとしてキャストします。

これで、ローリング方法をデモンストレーションする準備が整いました。 9 日間の移動平均を表す「MA9」という新しい列をデータ フレームに追加します。ローリング方式を使用して、指定された期間または行数の平均を計算します。このプロセスを 21 日間という長い期間繰り返します。これら 2 つの新しい列は、計算した移動平均を表します。データを視覚化するために、終値、9 日移動平均、および 21 日移動平均をプロットします。

移動平均を遅らせると便利な場合があります。ローリング手法を使用するときにパラメーター「center=True」を追加すると、21 日間のウィンドウで移動平均線を 10 日戻すことができます。これにより、対応するデータと一致する遅れた線が作成されます。プロットされたグラフでこの変化を観察できます。

移動平均を計算するときは、現在の観測値が平均に含まれることに注意してください。従来の予測ツールとして使用する場合は、移動平均を前方にシフトすることができます。シフトメソッドを使用して正の整数を指定すると、移動平均を必要な期間数だけ前方にシフトできます。これにより、現在の観測値が平均に含まれないことが保証されます。

さらに、ローリング方式では、ラグ値を設定したり、負の整数を使用して移動平均を初日にシフトしたりする機能など、他のパラメータも提供されます。

さらに、オプションの価格設定でよく使用されるヒストリカル ボラティリティを計算する方法を示します。これを行うには、データ フレームに別の列を追加する必要があります。 numpy を使用して、終値を前日の終値で割って対数リターンを計算します。これらの戻り値をプロットすると、ゼロを中心としたノイズの多いグラフが表示されます。

通常、1 か月の取引日は 21 日であるため、過去のボラティリティを取得するには、21 日間のウィンドウを持つローリング標準偏差を使用します。この計算には 21 番目の観測値が含まれているため、ボラティリティを正確に反映するために、結果を 1 日前倒しします。これにより、私たちが未来の知識を持っているという暗示が避けられます。ボラティリティをプロットすると、データがより明確に表現され、金価格のボラティリティが高い時期と低い時期が明らかになります。

今後のビデオでは、パンダを使用した追加の価格分析テクニックについて説明する予定です。このチュートリアルが、移動平均とローリング標準偏差にパンダでローリング メソッドを使用する方法の入門として役立つことを願っています。

Python Pandas || Moving Averages and Rolling Window Statistics for Stock Prices
Python Pandas || Moving Averages and Rolling Window Statistics for Stock Prices
  • 2017.12.21
  • www.youtube.com
#pandas #python #rollingPlease SUBSCRIBE:https://www.youtube.com/subscription_center?add_user=mjmacartyTry my Hands-on Python for Finance course on Udemy...
 

Python、pandas、NumPy matplotlib、SciPy を使用した定量的な株価分析


Python、pandas、NumPy matplotlib、SciPy を使用した定量的な株価分析

このビデオでは、講演者が株価の変動を分析するための定量的な分析手法を紹介します。主な目的は、株価の変化が正規分布に従っているかどうかを判断し、日々の変化の方向性の偏りを特定し、価格の動きがランダム ウォークと言えるかどうかを評価することです。講演者は Jupyter ノートブックの使用について言及し、ノートブックをダウンロードするためのリンクを提供します。

講演者は、環境をセットアップし、NumPy、Pandas、Matplotlib などのデータ分析ライブラリをインポートすることから始めます。また、Pandas Data Reader ライブラリを使用して Yahoo API からライブ データをダウンロードすることについても言及しています。次に、講演者は開始日と終了日を指定して Amazon の株価データを取得します。デフォルトでは、過去 5 年間の価格データが設定されます。

データを取得した後、話者は最初の数行を調べて、入手可能な情報を確認します。高値、安値、始値、終値、出来高、調整終値を表す列を示します。彼らは主に終値に関心があるため、「終値」列または「調整終値」列のいずれかを使用するオプションについて話し合います。後者は分割を受けた株式に役立ちます。この場合、Amazon の最後の分割は 1999 年であるため、2 つの列の選択はそれほど重要ではありません。

次に、講演者は終値列を別の変数に抽出し、連続する終値の差の対数を使用して瞬間収益率を計算します。結果の値が表示されますが、最初の日の収益は計算できないため、最初の行には NaN (数値ではない) 値が含まれていることがわかります。

次に、講演者は Matplotlib を使用してデータを折れ線グラフとしてプロットすることにより、毎日の価格の変化を視覚化します。彼らは、価格変動が大幅に変動し、ゼロ付近に集中しており、5 年間を通じて予期せぬ大きなイベントが時折発生することを観察しました。特定の期間を分析するために、昨年分のデータをプロットします。これにより、密度は低くなりますが、全体的なパターンは同じになります。

価格変動の記述統計は、Pandas の「describe」関数を使用して取得されます。講演者は、統計を個別に取得するか、他のツールを使用して取得する可能性について言及していますが、目的には Pandas の方法で十分であると考えています。また、SciPy ライブラリを紹介し、SciPy stats の「describe」関数を使用して記述統計を計算する別の方法を示します。 NumPy と SciPy での欠損値の処理により、一部の値が「NaN」として表示されると述べています。

数値をわかりやすくするために、話者は値に 100 を掛けてパーセンテージに変換します。この変更により、データを変更することなく出力の読みやすさが向上します。

次に、講演者は毎日の価格変化の分布を正規分布から抽出したサンプルと比較します。彼らは Amazon の返品データのヒストグラムをプロットし、中心付近で顕著なアクティビティを示し、返品が左右に広がり、正規分布と比較して裾が太くなっていることを観察しました。次に、SciPy 統計モジュールを使用して正規分布から同じサイズのサンプルを生成し、それを Amazon の戻りデータと一緒にヒストグラムとしてプロットします。正規分布サンプルは、Amazon データよりも不均等で均一に広がっているように見えます。

次に、話者は正規変数と Amazon 返品の両方に対して統計テスト、特に尖度テストを実行します。尖度検定は、正規分布を仮定する帰無仮説を使用して、分布が正規とみなせるかどうかを検査します。検定統計量と p 値が取得され、スピーカーが結果の解釈を説明します。正規変数の場合、検定統計量はわずかに陰性であり、帰無仮説に対する強力な証拠がないことを示しています。対照的に、Amazon の返品の場合、検定統計量ははるかに大きく、帰無仮説の棄却が示唆され、Amazon の価格変動は正規分布として説明できないと結論付けられます。

違いをさらに視覚化するために、話者は頻度の代わりに比率を表示し、ヒストグラムが分布にどの程度適合するかを表示することでヒストグラムを変更します。これを行うには、最初のヒストグラムにいくつかの変更を加えます。周波数を表示する代わりに、比率を表示します。こうすることで、理論上の正規曲線をヒストグラムに重ねて、それがどの程度適合しているかを確認できます。

先に進み、正規曲線を使用してヒストグラムをプロットしましょう。 scipy.stats の Norm モジュールを使用して正規曲線を生成し、それをヒストグラムと同じグラフにプロットします。

import matplotlib.pyplot as plt

# Plot histogram
plt.hist(amazon_return, bins= 50 , density=True, alpha= 0.5 , label= 'Amazon Returns' )

# Generate normal curve
x = np.linspace(amazon_return.min(), amazon_return.max(), 100 )
normal_curve = norm.pdf(x, mu, sigma)

# Plot normal curve
plt.plot(x, normal_curve, 'r-' , label= 'Normal Distribution' )

# Add labels and legend
plt.xlabel( 'Daily Price Change' )
plt.ylabel( 'Proportion' )
plt.title( 'Histogram of Amazon Returns with Normal Distribution' )
plt.legend()

# Show the plot
plt.show()
それでは、プロットを見てみましょう。 Amazon の返品のヒストグラムと、理論上の正規分布曲線の重ね合わせがあります。この視覚的な比較により、毎日の価格の変化が正規分布にどの程度一致しているかを評価できます。

プロットを観察すると、Amazon の返品のヒストグラムが正規分布の形状から大きく逸脱していることがわかります。この分布には太い裾があり、正規分布から予想されるものと比較して、極端な価格変動がより多く発生していることを示しています。これは、Amazon 返品データの過剰な尖度を示した以前の尖度分析と一致しています。

結論として、私たちが採用した定量的な分析手法に基づいて、Amazon の株価の変化は正規分布現象として説明できないと判断できます。データは歪度や過剰な尖度などの特性を示し、正規分布からの逸脱を示します。毎日の価格変化はゼロ付近に集中しており、より大きな予測不可能な動きが頻繁に発生します。この情報は、Amazon の株価動向の性質を理解する上で貴重であり、投資戦略やリスク管理アプローチの開発に役立ちます。

Quantitative Stock Price Analysis with Python, pandas, NumPy matplotlib & SciPy
Quantitative Stock Price Analysis with Python, pandas, NumPy matplotlib & SciPy
  • 2021.06.07
  • www.youtube.com
#pythonprogramming #Stock #DataAnalysishttps://alphabench.com/data/pandas-quantitative-analysis-tutorial.html✅ Please SUBSCRIBE:https://www.youtube...
理由: