Pythonの証券分析シリーズ - 在庫データベースの操作(A)
このビデオシリーズは嗶哩嗶哩に搬送された。 見るためにクリック
金融チュートリアルシリーズのためにパート3のPythonへようこそ。このチュートリアルでは、さらにいくつかの基本的なデータ操作や可視化を当社の株式を打破するためにデータを使用します。私たちは、(前のチュートリアルで紹介されている)を使用するようにコードをされて起動します。
DTとしてインポート日時 PLTとして輸入matplotlib.pyplot matplotlibのインポートスタイルから のPdなどの輸入パンダ ウェブとしてインポートpandas_datareader.data style.use( 'ggplot') DF = pd.read_csv( 'tsla.csv'、parse_dates = Trueの場合、index_col = 0)
パンダモジュールは、組み込み機能の範囲、そしてどのようにカスタムパンダ関数を作成する方法で使用することができます。その後、我々はいくつかのカスタム関数を導入し、今の私たち、これらのデータに対して実行非常に一般的な操作できるようになる:平均移動平均を動かします。
単純移動平均は、アイデアは、時間ウィンドウ、およびウィンドウの平均価格を取ることです。その後、我々はいくつかの時間のために窓になってから、もう一度それを行います。この例では、実装します100日移動平均(100ミリアンペア)を。したがって、現在の価格を使用して、100で割った最後の99日間の最安値を追加し、現在の100日移動平均を決定します。その後、我々は1日かけて、ウィンドウを移動し、同じことを行います。そのパンダを行うには非常に簡単です:
DF [ '100ミリアンペア'] =のDF [ 'のAdj閉じる']。圧延(ウィンドウ= 100).mean()
[「100ミリアンペア」] dfを行うことを我々はここでやっていることだ、私たちは(私たちは「100ミリアンペア」と命名している場合)コンテンツは、既存の列が含ま再定義、または新しい列を作成することができます。我々は、(平均)オペレーション)カラム、ウィンドウ100「のAdj閉じる」]スクロール方法に相当記載されているDF [「100ミリアンペア」] DFアプリケーションを言い、窓は、平均値(あろう。
今、私たちはこれを行うことができます:
印刷(df.head())
日オープン高い低いを閉じるボリュームの\ 日 2010-06-29 2010-06-29 19.000000 25.00 17.540001 23.889999 18766300 2010-06-30 2010-06-30 25.790001 30.42 23.299999 23.830000 17187100 2010-07-01 2010-07-01 25.000000 25.92 20.270000 21.959999 8218800 2010-07-02 2010-07-02 23.000000 23.10 18.709999 19.200001 5139800 2010-07-06 2010-07-06 20.000000 20.00 15.830000 16.110001 6866900 調整]閉じる100mAの 日 2010-06-29 23.889999はNaN 2010-06-30 23.830000 NaNの 2010-07-01 21.959999はNaN 2010-07-02 19.200001はNaN 2010-07-06 16.110001はNaN
何が起こったのか?100mAのコラムでは、我々は唯一のNaNを参照してください。我々は最初の行100は、任意のデータを持っていない、100が前に計算された100の移動平均、理論的に必要なデータポイントを選択しました。NaNは「非数」を意味します。パンダでは、データが欠落して多くのことを行うことを決定することができますが、今のところ、のは実際には最小のサイクルパラメータを変更してみましょう:
DF [ '100ミリアンペア'] =のDF [ 'のAdj閉じる']。圧延(ウィンドウ= 100、min_periods = 0).mean() プリント(df.head())
日オープン高い低いを閉じるボリュームの\ 日 2010-06-29 2010-06-29 19.000000 25.00 17.540001 23.889999 18766300 2010-06-30 2010-06-30 25.790001 30.42 23.299999 23.830000 17187100 2010-07-01 2010-07-01 25.000000 25.92 20.270000 21.959999 8218800 18.709999 19.200001 5139800 2010-07-02 2010-07-02 23.000000 23.10 2010-07-06 2010-07-06 20.000000 20.00 15.830000 16.110001 6866900 調整]閉じる100mAの 日 2010-06-29 23.889999 23.889999 2010-06-30 23.830000 23.860000 2010-07-01 21.959999 23.226666 2010-07-02 19.200001 22.220000 2010-07-06 16.110001 20.998000
力で今、見て、そして今、我々はそれを見てみたいです!しかし、我々は、少しそれの少し複雑なものをシンプルなグラフを見たことがありますか?
AX1 = plt.subplot2grid((6,1)、(0,0)、ROWSPAN = 5、COLSPAN = 1) AX2 = plt.subplot2grid((6,1)、(5,0)、ROWSPAN = 1、COLSPAN = 1、sharex = AX1)
基本的に、我々は二つのサブグラフを作成したいと言うと、二つのサブマップは6x1グリッドのように動作しますが、私たちは、6行1を持っています。図(0,0)からの最初の子は、ライン5を横切るグリッド、及びクロスで開始します。次の6x1グリッドは、シャフト上に配置され、それは(5,0)で始まり、行1を横切ります。第二のシャフトはまた、常にX軸とx軸AX1、およびその逆に整列されることを意味sharex = AX1、AX2を有しています。今、私たちは私たちの土地を作りました:
ax1.plot(df.index、DF [ 'のAdj閉じる']) ax1.plot(df.index、DF [ '100ミリアンペア']) ax2.bar(df.index、DF [ 'ボリューム']) plt.show( )
要約すると、我々は近い第一の軸とボリューム100ミリアンペア、第二軸を描きます。我々の結果:
これまでの完全なコード:
DTとしてインポート日時 PLTとして輸入matplotlib.pyplot matplotlibのインポートスタイルから のPdなどの輸入パンダ ウェブとしてインポートpandas_datareader.data style.use( 'ggplot') DF = pd.read_csv( 'tsla.csv'、parse_dates = Trueの場合、index_col = 0) [ '100ミリアンペア'] =のDF [ 'のAdj閉じる'] DF。圧延(ウィンドウ= 100、min_periods = 0).mean() プリント(df.head()) AX1 = plt.subplot2grid((6,1) 、(0,0)、ROWSPAN = 5、COLSPAN = 1) AX2 = plt.subplot2grid((6,1)、(5,0)、ROWSPAN = 1、COLSPAN = 1、sharex = AX1) ax1.plot(DF .INDEX、[ 'のAdj閉じる'])DF ax1.plot(df.index、DF [ '100ミリアンペア']) DF ax2.bar(df.index、[ 'ボリューム']) plt.show()
次のいくつかのセクションのチュートリアルでは、パンダの図形データでキャンドルホルダーのリサンプリングを行い、matplotlibの使用についての詳細を学ぶ方法を学習します。
このビデオシリーズは嗶哩嗶哩に搬送された。 見るためにクリック
金融チュートリアルシリーズのためにパート3のPythonへようこそ。このチュートリアルでは、さらにいくつかの基本的なデータ操作や可視化を当社の株式を打破するためにデータを使用します。私たちは、(前のチュートリアルで紹介されている)を使用するようにコードをされて起動します。
DTとしてインポート日時 PLTとして輸入matplotlib.pyplot matplotlibのインポートスタイルから のPdなどの輸入パンダ ウェブとしてインポートpandas_datareader.data style.use( 'ggplot') DF = pd.read_csv( 'tsla.csv'、parse_dates = Trueの場合、index_col = 0)
パンダモジュールは、組み込み機能の範囲、そしてどのようにカスタムパンダ関数を作成する方法で使用することができます。その後、我々はいくつかのカスタム関数を導入し、今の私たち、これらのデータに対して実行非常に一般的な操作できるようになる:平均移動平均を動かします。
単純移動平均は、アイデアは、時間ウィンドウ、およびウィンドウの平均価格を取ることです。その後、我々はいくつかの時間のために窓になってから、もう一度それを行います。この例では、実装します100日移動平均(100ミリアンペア)を。したがって、現在の価格を使用して、100で割った最後の99日間の最安値を追加し、現在の100日移動平均を決定します。その後、我々は1日かけて、ウィンドウを移動し、同じことを行います。そのパンダを行うには非常に簡単です:
DF [ '100ミリアンペア'] =のDF [ 'のAdj閉じる']。圧延(ウィンドウ= 100).mean()
[「100ミリアンペア」] dfを行うことを我々はここでやっていることだ、私たちは(私たちは「100ミリアンペア」と命名している場合)コンテンツは、既存の列が含ま再定義、または新しい列を作成することができます。我々は、(平均)オペレーション)カラム、ウィンドウ100「のAdj閉じる」]スクロール方法に相当記載されているDF [「100ミリアンペア」] DFアプリケーションを言い、窓は、平均値(あろう。
今、私たちはこれを行うことができます:
印刷(df.head())
日オープン高い低いを閉じるボリュームの\ 日 2010-06-29 2010-06-29 19.000000 25.00 17.540001 23.889999 18766300 2010-06-30 2010-06-30 25.790001 30.42 23.299999 23.830000 17187100 2010-07-01 2010-07-01 25.000000 25.92 20.270000 21.959999 8218800 2010-07-02 2010-07-02 23.000000 23.10 18.709999 19.200001 5139800 2010-07-06 2010-07-06 20.000000 20.00 15.830000 16.110001 6866900 調整]閉じる100mAの 日 2010-06-29 23.889999はNaN 2010-06-30 23.830000 NaNの 2010-07-01 21.959999はNaN 2010-07-02 19.200001はNaN 2010-07-06 16.110001はNaN
何が起こったのか?100mAのコラムでは、我々は唯一のNaNを参照してください。我々は最初の行100は、任意のデータを持っていない、100が前に計算された100の移動平均、理論的に必要なデータポイントを選択しました。NaNは「非数」を意味します。パンダでは、データが欠落して多くのことを行うことを決定することができますが、今のところ、のは実際には最小のサイクルパラメータを変更してみましょう:
DF [ '100ミリアンペア'] =のDF [ 'のAdj閉じる']。圧延(ウィンドウ= 100、min_periods = 0).mean() プリント(df.head())
日オープン高い低いを閉じるボリュームの\ 日 2010-06-29 2010-06-29 19.000000 25.00 17.540001 23.889999 18766300 2010-06-30 2010-06-30 25.790001 30.42 23.299999 23.830000 17187100 2010-07-01 2010-07-01 25.000000 25.92 20.270000 21.959999 8218800 18.709999 19.200001 5139800 2010-07-02 2010-07-02 23.000000 23.10 2010-07-06 2010-07-06 20.000000 20.00 15.830000 16.110001 6866900 調整]閉じる100mAの 日 2010-06-29 23.889999 23.889999 2010-06-30 23.830000 23.860000 2010-07-01 21.959999 23.226666 2010-07-02 19.200001 22.220000 2010-07-06 16.110001 20.998000
力で今、見て、そして今、我々はそれを見てみたいです!しかし、我々は、少しそれの少し複雑なものをシンプルなグラフを見たことがありますか?
AX1 = plt.subplot2grid((6,1)、(0,0)、ROWSPAN = 5、COLSPAN = 1) AX2 = plt.subplot2grid((6,1)、(5,0)、ROWSPAN = 1、COLSPAN = 1、sharex = AX1)
基本的に、我々は二つのサブグラフを作成したいと言うと、二つのサブマップは6x1グリッドのように動作しますが、私たちは、6行1を持っています。図(0,0)からの最初の子は、ライン5を横切るグリッド、及びクロスで開始します。次の6x1グリッドは、シャフト上に配置され、それは(5,0)で始まり、行1を横切ります。第二のシャフトはまた、常にX軸とx軸AX1、およびその逆に整列されることを意味sharex = AX1、AX2を有しています。今、私たちは私たちの土地を作りました:
ax1.plot(df.index、DF [ 'のAdj閉じる']) ax1.plot(df.index、DF [ '100ミリアンペア']) ax2.bar(df.index、DF [ 'ボリューム']) plt.show( )
要約すると、我々は近い第一の軸とボリューム100ミリアンペア、第二軸を描きます。我々の結果:
これまでの完全なコード:
import datetime as dt import matplotlib.pyplot as plt from matplotlib import style import pandas as pd import pandas_datareader.data as web style.use('ggplot') df = pd.read_csv('tsla.csv', parse_dates=True, index_col=0) df['100ma'] = df['Adj Close'].rolling(window=100, min_periods=0).mean() print(df.head()) ax1 = plt.subplot2grid((6,1), (0,0), rowspan=5, colspan=1) ax2 = plt.subplot2grid((6,1), (5,0), rowspan=1, colspan=1, sharex=ax1) ax1.plot(df.index, df['Adj Close']) ax1.plot(df.index, df['100ma']) ax2.bar(df.index, df['Volume']) plt.show()
在接下来的几节教程中,我们将学习如何通过Pandas数据重采样制作烛台图形,并学习更多关于使用Matplotlib的知识。