株価予測モデル [選択科目(elective courses)]
今週は、マシンラーニングのファイナルプロジェクトに多くの時間を割きました。
結果として、サポートベクターマシンとディシジョンツリーを利用したシステムが2つが完成しました。
S&P500が上昇するか下降するかをインプットデータ(1日分のUSD/EURとDAX, HangSeng, Dow(DJIA), Nikkei225の日足の始値、高値、安値、終値の変動率)から予測するシステムです。DowとUSD/EURはS&Pと時刻が同じなので、前日のものを使い、他の指数は時差があるので、同じ日付のデータを使用しました。
スポンサードリンク
データを取得して、システムに入れられる形に変形するのにも意外と時間がかかりました。他にも候補のインプットデータは沢山取得したのですが、とりあえずこのインプットデータで試してみました。
トレーニングデータを2000年〜2014年、テストデータを2015-2016としました。テストデータに対しては、正答率とf1値を計算してシステムの評価をしています。
結果として、どちらのシステムもテストデータに対しての正答率が大体68%と想像していたよりもいい値が出てきて、逆にシステムが正しいかかなり心配しています。(グーグルが作ったS&P500予測のニューラルネットワークモデルで正答率70%を超えるものもあるので、68%もありえない訳ではないと思いますが。)
パラメーターの最適化も行い、サポートベクターマシンではどのカーネルを使って、カーネルトリックをするのか、またコストパラメータやカーネルのパラメータも色々とシステムに試させてベストのものを使用するようにしています。結果的に、カーネルはlinearが一番いい値を出しています。
初めての事ばかりなので、間違っている事をしている可能性が大いにありますが、やりたかった事は全て実装できたので、個人的には満足しています。
ここからの分析はグループメンバーの人達におあずけして、私はフィードフォワードニューラルネットワークで同様の株価予測システムの構築にチャレンジしたいと思います。
スポンサードリンク
結果として、サポートベクターマシンとディシジョンツリーを利用したシステムが2つが完成しました。
S&P500が上昇するか下降するかをインプットデータ(1日分のUSD/EURとDAX, HangSeng, Dow(DJIA), Nikkei225の日足の始値、高値、安値、終値の変動率)から予測するシステムです。DowとUSD/EURはS&Pと時刻が同じなので、前日のものを使い、他の指数は時差があるので、同じ日付のデータを使用しました。
スポンサードリンク
データを取得して、システムに入れられる形に変形するのにも意外と時間がかかりました。他にも候補のインプットデータは沢山取得したのですが、とりあえずこのインプットデータで試してみました。
トレーニングデータを2000年〜2014年、テストデータを2015-2016としました。テストデータに対しては、正答率とf1値を計算してシステムの評価をしています。
結果として、どちらのシステムもテストデータに対しての正答率が大体68%と想像していたよりもいい値が出てきて、逆にシステムが正しいかかなり心配しています。(グーグルが作ったS&P500予測のニューラルネットワークモデルで正答率70%を超えるものもあるので、68%もありえない訳ではないと思いますが。)
パラメーターの最適化も行い、サポートベクターマシンではどのカーネルを使って、カーネルトリックをするのか、またコストパラメータやカーネルのパラメータも色々とシステムに試させてベストのものを使用するようにしています。結果的に、カーネルはlinearが一番いい値を出しています。
初めての事ばかりなので、間違っている事をしている可能性が大いにありますが、やりたかった事は全て実装できたので、個人的には満足しています。
ここからの分析はグループメンバーの人達におあずけして、私はフィードフォワードニューラルネットワークで同様の株価予測システムの構築にチャレンジしたいと思います。
スポンサードリンク