いいえ、そうではありません。本当に一生懸命頑張らないと金持ちにならないでしょう…それでもいいのですが、MLだけで株価を予測することはできませんが、今注目しています!
Cloudera Operational Database(COD)に裏打ちされたWebベースのアプリケーションを開発することがいかに素晴らしくて簡単かについての以前のブログ投稿から続けて、CODを別のCDPクラウドエクスペリエンスであるCloudera Machine Learning(CML)と統合する小さなプロジェクトを開始しました。
このデモでは、過去のデータに基づいて株式の始値の振る舞いを予測しようとします。つまり、株価の始値が上がるか下がるかを予測します。私はデータサイエンティストではありませんが、その方法についてオンラインで多くの例があります(コードサンプルをいくつか取得して修正し、CODで動作するように調整しました)。この目的のために、LSTM(Long Short-term memory)アルゴリズムを使用します。 RNN一般(リカレントニューラルネットワーク)およびLSTMは、特に時系列データで非常にうまく機能します
誤解を避けるために、私たちは株式市場の専門家であるとは主張していません。このブログ投稿の内容は、いかなる形であれ財務上のアドバイスと見なされるべきではありません。これは、Clouderaのソフトウェアを使用してソリューションを開発する方法の純粋な例です。
このデモで使用される主なコンポーネント:
- Cloudera Operational Database(COD)は、以前の投稿で述べたように、Cloudera Data Platform(CDP)のエクスペリエンスとして利用できるマネージドdbPaaSソリューションです
- CMLは、データサイエンティストとMLエンジニア向けに設計されており、コードから本番環境までMLプロジェクトを作成および管理できます。 CMLの主な機能:
- データサイエンティスト向けの開発環境、分離、コンテナ化、弾力性
- Production ML Toolkit – MLモデルの展開、提供、監視、およびガバナンス
- アプリの提供–MLユースケース向けのカスタムアプリケーションを構築して提供する
- ビジネスユーザーへの洞察のための事前にパッケージ化されたアプリケーション
- Clouderaデータ視覚化を使用したダッシュボードとアプリのシンプルなドラッグアンドドロップによる構築
- ユースケースのスターターキットとしてのテンプレートアプリケーション
- 株式データ–株式データを取得するために、アルファバンテージサービス(無料バージョン)を使用しました。基本的に、これは株式統計の毎日の要約を取得できるサービスです(オープン、クローズ、ロー、ハイボリューム)
アプリケーションを構築する
最初に行う必要があるのは、CODでデータベースを作成することです。
1. ClouderaDataPlatformパブリッククラウドコントロールプレーンにログインします
2.オペレーショナルデータベースを選択し、「データベースの作成」をクリックします
3.環境を選択し、データベースに名前を付けます
4.データベースが起動して実行されたら、[JDBC]タブに切り替えます
5.CDPワークロードパスワードを設定します
6.次に、CMLに移動しましょう–コントロールプレーンに戻り、[機械学習]、[ワークスペースのプロビジョニング]の順にクリックします。ワークスペースに名前を付けて、使用する環境を選択します
7.ワークスペースがプロビジョニングされたら、新しいプロジェクトを作成し、名前を付けて、ソースコードにgitを使用します。すべてのソースコードはここにあります。
8.プロジェクトが作成されると、プロジェクトディレクトリ内のすべてのファイルが表示されます。
9.追加のロジスティクスはほとんどありません–データベースへのアクセスを保存するプロジェクトの環境変数とアルファバンテージAPIキーを作成する必要があります。これを行うには、[プロジェクト設定]->[詳細]タブに移動します
10.それでは、プロジェクトの実行を開始しましょう。「新しいセッション」をクリックし、セッションに名前を付け、「python3」とリソースプロファイルを選択します
11.ターミナルまたは下部のCLIで、「pip3install-rrequirements.txt」を実行して必要なすべてのライブラリをインストールします
12.次のステップは、データがデータベースに保存されるテーブルを作成することです。そのためには、セットアップスクリプトを実行します。
13.それでは、モデルのテストを始めましょう。 runner.pyに移動して実行します。基本的に、このスクリプトは次のことを行います。
a)アルファバンテージから毎日の株式データを取得します
b)基本的なデータ変換
c)Clouderaオペレーショナルデータベースにデータを保存します
d)モデルを実行し、モデルファイル(tech_ind_model.py)を作成します
e)過去120日間の予測を実行します
f)正確なレートで株式を売買した場合に予測される収益を計算します。
14.プログラムの実行中に、各株式のデータを収集し、それをCODにアップロードし、予測を実行し、予測価格と現在の価格を表示するグラフをプロットしていることがわかります。グラフはほとんどの場合傾向が非常に似ていることを示していますが、わずかな違いでもこれらの推奨事項からの総収益に影響を与える可能性があります。実行の出力には、各株式に関する以下の情報が含まれます。
a)推奨事項:保持/購入/販売
b)最後に予測された価格:最後に予測された価格
c)価格:最終価格
d)予測:次の始値の予測
e)信号:高/低–推奨は強い/ない
15.前回プログラムを実行したとき、推奨事項に基づいてほとんどの株でお金を失うことになりましたが、同時に、最大20%の利益を予測したものもいくつかありました!!!
現在、一般的なアルゴリズム取引と株価の予測は、長年にわたって行われているトピックです。このような機械学習のユースケースを運用化するには、使いやすく、スケーラブルで、エンタープライズ対応の強力なツールが必要です。
Cloudera Operational Databaseは、ランダムな読み取り/書き込みに1秒未満のレイテンシを提供し、金融サービス業界で使用されるようなリアルタイムアプリケーションにまさに必要なものです。
CMLとCODの使用を開始するには…
お役に立てば幸いです
ハッピーコーディング!!