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

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

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

台風を恐れる必要はありません。人工知能はすでに私たち自身と敵を理解するのに役立っています。

以前、河南省鄭州市は「花火」がもたらした大雨により洪水災害に見舞われた。こうした背景から、「花火」の...

自動化とロボット工学:どちらがあなたの会社に適していますか?

ロボット工学と自動化には違いがありますか? 自動化が自分に適しているかどうかわからない人はたくさんい...

人工知能の未来は必ずしも明るいとは限らない

私はいつも映画に出てくるロボットが大好きで、悪いロボットも好きです。しかし不安なのは、私たちの周りの...

日本は人間支援ロボットの世界標準を確立したいと考えている

日本は人間支援ロボットの規格策定に向け、国際標準化機構(ISO)と協議を行っている。ロボット工学に対...

畳み込みニューラルネットワークに関する15の質問:CNNと生物視覚システムの研究と探究

CNN 開発の初期には、脳のニューラル ネットワークから多くのインスピレーションを得ました。現在では...

プログラマーから見たChatGPT

著者 |ブライト・リャオ私はもともとAI技術に興味があったソフトウェア開発エンジニアで、ディープラー...

...

...

Java プログラミング スキル - データ構造とアルゴリズムの「スタック」

[[387145]]基本的な紹介1. スタックはFILO(先入れ後出し)順序付きリストです2. ス...

家族に王位継承者はいないのですか?それは問題ではない、誰かがAIを使っておとぎ話の魔法の世界を作ったのだ

家には鉱山も王座もありませんが、王子様やお姫様になりたいという夢を持たない人がいるでしょうか?最近、...

データ詐欺師はどこにでもいる。いわゆる「万能薬」を暴く方法

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

クラウドコンピューティング機械学習プラットフォームの選び方

クラウド コンピューティング 機械学習プラットフォームは、機械学習のライフ サイクル全体をサポートす...

GitHub ホットリスト 1 位: 数百万のトークン コンテキスト、動画も生成可能、カリフォルニア大学バークレー校制作

今日の GitHub ホット リストのトップは、最新のオープン ソース ワールド モデルです。コンテ...