AI 株神: 機械学習を使って株価を予測するには?

AI 株神: 機械学習を使って株価を予測するには?

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)から転載したものです。

まず、この記事は H2o.ai 機械学習フレームワークの開始方法を示すだけであり、投資や財務に関するアドバイスを目的としたものではないことを強調しておきます。この記事のみに基づいて投資や財務管理の決定を行わないでください。

[[333548]]

この記事では、R 言語と H2o.ai 機械学習フレームワークを使用して株価を予測する方法を説明します。このフレームワークは Python でも使用できますが、著者は R 言語に精通しているため、この記事では R 言語を使用してデモンストレーションを行います。詳細な手順は次のとおりです。

  1. データの収集
  2. データのインポート
  3. データの整理と操作
  4. 分割テストとトレーニングの観察
  5. モデルを選択
  6. モデルのトレーニング
  7. モデルによるデータのテスト
  8. 評価結果
  9. 必要に応じてモデルを改善する
  10. 結果に満足するまで、手順 5 から 10 を繰り返します。

この論文で研究されている質問は、「今後 1 時間の株価の終値はいくらになるか」です。

データの照合

MetaTrader ソフトウェアを通じて予測したい資産のデータをインポートした後、いくつかの変数を変更する必要があります。まず、変数名を定義します。

  1. #変数名の設定
  2. col_names < - c("日付", "始値", "高値", "安値", "終値", "ティック", "出来高")
  3. colnames(データ) < - col_names
  4. ヘッド(データ)

データ形式は次のとおりです。


始値、最高値、最低値、終値、取引量など、利用可能なデータのみを使用するため、他のデータをクリアする必要があります。

  1. データ$日付< - NULL
  2. データ$ティック< - NULL

次の観測期間の終値を知りたいので、次の値を前の行に移動する必要があります。関数を作成し、元のデータセットの変数を新しいデータで設定する必要があります。

  1. # 指定された変数の n 行を上にシフトする
  2. シフト< -関数(x, n) {
  3. c(x[-(seq(n))], 繰り返し(NA, n))
  4. }
  5. データ$シフト< -シフト(データ$Close, 1)
  6. 末尾(データ)

前の行で変数 ClosePrice に値を割り当てていることに注意してください。したがって、最後の行には NA があり、na.omit() 関数を使用してこの行をスキップします。

  1. #NA 観測値を削除
  2. データ< - na.omit(データ)
  3. write.csv(データ、"data.csv")

データの準備ができたので、モデリングを開始できます。

データの分割

[[333549]]

H2O.ai を使用したデータセグメンテーション。 H2O.ai は、人工知能モデルの分析とトレーニングのための完全なソリューションを提供します。使い方は非常に簡単で、データサイエンスの知識がなくても複雑な問題を解決することができます。まずH2O.aiをダウンロードします:

  1. #パッケージのインストール
  2. インストールパッケージ("h2o")
  3.  
  4. #ライブラリの読み込み
  5. ライブラリ(h2o)

インストールがロードされたら、モデリングに使用する仮想マシンを起動します。仮想マシンを起動するときに、必要なコア数とメモリ パラメータを設定する必要があります。

  1. #すべてのスレッド (-1) と 16 GB のメモリを使用して仮想マシンを初期化します
  2. h2o.init( nthreads = -1、 max_mem_size = "16g" )

データをインポート:

  1. h2o.importFile("data.csv")
  2. h2o.describe(データ)

次に、データセット内で予測する変数と、モデルのトレーニングに使用する変数を定義します。

  1. y < - 「シフトされた」#予測したい変数
  2. x < - setdiff(names(data), y)

その後、データはトレーニング用とテスト用に分割され、80% がトレーニング データとして使用されます。

  1. パーツ< - h2o.splitFrame(データ、.80)
  2. 列車< -部品[[1]]
  3. テスト< -部品[[2]]

これらの手順を完了したら、H2O.ai が魔法を生み出す様子を見てみましょう。

モデルを選択

すべてのデータ サイエンティストが独自の機械学習プロジェクトを作成するときに実行する必要があるタスクの 1 つは、予測を行うための最適なモデルまたはモデル セットを特定することです。特定のタスクに最適なソリューションを決定するには、多くの知識、特に深い数学的基礎が必要です。

H2O.ai を使用すると最適なモデルを選択できるため、他の問題を解決するために時間を節約できます。これが自動モデリングです。これは問題を解決する最も効率的な方法ではないかもしれませんが、試してみる価値はあります。

モデルのトレーニング

モデルを作成するには、automl 関数を呼び出して必要なパラメータを渡す必要があります。

  1. オートモデル< - h2o.automl(x, y, トレーニング、テスト、 max_runtime_secs = 120 )

数分後には、パフォーマンス順にランク付けされたモデルのリストが表示されます。


モデルの使用

これで、モデルを使用してデータをテストできます。また、モデルとテスト データを引数として predict 関数を呼び出すことで、モデルを使用して観測されていないデータでのパフォーマンスを評価することもできます。

  1. 予測< - h2o.predict(automodel@leader, test)

さて、1時間待って、あなたの予測が当たるかどうか見てみましょう。

免責事項: この記事は投資アドバイスではありません。株価を予測するのは簡単な作業ではありません。この記事は、H2O.ai を使用して機械学習の問題を簡単に解決できることを単純に説明しています。株価の変動を予測するのは非常に簡単ですが、予測が常に正しい、または正確であるとは限りません。

<<:  Microsoft XiaoIce がスピンオフしました!沈向陽氏が会長に就任、「小氷の父」がCEOに就任、中国での事業化を目指す

>>:  人工知能の主な発展とその原動力

ブログ    
ブログ    

推薦する

...

...

タオバオのメイン検索リコールシナリオにおけるマルチモーダル技術の探究

検索リコールは検索システムの基礎として、効果向上の上限を決定します。私たちが直面している主な課題は、...

...

グラフアルゴリズムシリーズ: 無向グラフのデータ構造

[[393944]]この記事はWeChatの公開アカウント「Beta Learns JAVA」から転...

XGBoost機械学習モデルの意思決定プロセス

XGBoost アルゴリズムは、Kaggle やその他のデータ サイエンス コンテストで優れた結果...

LLaVA-1.6は非常に強力で、Gemini Proを上回り、推論機能とOCR機能が向上しています。

昨年 4 月、ウィスコンシン大学マディソン校、マイクロソフト リサーチ、コロンビア大学の研究者が共同...

...

...

...

無人タクシーが警察に止められた後逃走! AI: 怖かったです。

警察が車を止めるのはよくあることですが、AI が運転するタクシーを止める警察を見たことがありますか?...

Stability AI、GPUなしでローカルで実行できるStable Code 3Bモデルをリリース

文芸グラフィックの分野で非常に人気となっている Stability AI は、本日、2024 年向け...

モデル融合、ハイブリッド専門家、小規模LLM、2024年のLLMの発展方向を理解するためのいくつかの論文

過去2023年間で、大規模言語モデル(LLM)は潜在力と複雑さの両面で急速に成長しました。 2024...

デジタル経済は新たな時代へ:インターネットが主導権を握り、ビッグデータと人工知能が注目の的

[[208505]]強固な経済基盤がなければ、豊かな国と強い国民は実現できません。中国共産党第19回...