【完全版】この1本でPythonで「株価データ取得、分析、可視化、機械学習で予測」までを一挙説明!【プログラミングで株価分析】

Поделиться
HTML-код
  • Опубликовано: 7 янв 2025

Комментарии • 81

  • @kinocode
    @kinocode  2 года назад +16

    【Python学習 といえば、キノクエスト】
    キノコードが作ったプログラミング学習サービスが登場!
    「やってみたい」から「できた」へ
    ・Pythonに興味がある
    ・業務を効率化したい
    ・アウトプットしてみたい
    ・学習方法に不安がある
    ▼登録はこちら▼
    kino-code.com/kq_service_a/?.com&R6-BCFd7zM_comment

    • @albertotakada7686
      @albertotakada7686 2 года назад

      歯が、ほそえ着させてひしかはふ バスかなサマリー

    • @alitovel
      @alitovel 2 года назад

      Pm

  • @RyoHasegawa88
    @RyoHasegawa88 2 года назад +35

    12:00分頃紹介されてるデータの取得が上手くできないと思います。
    yahooがデータ取得できないようブロックしたそうです…
    以下のコードで試してみてください。
    !pip install yfinance
    import yfinance as yf
    start = '2019-06-01'
    end = '2020-06-01'
    yf.pdr_override()
    df = data.get_data_yahoo('^N225', start, end)

    • @かつぽん-f9r
      @かつぽん-f9r Год назад

      😊😊😊😊さしさささささささ😊😊😊😊

    • @かつぽん-f9r
      @かつぽん-f9r Год назад

      😊😊😊😊😊😊😊😊😊😊😊

  • @chikunchiku3185
    @chikunchiku3185 2 года назад +9

    32:08 で作成している関数:company_codeについて、'stooq'から読み込んだデータをsortする必要がありそうです。新しい日付位置のsma01/02/03がNaNになっています。
    df = data.DataReader(company_code, 'stooq')
    df = df.sort_index()

  • @fire4752
    @fire4752 2 года назад +4

    AIでチャート分析というのはハードルが高いですが、興味はあります。
    斬新ですね。

  • @chikunchiku3185
    @chikunchiku3185 2 года назад +9

    31:13 あたりのコードですが、下記のような順序で記載しないとstart,endで指定した期間のグラフ表示ができませんでした。
    df = df[(df.index>=start) & (df.index=start) & (df.index

  • @mdai9460
    @mdai9460 2 года назад +1

    【2022最新版】WIndowsにPythonの環境構築の動画で、環境構築しました。
    40:59の「import talib as ta」でエラーとなります。
    原因不明ですが、最新バージョンのAnacondaでは、PythonおよびNumPyのバージョンがDockerfileの記述内容のバージョンと合っていない事も要因と考えられます。

    • @burioka1
      @burioka1 Год назад

      僕も同じエラーが出ました。numpyとta-libをアンインストールして、再度インストールしなおしたらうまくいきました。ちなみに成功した組み合わせはnumpy-1.21.6と TA-Lib-0.4.26です。

    • @槙原弘人
      @槙原弘人 Год назад

      @@burioka1 すみません、仮想環境中のnumpyとta-libのアンインストール方法がわからないのですが、宜しければ教えていただけませんか?

  • @naomasa-os6bh
    @naomasa-os6bh Год назад

    わかりやすい

    • @kinocode
      @kinocode  Год назад

      賛辞!ありがとうございます!

  • @chikunchiku3185
    @chikunchiku3185 2 года назад +2

    01:29:43 株価は上がるか下がるか?Pythonで株価予測(分類予測)についても試してみました!
    Python3.8だと
    # LSTM構築とコンパイル関数にx_trainを私、変数modelに代入
    model = lstm_comp(x_train)
    がエラーになり動作しませんでした。。。参考までに、Python3.7の環境で実行するとうまく動作します。

  • @user-hh3yf5kt5q
    @user-hh3yf5kt5q 2 года назад +8

    神授業

  • @たまま-p2e
    @たまま-p2e Год назад

    mplfinanceもっと知りたいです!
    他にも為替データのAPIのことも知りたいです。

  • @teckteck6359
    @teckteck6359 Год назад

    12:20位の df = data.DataReader()のところで、TypeError: string indices must be integersと出るのですが、ヤフー(フィナンス?)側もしくはpandas_datareaderの仕様が変わったのでしょうか?もしくは私のタイプミス??

    • @kinocode
      @kinocode  Год назад +1

      遅れてすみません!
      仕様の変更によるものです。
      yahoo以外を指定するか、yfinaceというライブラリを使う方法があります。

    • @teckteck6359
      @teckteck6359 Год назад

      @@kinocode お忙しい中お返事頂きありがとうございます!
      色々調べてyfinance を使わせていただいてます!
      動画とても面白いです!ありがとうございます!!

  • @yosukebach
    @yosukebach 2 года назад +5

    いつも勉強になります。教えて下さい。
    start = '2019-06-01'
    end = '2022-06-01'
    df = data.DataReader('^N225','yahoo',start,end)
    の箇所で、TypeError Traceback (most recent call last) が出力されます。
    TypeError: string indices must be integers
    どう対処したらよいでしょうか?

    • @kinocode
      @kinocode  2 года назад +5

      Yahoo!のレスポンス形式が変わったことによるissueのようです。
      Yahoo!からではなく、stooqやfredなどから取得してみてください!

    • @yosukebach
      @yosukebach 2 года назад +1

      @@kinocode コメントありがとうございます。早速、試してみます。

    • @chuandkoyuki
      @chuandkoyuki Год назад

      @@yosukebach 聞いてくださってありがとうございます。同じところで引っかかっていました。

  • @田中太郎-g7l8x
    @田中太郎-g7l8x 23 дня назад

    24:30
    棒グラフ
    個別株

  • @田中太郎-g7l8x
    @田中太郎-g7l8x 23 дня назад

    40:52
    47:20 RSI

    • @田中太郎-g7l8x
      @田中太郎-g7l8x 23 дня назад

      ボリンジャーバンド
      売られすぎ買われすぎ
      標準偏差2倍を移動平均にプラスマイナスする
      97パーぐらいの確率でそこに収まるが、治らなかったら売られすぎ買われすぎ

  • @ファーブルコーヒー大好き

    1:37:00頃、翌日の始値と本日の終値の差分が翌日の終値と本日の終値の差分になってました。持ち越したときなら前者なので最初の方はOpenじゃないでしょうか?

  • @ファーブルコーヒー大好き

    こんどはscikitlearnでエラーが出るのでConfusionMatrixDisplayがつかえない。scikitlearnをupdateするとlinuxとの不具合でdocker image 起動できなくなる。かといってcondaupdateするとtensorflow読み込まなくなる。もう何回作り直してるかわからない。とりあえずここの部分は飛ばそう。

    • @ファーブルコーヒー大好き
      @ファーブルコーヒー大好き Год назад

      @@khcrujxlyvlnojbuddf5147 scikit-learnのconfusionは現在のバージョンでは対応していないらしくバージョンを変えるといろんなところで不具合が出るので諦めました。一通り終えられてdockerとGITの本も買ってある程度内容を理解したんで結果的に良かったと思います。ただ、m1はかなり不具合生じるので都度いろいろ調べていかないと行けないのでかなり大変でした。最初のpandasデータリーダーのデータ読み込みからエラーだったのでw。ヤフーファイナンスからデータ読み込みましたしね。まぁ、勉強になったので良かったです。

  • @soo.5005
    @soo.5005 2 года назад +5

    文章を入力し、コメントボタンをクリックすると投稿されます。実行します!

    • @kinocode
      @kinocode  2 года назад +3

      コメントが投稿されました。

    • @soo.5005
      @soo.5005 2 года назад +2

      @@kinocode
      ありがとうございますww
      楽しく学ばせてもらってます!!!

  • @Am-zs8rt
    @Am-zs8rt 2 года назад +1

    いつも勉強させてもらってます!
    Dockerfileを用いてJupyter labを開くところまでは行けたのですが、そのあとのtalibのインポートができません。エラーの内容としては、
    ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject
    です。
    やっぱりTalibのダウンロードは難しいですね!
    できればやり方を教えてほしいです。よろしくお願いします

  • @soichiromifune7741
    @soichiromifune7741 2 года назад

    キノさん、いつもお疲れ様です。
    こちらの内容中、わからない箇所の質問とかもキノクエストで質問可能ですか?良ければ利用したいのですが。

    • @kinocode
      @kinocode  2 года назад +1

      申し訳ないですが、キノクエストのお問合せからでは、内容に関する質問にお答えすることはできません。
      コミュニティの「質問」チャンネルにて、質問フォームに則り、質問いただくことは可能です!
      私が必ずしも回答をするのではなく、同じ課題に取り組んでいる方や、過去に学習した方、質問内容に興味を持って一緒に解決をしてくれる方、など、コミュニティメンバーが回答をしてくれます!

  • @紺谷彪馬
    @紺谷彪馬 2 года назад

    4回の交差検証をするところで、以下エラーが出たので、keramaのアップデートをしたのですが、エラーが解除できないのですが、何か方法ありますか。
    TypeError: Invalid keyword argument(s) in `compile()`: ({'metrice'},). Valid keyword arguments include "cloning", "experimental_run_tf_function", "distribute", "target_tensors", or "sample_weight_mode".

  • @tube4913
    @tube4913 2 года назад +3

    これの仮想通貨verを動画にしてほしいです!

  • @ENGOKU2
    @ENGOKU2 2 года назад +1

    プレマーケット・アフターマーケットの株価を取得することは可能でしょうか。

    • @kinocode
      @kinocode  2 года назад

      プレマーケット・アフターマーケットの株価を公開しているところでAPIなどを使用したり、もしくはWebスクレイピングで取得したり、ということととPythonを組み合わせることで可能かと思います!(Webスクレイピングの場合は、必ず規約の確認などご自身の責任のもと行なってください)
      動画で主に使用しているpandas_datareaderでは、日足データがほとんどだと思います。(全てを確認していないのですみません。)
      ▼pandas_datareader公式DataReaders
      pandas-datareader.readthedocs.io/en/latest/readers/index.html

    • @ENGOKU2
      @ENGOKU2 2 года назад +1

      @@kinocode 回答ありがとうございます。
      現在はVBAのスクレイピングで株価等取得し、手数料込みで何%の損益なのか、円換算でいくらなのか等 計算していたのですがトレード画面と株価のラグが少しあるので、良い方法がないかもう少し調べてみます。

  • @chikunchiku3185
    @chikunchiku3185 2 года назад +6

    46:34 plt.hlines(...)のところで、「ConversionError」となりました。matplotlib.pyplotのVerのせいでしょうか。。。
    参考までに、以下のように記述すると解決しました。
    plt.hlines(0, df.index.min(), df.index.max(), "grey", linestyles="dashed")

    • @otaotapapa
      @otaotapapa 2 года назад

      start,endを最初に日付型で定義しておけばよいのでは?

  • @ファーブルコーヒー大好き

    kerasとtensorflowのエラーで先に進めず、3日経ちます。サイトいろいろ見てるけどわからない。conda最新にするとエラーが他の出るし、なかなか。

  • @かんてん-w5o
    @かんてん-w5o 2 года назад

    dockerfileをbuildする際、dockerfileの8行目で
    bash: -: No such file or directoryと出てビルドすることができません。
    対処法を教えていただけないでしょうか?
    macを使って作業してます

  • @hirohiro6585
    @hirohiro6585 2 года назад +1

    動画で使用しているコードですが、どこかに記載がありますか?
    1行づつ調べてみたいのです。

    • @kinocode
      @kinocode  2 года назад +2

      概要欄に、それぞれの動画の書き起こしブログへのリンクがあります。
      そちらにipynbファイルがありますので、ダウンロードしてお試しください!
      各ページの「レッスンで使ったファイルはこちら」にあります。

  • @euaxlrmmxrai
    @euaxlrmmxrai 2 года назад

    説明の通りコードを入れてもエラーになることが多く、難しいですね。
    バージョンによる違いでしょうか?

    • @kinocode
      @kinocode  2 года назад

      どこでエラーになりますか?
      ta-libの場合、インストールがうまく行かないケースがあるようです。
      Dockerで構築する方法を紹介しましたが、Google Colaboratoryを使ってみてもよいかと思います。

    • @kinocode
      @kinocode  2 года назад +1

      そのあたりですと、ta-libが原因ではなさそうですね。
      どのようなエラーかわかりませんので、過去のお困り事例です。
      pandas_datareaderを「as data」として読み込みますが、そのあとに「data = 」と別のデータで変数を上書きしてしまうケースもありますので、変数名に注意なさってみてください。

  • @ayayagogo7
    @ayayagogo7 2 года назад +2

    いつも楽しいい動画ありがとうございます。
    為替(日本円とUSドル)
    df = data.DataReader('DEXJPUS', 'fred', start, end)
    でエラーになります?
    対処方法よろしくお願いいたします。

    • @kinocode
      @kinocode  2 года назад +1

      どんなエラーが出ていますか?
      なんとなくですが、ありそうな原因としましては、「from pandas_datareader import data」のあと、変数dataに何かを代入してしまっていないでしょうか?

    • @ayayagogo7
      @ayayagogo7 2 года назад +1

      お世話になっております。
      ソースを見直した所、変数dataには代入しておりませんでした。
      為替(日本円とUSドル)
      df = data.DataReader('DEXJPUS', 'fred', start, end)
      本日実行してみたのですが、何故か無事できるようになってました?
      df = data.DataReader('^N225', 'yahoo', start, end)
      も出来るようになってますね!(以前はエラーでした。)
      df = data.get_data_yahoo("^N225", start, end)
      こちらで対応していたのですが、どちらでも実行可能になっていますね
      ネットで色々検索して、yahooが対応しなくなったとの記事がありまので
      その影響だと思っていました。
      すみません、エラー内容が分からなくなりました。
      ありがとうございます。

    • @kinocode
      @kinocode  2 года назад +3

      それは謎ですね!
      とはいえ解決おめでとうございます!
      確かに、Restartしてみるとどこが原因かわかったりすることはありますね。
      どこかで意図せず変数に上書きしていたり、JupyterLabの場合はセル毎に実行できるので順番がおかしくなることでエラーが出たり、ということもありますし...。
      Pandas_Datareaderのバージョンによりyahooからの取得ができないようですが、最新のものですと問題なかったはずです。
      先へ進みましょう!

    • @ayayagogo7
      @ayayagogo7 2 года назад

      Pandas_Datareader ver 0.10.0 にしてからやったのですが、PCの再起動が必要だったかもしれませんね?
      もう一点質問です
      tensorflowまわりのエラーだと思いますが
      1:52:00 辺り
      4回の交差検証所でエラーになります?
      KeyError: "None of [Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
      17, 18, 19, 20, 21, 22, 23],
      dtype='int64')] are in the [columns]"
      よろしくお願いいたします。

  • @にゃんぽこ-i4k
    @にゃんぽこ-i4k 2 года назад

    使ってるマイクのURLがほしいです

    • @kinocode
      @kinocode  2 года назад

      マイクですか!
      えーっと、これはですね...
      ちょっと秘密ということでいいですか?

    • @shalybune
      @shalybune 2 года назад

      @@kinocode うざ

  • @__-cd1nd
    @__-cd1nd 2 года назад

    Thank you ^_^
    Sumimasen…
    What is the most programming languages that Japanese popular with?
    Are Japanese interested in all fields or prefer some fields more than other ?
    For example what is the popular , web development , cybersecurity, cloud computing …. etc.
    Sorry for my question I’m just curious to know what Japanese people interested in 😎

  • @凪れんたろう
    @凪れんたろう Месяц назад

    下記コマンドを入力すると、エラーが出ます。
    plt.figure(figsize=(30, 15))
    plt.bar(date,df['Volume'],label='Volume',color='grey')
    plt.legend()
    plt.show()
    TypeError: only length-1 arrays can be converted to Python scalars
    ChatGPTからアドバイスしてもらった内容をしても改善されませんでした。
    データ型エラーのようですがどのように対応したらよいでしょうか?

  • @mint9957
    @mint9957 2 года назад +4

    みんな金融街のランダムウォーカー読もうね

  • @ym8325
    @ym8325 2 года назад +8

    みんなわかってやってる? ちゃんと儲かってる?

  • @AIsennin
    @AIsennin 2 года назад

    😃😃😃

  • @さかいたさか
    @さかいたさか 2 года назад

    yahooで株価の取得は無理だった気がする

    • @kinocode
      @kinocode  2 года назад +2

      pandas_datareaderのバージョンによってサポートされていないものもありますが、現行のバージョンは問題ありませんのでお試しください!

  • @R--rh3uq
    @R--rh3uq 2 года назад

  • @キャラメルみるく-o8d
    @キャラメルみるく-o8d 2 года назад

    僕は今まで鹿しか可視化出来てなかった気がするとしか思えない( ・`д・´)

    • @kinocode
      @kinocode  2 года назад

      鹿、ですか?!
      かなりのことが可視化できますので、ぜひご自身の分析にご活用ください!