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に就任、中国での事業化を目指す

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

ブログ    
ブログ    

推薦する

...

産業用AIが製造業に革命を起こす5つの方法

人工知能 (AI) は、製造業において総合設備効率 (OEE) と生産時の初回歩留まりを向上させるた...

大規模ウェブサイトのアルゴリズムとアーキテクチャについての簡単な説明(パート 2)

順序前回の記事「大規模 Web サイトのアルゴリズムとアーキテクチャに関する簡単な説明 (パート 1...

...

...

IIoTとAIは大きな課題に直面している

AI は IIoT から生成される膨大な量のデータを管理できるため、その基盤となるアーキテクチャはセ...

また鉄の飯碗が割れた!今後、これらの仕事は人工知能に置き換えられるかもしれません!

この時代に本物の鉄丼なんて存在しない!最近、広東省の高速道路で非接触型決済が導入されたというニュース...

SLAM の新時代を切り開きましょう! NeRFと3D GS法のレビュー

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

...

モザイクでも止められない!これらのAIアルゴリズムはワンクリックで高解像度を実現できます

ぼやけた写真が好きな人はいません。本当の顔を復元したいという衝動にかられたことはありませんか? AI...

美団点評におけるディープラーニングの応用

序文近年、ディープラーニングは音声、画像、自然言語処理などの分野で優れた成果を上げており、最も注目さ...

自然言語処理の実践: 機械学習によく使われるツールとテクニック

多くの自然言語処理には機械学習が関係しているため、機械学習の基本的なツールとテクニックを理解しておく...

Amazon クラウド テクノロジーにより、Yidiantianxia は AIGC の波の中で新しいマーケティング パラダイムを構築できるようになりました。

生成的 人工知能 それがもたらす熱狂は継続し、すべての人の思考を刺激し続けます。今日の「百モデル戦争...

...

今後30年間で、これらのスキルを子供たちに教えなければ、「人工知能」によって仕事を失うことになるだろう

[[225789]] 1970年代、80年代生まれの人たちは、どんな背景を持っていても、名門大学に進...